我正在制作一个使用dagger + butterknife + recycleviews + retrofit的Android应用程序。
这一切都编译并工作,直到我在gradle中添加黄油刀依赖项(与apt相关的依赖项),在我同步之后,即使我再次清理和重建,也找不到我的Dagger组件。 但如果我删除了我的butterknife依赖项(与apt相关的依赖项),同步和构建,我的Dagger组件就被找到了。
这是我的傻瓜:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
和我的应用程序gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
compile 'com.google.dagger:dagger:2.7'
annotationProcessor 'com.google.dagger:dagger-compiler:2.7'
compile 'com.android.support:design:24.0.0-beta1'
compile 'com.android.support:support-v4:24.0.0-beta1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'io.reactivex:rxjava:1.1.6'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.okhttp3:okhttp:3.4.2'
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
我的匕首成分:
DaggerMyComponent.builder().
myRetroModule(new MyRetroModule("581e710d3e0000da02c08e10")).
build().
inject(this); // instance
没有相关的依赖,butterknife不起作用 为了能够一起使用butterknife + dagger,我需要做什么?
提前致谢。
答案 0 :(得分:1)
我正在做一些测试,我改变了
compile 'com.google.dagger:dagger-compiler:2.7'
到
apt 'com.google.dagger:dagger-compiler:2.7'
同步并且有效。