我有一个多模块应用程序,我想在辅助模块上实现一个aar文件。如果我实现aar,我的应用程序模块工作正常,但我需要在我的辅助模块上。
但是我收到了这个错误:
构建AAR时不支持直接的本地. aar文件依赖项。生成的AAR会被破坏,因为来自任何本地.aar文件依赖项的类和Android资源都不会打包在生成的AAR中。Android Gradle插件的以前版本在这种情况下也会生成损坏的AAR(尽管没有抛出此错误)。以下直接本地.aar文件依赖于:feature:第二模块项目导致此错误:D:\user\my-app\feature\第二模块\libs\sdk-v3.0.1.aar
我添加库
上的平Dir
:
repositories {
flatDir {
dirs 'libs'
}
}
这就是我如何实现SDK:
implementation fileTree(include: ['sdk-v3.0.1.aar'], dir: 'libs' )
这似乎是一个依赖关系转移问题。
目前,你的第二个模块通过“实现”的方式依赖了aar,你的app模块依赖了你的secend模块。因此,你的app模块无法访问aar。
要解决这个问题,您可以通过“api”的方式让您的第二个模块依赖于aar,通过该方式,任何依赖于secend模块的模块都可以访问aar。
api fileTree(include: ['sdk-behavior-v3.0.1-release.aar'], dir: 'libs' )