在Android / Java中构建SDK时如何使Dagger可选?

时间:2015-02-06 18:11:13

标签: android sdk dagger

我是一个将为其他开发者公开的SDK。到目前为止,我已经使用Dagger构建了我的SDK,但我不希望开发人员在使用SDK时依赖Dagger。有没有办法根据是否启用了dagger来设置@Inject依赖项?对此有什么好的解决方案吗?

例如,如果用户使用Dagger,我希望注入此项,否则我的系统会以某种方式设置。

@Inject
SensorManager mSensorManager;

1 个答案:

答案 0 :(得分:1)

您可以检查是否可以加载dagger.ObjectGraph类 - 然后才调用ObjectGraph.create。

如果未包含匕首,则mSensorManager将为空。

话虽如此,基于类路径中存在库的决策似乎是脆弱的设置。但是,如果没有更多的背景,很难说什么是更好的解决方案。