2015-02-06 21 views
0

我是一個將被其他開發者公開的SDK。到目前爲止,我已經使用Dagger構建了我的SDK,但我不希望開發人員在使用SDK時依賴Dagger。有沒有辦法根據是否啓用匕首來設置@Inject依賴關係?有沒有什麼好的解決方案?在Android/Java中構建SDK時如何使Dagger成爲可選項?

例如,如果用戶使用Dagger,我希望將其注入,否則以某種方式由我的系統設置。

@Inject 
SensorManager mSensorManager; 

回答

1

您可以檢查dagger.ObjectGraph類是否可以加載 - 然後才調用ObjectGraph.create。

如果不包含匕首,則mSensorManager將爲空。

話雖如此,似乎是基於類路徑中庫的存在作出決定的脆弱設置。但是,沒有更多的上下文,很難說什麼是更好的解決方案。

+0

我最終刪除了匕首......謝謝! – Kamilski81 2015-02-10 16:05:19

相關問題