我在instructions from the official docs之后将Dagger2添加到我的Android应用中。我之前使用过Dagger和Dagger2,似乎Google已经修改了Android的实现,如下所示:
dagger.android中的类提供了一种简化此模式的方法。
...
接下来,让您的Application实现HasDispatchingActivityInjector和@Inject一个DispatchingAndroidInjector从activityInjector()方法返回:
它看起来很棒,但我无法在任何地方找到包dagger.android
,在浏览存储库时也找不到任何内容,HasDispatchingActivityInjector
根本没有给谷歌点击任何内容。这些类在文档中描述了哪些?
我可以找到所有其他Dagger2类(模块等),所以libs就在那里。
来自build.gradle
的匕首依赖:
compile 'com.google.dagger:dagger:2.9'
compile 'com.google.dagger:dagger-android:2.9'
annotationProcessor 'com.google.dagger:dagger-compiler:2.9'
答案 0 :(得分:6)
代码列在google/dagger Github repository下{4}}下,4天前(2017年2月13日太平洋标准时间下午3点58分)。这包括java/dagger/android
subtree。
您的gradle文件是正确的:Dagger的Android扩展程序可通过相邻的dagger-android
包提供,而不是通过主dagger
包。 HasDispatchingActivityInjector
答案 1 :(得分:6)
dagger.android
个类。
让您的代码正常工作,您必须从build.gradle
更新您的匕首依赖项:
compile 'com.google.dagger:dagger:2.10'
compile 'com.google.dagger:dagger-android:2.10'
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'