关于安卓api、implementation、compile的区别

简介: 关于依赖第三方库,有三种方式,分别是api、implementation、compile,在同一个module下面,这三种的作用都是一样的,但是在高版本的API中,使用compile会发现,compile被画上了横线,甚至编译不通过,说明在高版本中,compile已经被废弃了。也就是目前来说,只剩下api、implementation。

最新打开一个老项目,主要是想迁移到AndroidX,然后发现里面还有很多问题,比如还存在用compile来依赖第三方库。

在我高版本的Android stuido 及 Android API中,项目编译不起来了。

关于依赖第三方库,有三种方式,分别是api、implementation、compile,在同一个module下面,这三种的作用都是一样的,但是在高版本的API中,使用compile会发现,compile被画上了横线,甚至编译不通过,说明在高版本中,compile已经被废弃了。也就是目前来说,只剩下api、implementation。

那么api、implementation两者有什么区别呢?

主要体现在moudle相互依赖上,假设有三个module,分别是A、B、C,C中依赖一个第三方库Gson。

情况一:当C使用implementation 引用Gson的时候,无论A、B 使用哪些方式引用C,C可以使用到Gson,A、B都无不行

使用Gson。

情况二:当C使用api 引用Gson的时候,当A api B,B api C,则A、B、C都可以使用Gson

情况三:当C使用api 引用Gson的时候,当A implementation B,B api C,则B、C都可以使用Gson,而A不行。

情况四:当C使用api 引用Gson的时候,当A api B,B implementation C,则A、B都不可以使用Gson,而C可以。

总结一句话就是:

在同一个module下,无论使用implementation,还是api引入第三方库,本modle都可以使用

在不同module下,使用api引入的包对于其他module来说是可见的,也就是其他module也可以直接使用,而用implementation引入是对其他module是不可见的,也就是其他module无法直接使用。

补充一点,如果compile不废弃不过期的话,它的作用跟api是一样的。

that'all.

相关文章
|
3月前
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
59 1
|
3月前
|
Android开发
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
39 0
|
7月前
|
编解码 物联网 开发工具
Android平台内网RTSP网关和轻量级RTSP服务的区别和联系
我们在对接轻量级RTSP服务的时候,遇到客户这样的使用场景:客户是用于车载自组网环境,确保多辆车之间可以相互看到对方的实时视频,以期可以了解到前方路况等关注的信息。
102 0
|
1月前
|
JavaScript API
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
33 0
|
3月前
|
数据可视化 Android开发 容器
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
93 5
|
22天前
|
JavaScript API
Composition Api 与 Options Api 有什么区别?
Composition Api 与 Options Api 有什么区别?
13 0
|
2月前
|
JavaScript API
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
17 0
|
6月前
|
Java API 开发者
【面试题精讲】SPI 和 API 有什么区别?
【面试题精讲】SPI 和 API 有什么区别?
|
2月前
|
小程序 API
小程序中用于跳转页面的5个api是什么?区别?
小程序中用于跳转页面的5个api是什么?区别?