Android studio 3.0带来新的依赖方式以及使用中的一个问题解决
Android studio 3.0 已经发布到RC 2版本了,相信距离稳定版的3.0 的到来已经为时不远了,有不少的小伙伴可能已经使用上了3.0版本很久了,为3.0的开发与更新过程中提供了不少的帮助。可是我毕竟是用来开发项目的,所以直到最近才开始使用3.0版本,在使用过程中发现一个显著的特点就是依赖方式的改变由compile改为implementation。为什么要改成这样呢?
compile编译的话,当前 module 会暴露其依赖的其他 module 内容,而implementation,只在内部使用了该 module,不会向外部暴露其依赖的 module 内容,所以,我们可以为特定 module 选择 implementation 关键字来加速 gradle 构建速度。
同时还发现了一个问题就是使用butterknife依赖注入的时候在Android studio 2.3上完全正常但是到了3.0 上面编译的时候就会报如下的错误

这个错误是说在使用butterknife的时候发现包含注释处理器,需要加入注释处理器的配置信息,所以我们需要在使用主module的builder文件里面加入如下图所示的配置代码
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "wqj.com.broadcasttest"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
}
加入上面的代码再进行编译就可以了。
好了目前就发现这么多,以后再说。