美文网首页
android gradle依赖:implementation

android gradle依赖:implementation

作者: 凯玲之恋 | 来源:发表于2019-02-28 13:59 被阅读24次

    1 android studio 2.x和3.x 依赖方式

    2.x版本的依赖方式.png
    3.x版本的依赖方式.png

    在Android studio3.0中,compile依赖关系已被弃用,被implementation和api替代,provided被compile only替代,apk被runtime only替代。

    2 implementation 和compile的区别

    implementation可以让module在编译时隐藏自己使用的依赖,但是在运行时这个依赖对所有模块是可见的。而api与compile一样,无法隐藏自己使用的依赖

    implementation的目的

      1. 加快编译速度。
      1. 隐藏对外不必要的接口。

    例子

    6988326-7ee8cefdef81767e.jpg
    1. 如果mylibrary3使用api依赖mylibrary4,那么当mylibrary4发生变化时,编译需要重新编译mylibrary4、mylibrary3、mylibrary1;
    2. 如果mylibrary3使用implemention依赖mylibrary4,那么当mylibrary4发生变化时,编译需要重新编译mylibrary4、mylibrary3,这个时候不需要编译mylibrary1,这样就可以节约build time;

    3 其他

    2.x 版本依赖(括号里对应的是 3.0 版本的依赖方式)

    • compile(api)
      使用该方式依赖的库将会参与编译和打包。
    • provided(compileOnly)
      只在编译时有效,不会参与打包
    • apk(runtimeOnly)
      只在生成apk的时候参与打包,编译时不会参与,很少用。
    • testCompile(testImplementation)
      testCompile 只在单元测试代码的编译以及最终打包测试apk时有效。
    • debugCompile(debugImplementation)
      debugCompile 只在 debug 模式的编译和最终的 debug apk 打包时有效
    • releaseCompile(releaseImplementation)
      Release compile仅仅针对 Release 模式的编译和最终的 Release apk 打包。

    参考

    android gradle依赖:implementation 和compile的区别
    api与implementation的区别

    相关文章

      网友评论

          本文标题:android gradle依赖:implementation

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