安卓

AS升级3.0依赖方式的改变,implement、api 和co

2017-11-06  本文已影响564人  楷桐

AS升级到3.0后,

比如有两个module:app(主)example

compie可以替换为 implementationapi

  1. api 和compile的效果一样,你将所有的compile改成api,完全没有错。
  2. implementation 是指你所依赖的各种lib各种jar包只能在当前module下使用;
    换句话说,你app可以调用我example里的任何方法,但是你调用不了我example所依赖的各种包的方法

implementation

如果我在 example 的build.gradle里 implementation fileTree(dir: 'libs', include: ['.jar'])*,
你会发现 app里调用不了example 里的libs的那些类

api

example的build.gradle里用的是api fileTree(dir: 'libs', include: ['.jar'])*,这样app就能调用example里所依赖的那些libs

总结:module所依赖的包 implementation不对外开放调用,api 对外开放调用

最后放两张图:


用的是api,module间‘可以’互相调用其所依赖的库 使用implementation,module间‘不可’互相调用其所依赖的库
上一篇 下一篇

猜你喜欢

热点阅读