ButterKnife 使用详解

在Android Studio 使用的详情:
http://blog.csdn.net/ernest_kong/article/details/52262134

Dagger2.5 的使用

Android Project中有有两个build.gradle 文件
* project-level build.gradle
* module-level build.gradle

#### project-level build.gradle 配置

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
}
}

#### module-level build.gradle 配置

dependencies {
compile ‘com.google.dagger:dagger:2.x’
apt ‘com.google.dagger:dagger-compiler:2.x’
}

当 ButterKnife8.2.1 遇见 Dagger2.5 时

当两个遇见时就冲突了。

原因:ButterKnife 和 Dagger 都是用 apt 进行 反射编译,在某一些类时产生冲突。

解决方案

  • 在 module-level build.gradle 中添加
    android {
    …..
    packagingOptions {
    exclude ‘META-INF/services/javax.annotation.processing.Processor’
    }
    …..
    }
  • 在 dependencies 中修改为
    dependencies {

    compile ‘com.jakewharton:butterknife:8.2.1’
    apt ‘com.jakewharton:butterknife-compiler:8.2.1’

    compile ‘com.google.dagger:dagger:2.5’
    provided ‘org.glassfish:javax.annotation:10.0-b28’
    // apt ‘com.google.dagger:dagger-compiler:2.5’
    // 把原来的apt 修改为provided
    provided ‘com.google.dagger:dagger-compiler:2.5’

    }

在做之前遇到的问题

  • 之前使用dagger2.2版本,还是编译不过,修改为 dagger2.5之后直接通过

更多相关文章

  1. WebViewJavascriptBridge实现js与android和ios原生交互
  2. Android开发整理
  3. [置顶] android Properties的使用
  4. 使一个button无效时变灰
  5. android adb 命令发送 keyevent
  6. Cocos2d-x权限问题
  7. Gradle离线配置、.android、.AndroidStudio、.gradle、.m2缓存文
  8. android 录音 Android(安卓)使用AudioRecord录音相关和音频文件
  9. Androidの异常总结

随机推荐

  1. Android单元测试(五):依赖注入,将mock方便的
  2. Android(安卓)自定义进度条ColorfulProgr
  3. Android对第三方类库运行时加载
  4. (转摘)Android腾讯微博客户端开发二:相关
  5. Android做检测版本更新安装完以后就什么
  6. Android动态创建布局常用方法
  7. Android(安卓)Jni调用so库,加载库失败分析
  8. Android(安卓)ViewPager
  9. android实现自己的浏览器
  10. android fw systemserver之MountService