Android compile、implementation和api的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android compile、implementation和api的区别相关的知识,希望对你有一定的参考价值。

参考技术A 首先我们创建一个Project,然后再生成一个Module,并且Project去引用这个Module

这个时候假设Module中引入了一些三方库,比如谷歌的Gson库,首先可以明确一点,就是compile、implementation和api都能将Gson引入到Module当中,那他们到底有什么区别呢?现在假设我们使用的是implementation关键字去引入,然后在Project中去尝试使用Gson,会发现Project中根本找不到Gson对象

但是如果换成api关键字去引入,则会发现能找到Gson对象

那么使用compile是什么情况呢?我们会发现它其实已经过时了,并且sync时直接会报错,其实它的作用和api是一致的,可以说api关键字就是用来替代compile关键字的,所以我们现在使用api即可

compile(过时)、api、implementation的使用效果相同

compile(过时)、api关键字引入的包对于其他Module来说是可见的,而implementation关键字引入的包对于其他Module来说是不可见的

(Android开发)关于新版本的api和implement替换compile

最近在学习安卓的代码的时候,发现Gradle.Plugin 3.0.0之前添加依赖以及引入第三方库的时候采取的都是compile的形式进行引入,但是在3.0.0之后complie被废弃并且直接干脆替换成两种:implement和api

直接了当的查询官方文档最为有用。

implement 导入的依赖只能够给直接引用的模块使用。

而api 引用的库可间接托付给另外一个模块使用。

即在模块A采用api引入第三方库—>模块B引用模块A—>模块B也可以获取此第三方库资源(即api公开资源)

以上是关于Android compile、implementation和api的区别的主要内容,如果未能解决你的问题,请参考以下文章

(Android开发)关于新版本的api和implement替换compile

(Android开发)关于新版本的api和implement替换compile

警告:配置'compile'已过时,并已由'implementation'和'api'代替

依赖方式implementation、api、compile only等的区别

gradle之implementation 和compile的区别

Android Studio升级到3.1出现的变化