为什么在使用butterknife依赖项时找不到我的匕首组件?

时间:2016-11-14 23:21:29

标签: android dagger-2 dagger butterknife

我正在制作一个使用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,我需要做什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我正在做一些测试,我改变了

compile 'com.google.dagger:dagger-compiler:2.7'

apt 'com.google.dagger:dagger-compiler:2.7'

同步并且有效。