提问者:小点点

构建Android库时出错:多模块应用程序不支持直接本地. aar文件依赖项


我有一个多模块应用程序,我想在辅助模块上实现一个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' )

共1个答案

匿名用户

这似乎是一个依赖关系转移问题。

目前,你的第二个模块通过“实现”的方式依赖了aar,你的app模块依赖了你的secend模块。因此,你的app模块无法访问aar。

要解决这个问题,您可以通过“api”的方式让您的第二个模块依赖于aar,通过该方式,任何依赖于secend模块的模块都可以访问aar。

api fileTree(include: ['sdk-behavior-v3.0.1-release.aar'], dir: 'libs' )