Gradle使用

Android gradle 3.0 插件有4种引入方式 
* implementation 相当于原来的compile 
* api 相当于原来的compile 
* compileOnly 相当于原来的provided 
* runtimeOnly 相当于原来的apk

此时需要注意的一个地方,例如一个叫A的lib里面用implementation引用一个B库,又有一个C的module(不管是lib还是app)引用了A,这个C的module是引用了不了B的,也就是不能使用B库里面的类和方法。这也是为什么使用implemention会加快构建速度的原因,可以减少重复编译。要想引用B到的库,可以使用api。在3.0中,api用法可以完全可以替换之前的compile,不用担心编译问题。

implementation:C引用A,即使A库implementation方式引用B,C也不会引用B

api :C引用A,并且A库用api方式引用B,C会引用B

compileOnly 只依赖库用来编译,不会把库打包进apk,在一些特定的场景很有用

runtimeOnly 不用来编译,但是会打包到apk,这个方式是deprecated(不推荐使用)的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值