Android studio升级到3.0,连带着com.android.tools.build:gradle 工具也升级到了3.0.0。在3.0.0中使用了最新的Gralde 4.0 里程碑版本作为gradle的编译版本,该版本gradle编译速度有所加速。
compile依赖关系已被弃用,被implementation和api替代,provided被compile only替代,apk被runtime only替代
- api:跟 2.x 版本的 compile完全相同
- implementation:使用了该命令编译的依赖,它仅仅对当前的Module提供接口。
建议:依赖首先应该设置为implement的,如果没有错,那就用implement,如果有错,那么使用api指令,这样会使编译速度有所增快。
这对于大型项目含有多个Module模块的, 以上图为例,比如我们改动 LibraryC 接口的相关代码,这时候编译只需要单独编译LibraryA模块就行, 如果使用的是api或者旧时代的compile,由于App Module 也可以访问到 LibraryC,所以 App Module部分也需要重新编译。当然这是在全编的情况下。
compile(api)这种是我们最常用的方式,使用该方式依赖的库将会参与编译和打包。
当我们依赖一些第三方的库时,可能会遇到com.android.support冲突的问题,就是因为开发者使用的compile依赖的com.android.support包,而他所依赖的包与我们本地所依赖的com.android.support包版本不一样
网友评论