解決Dagger2與ButterKnife衝突
發現問題
- 使用ButterKnife引入Dagger2後發現點選以及控制元件的查詢均失效,主要是butterknife和dagger2都用到了annotation;
解決方法
- 按照官方正常配置App的build
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
//配置butterKnife
classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'
//配置Dagger2
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
專案build中配置
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.neenbedankt.android-apt' //在android中配置 /* 解決Dagger2跟ButterKnife的衝突 */ packagingOptions { exclude 'META-INF/services/javax.annotation.processing.Processor' } //配置ButterKnife:注意使用compile導包 : compile會編譯到最後的APK或library,apt不會