api 和 implementation 的区别

注:implementation和compile的使用效果相同,但是随着Gradle版本的更新,Gradle越来越不推荐compile 方式来引用远程依赖了,而是推荐使用api 和 implementation方式来引用远程依赖!

我们的项目中会使用多个module来开发,其中每个module都有自己的build.gradle,也都有自己的依赖。这个时候implementation依赖的库就只能在当前module中使用了,相当于当前module的私密依赖。

举个例子,在项目中有一个名为LibUtil的module,其gradle配置文件中引用了两个包:

implementation 'org.greenrobot:eventbus:3.1.1'
compile 'com.github.codbking:PickTime:v1.0.1'

我们虽然在app的build.gradle文件中加了如下引入,但是app中是无法使用eventBus的方法却可以使用包video中的方法。

api project(path: ':LibUtil')

总结:api或compile关键字引用的包对于其他module来说是可见的,而implementation关键字引用的包对于其他module来说是不可见的,不推荐使用compile。



posted on 2021-11-09 15:13  HarperSun  阅读(475)  评论(0编辑  收藏  举报

导航