美文网首页
gradle依赖compile、implementation的区

gradle依赖compile、implementation的区

作者: 231f1fe392ba | 来源:发表于2018-06-20 19:03 被阅读247次

    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包版本不一样

    相关文章

      网友评论

          本文标题:gradle依赖compile、implementation的区

          本文链接:https://www.haomeiwen.com/subject/exnxyftx.html