Androidstudio升级到3.0后compile该使用为implementation

Android Studio 3.0中,compile被标记为过时,引入了api和implementation作为替代。api与compile功能相同,但implementation不支持依赖传递。当module间依赖时,如app->module1->module2,使用compile可在app中调用module2,但使用implementation则无法进行依赖传递。Google建议首选implementation,如有需要再改用api,以提高编译速度。
摘要由CSDN通过智能技术生成

implementation不可以依赖传递,但是compile可以依赖传递

在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,一个是implement 和api,这两个都可以进行依赖添加,但是有什么区别呢?
api 指令

完全等同于compile指令,没区别,你将所有的compile改成api,完全没有错。
implement指令

这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。


我们项目中会遇到module引用的情况,比如现在项目中有app,module1,module2三个module,要在module1中依赖module2的代码,如下所示:

 dependencies {     
   ... 
  compile project(':module2')
  }

设现在的需求是这样的,app依赖module1,module1依赖module2,那么在app内能调用module2的参数和方法吗?

如果是compile依赖的确实可以做到依赖传递,但是AS 3.0开始推荐使用impleme

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值