簡體   English   中英

在Android / Java中構建SDK時,如何使Dagger可選?

[英]How do make Dagger optional when buildling an SDK in Android/Java?

我是一個將對其他開發人員公開的SDK。 到目前為止,我已經使用Dagger構建了SDK,但是我不希望開發人員在使用SDK時依賴Dagger。 有沒有一種方法可以根據是否已啟用匕首來設置@Inject依賴項? 有什么好的解決方案嗎?

例如,如果用戶使用的是Dagger,我希望注入它,否則由我的系統設置。

@Inject
SensorManager mSensorManager;

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

如果不包括匕首,則mSensorManager為null。

話雖這么說,但根據類路徑中是否存在庫來做出決定似乎很脆弱。 但是,如果沒有更多背景信息,很難說出一種更好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM