Android studio3.0以后的更新,组件化时依赖的添加implementation关键字

Android studio版本3.0,该版本gradle编译速度有所加速,完全支持Java8。
Kotlin插件默认是安装的。

3.0弃用了compile方式改用:

api:跟 2.x 版本的 compile完全相同
implementation:使用了该命令编译的依赖,它仅仅对当前的Module提供接口。

 

什么意思呢

有一个libA被libB用implementation方式添加依赖,libB被appMoudle添加依赖。那么libA中的API只能被libB使用,appMoudle是拿不到libA的接口使用权的。

相当于军队中下级只服从自己上级,不会出现越级指挥的情况。

同时对于模块化时,依赖support版本不一致产生的冲突也有帮助

 

这么做有啥好处呢?

1、编译速度加快

上述你改了libA中的代码,按照以前的臭脾气,会把所有代码都编译一遍,差一点的电脑5-6分钟很平常

但是implementation关键字会在你更改libA中代码时不会再编译appMoudle这一层,只会到编译到libB这一层

想想,如果组件化项目比较大,这样会少编译多少代码。happy

2、隐藏对外暴露接口

使用implementation关键字的依赖,只服务与它的上级,代码耦合度又被降(复)低(杂)了。刺激

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值