【发布时间】:2016-07-18 15:46:51
【问题描述】:
我正在努力构建一个可以在其他应用程序中使用的 SDK。
我的项目结构如下:
ProjectFolder
|
+--AndroidLibs
| |
| +--UI (android library - AAR)
| |
| +--Protocol (android library - AAR)
| |
| +--infra (android library - AAR)
|
+--SDK(depends on UI, Protocol and Infra)
|
+--APP(depends on SDK)
如您所见,我们正在处理 3 个不同的库,每个库都是我们系统中的一个模块(infra、ui 和协议)。他们每个人都在创建一个 AAR。
我们的 SDK 是一个包装器,其中包含一些对较低层的 API 调用。
我们想创建一个依赖于所有其他 AAR 的 AAR,但由于某种原因,当我们尝试运行它时,它说他找不到某些类的源代码。
我发现了一些与此问题相关的问题,但没有奏效。
还尝试使用 transitive 依赖项,但底线是一样的 - 找不到源代码。
- android-studio-how-to-package-single-aar-from-multiple-library-projects:一个回答说没有解决方案(谷歌员工)。
-
create-an-aar-with-multiple-aars-jars:使用
transitive依赖项。 - Create Mojo for creating AAR with all "aar" dependencies
我们还有什么可以做的吗?
【问题讨论】:
-
afaik aars 没有此功能,因为它们不包含 .pom 之类的文件。最好的办法是将其上传到 jcenter 或 maven。从那里人们将能够拉出你的 aar 以及所有配置为一起的 aar。
-
另一种选择是从每个依赖项中提取 src 代码,将其作为 *.java 文件放入您的 src 中,然后将整个内容编译成 .aar
标签: android gradle module android-gradle-plugin aar