gradle依赖compile、implementation的区别

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指令,这样会使编译速度有所增快。

《gradle依赖compile、implementation的区别》

这对于大型项目含有多个Module模块的, 以上图为例,比如我们改动 LibraryC 接口的相关代码,这时候编译只需要单独编译LibraryA模块就行, 如果使用的是api或者旧时代的compile,由于App Module 也可以访问到 LibraryC,所以 App Module部分也需要重新编译。当然这是在全编的情况下。

compile(api)这种是我们最常用的方式,使用该方式依赖的库将会参与编译和打包。

当我们依赖一些第三方的库时,可能会遇到com.android.support冲突的问题,就是因为开发者使用的compile依赖的com.android.support包,而他所依赖的包与我们本地所依赖的com.android.support包版本不一样

    原文作者:beyondtheself
    原文地址: https://www.jianshu.com/p/0db2b1624cd0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞