我的项目布局如下:
+-- app
| +-- builds
| +-- libs
| +-- src
+-- my-lib
| +-- builds
| +-- libs
| | +-- lib1.jar
我已经在implementation project (':my-lib')
模块中添加了my-lib作为app
,如何在lib1
模块中使用app
类?
在my-lib1
库依赖部分使用api
而不是implementation
来包括lib1
库,如下所示。
dependecies {
api files('libs/lib1.jar')
... some other libraries ...
}
tl;博士
api
和implementation
之间的差异在gradle docs网站上解释如下。
api
配置应该用于声明由库API导出的依赖项,而implementation
配置应该用于声明组件内部的依赖项。
对使用api
的影响
如果你在lib1
做任何改变,它会增加构建时间。因为它需要重建你的my-lib
和app
。在你的情况下,它不会发生。查看此reference article了解更多信息。