Gradle中的api和implementation的区别

api 和 implementaion主要是解决多个module依赖时的重复编译问题。

设想我们有如下的结构
app -> lib1 -> lib2

即app依赖于lib1,而lib1 则依赖于lib2.

如果我们在app的gradle的依赖中加入
api lib1 or implementation lib1
而在lib1中使用
api lib2

那么如果lib2有了改变,则会导致app的重新编译,因为此时app可以感知到ib2的改变,lib2的改变是有传导性的。

而如果我们在lib1中使用
implementation lib2
那么lib2的改变只会影响到lIb1,而不会再影响到app的编译。

为了方便理解,画了以下一张图来解释。
Gradle中的api和implementation的区别_第1张图片

参考链接https://stackoverflow.com/questions/44413952/gradle-implementation-vs-api-configuration

你可能感兴趣的:(java)