DaggerAppComponent未创建
随着匕首2.10我曾经能够通过做创建应用程序组件
sAppComponent = DaggerAppComponent.builder() .appModule(new AppModule(this)) .sessionModule(new SessionModule()) .netModule(new NetModule()) .dataModule(new DataModule()) .build();
我已经使用AndroidInjector的活动,一切都很好。 现在我切换到2.11,我无法find创建应用程序组件的方式。 在谷歌教程中,我看到:
DaggerYourApplicationComponent.create() .inject(this);
被添加到应用程序的onCreate中。 在我的情况DaggerYourApplicationComponent = DaggerAppComponent
。 问题是DaggerAppComponent类不再被创建。
我有:
public class App extends android.support.multidex.MultiDexApplication implements HasActivityInjector { @Inject DispatchingAndroidInjector mDispatchingActivityInjector; @Override public void onCreate() { super.onCreate(); sAppComponent = DaggerAppComponent.create().inject(this); //here the error
和:
@Singleton @Component(modules = { AppModule.class, MainActivityModule.class, ... }) public interface AppComponent { void inject(App app); ... }
在build.gradle文件中我有:
def daggerVer = 2.11 compile "com.google.dagger:dagger:$daggerVer" compile "com.google.dagger:dagger-android-support:$daggerVer" annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVer"
好的对不起,噪音。 我愚蠢的错误:当我切换到2.11我复制build.gradle部分从谷歌教程的依赖:
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVer"
没有列出我不知道的原因。 下面列出的依赖关系一切正常:
def daggerVer = 2.12 // or latest version implementation "com.google.dagger:dagger:$daggerVer" implementation "com.google.dagger:dagger-android-support:$daggerVer" annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVer" annotationProcessor "com.google.dagger:dagger-compiler:$daggerVer"
如果你正在使用Kotlin
apply plugin: 'kotlin-kapt' dependencies { implementation "com.google.dagger:dagger:$daggerVer" implementation "com.google.dagger:dagger-android-support:$daggerVer" kapt "com.google.dagger:dagger-android-processor:$daggerVer" kapt "com.google.dagger:dagger-compiler:$daggerVer" }
在Kotlin中 ,我们必须添加kapt编译器插件来使用Dagger 2。
在你的应用程序gradle中,添加这个插件
apply plugin: 'kotlin-kapt'
并添加依赖如下
dependencies { implementation "com.google.dagger:dagger:$latest_version" kapt "com.google.dagger:dagger-compiler:$latest_version" implementation "com.google.dagger:dagger-android:$latest_version" kapt "com.google.dagger:dagger-android-processor:$latest_version" implementation "com.google.dagger:dagger-android-support:$latest_version" kapt "com.google.dagger:dagger-android-support:2.12" }
请参阅Kotlin 文档
- 房间:Dao的LiveData将在每次更新时触发Observer.onChanged,即使LiveData值没有变化
- 无法合并dex
- Kotlin中可能导致内存泄漏的语言功能是什么?
- 返回到后面堆叠的片段
- Android,领域,Gradle:错误:注释处理器:找不到RealmProcessor
- 为android @Multipart改装删除默认标题
- 期望的类型与kotlin中的if表达不匹配
- Android的gradle无法find方法’org.grade.api.internal.file.DefaultSourceDirectorySet’
- Kotlin扩展/合成属性:多个调用中的相同对象Fragment.onViewCreated()