如何从模块继承应用程序依赖性 (Android)

How to inherit app dependency from module (Android)

所以我正在开发一个项目结构类似于下面的应用程序

main app -
     libs - aarlib
module1
module2

通过上面的结构,可以很容易地看到主应用程序有一个 aar 文件作为依赖项,并像这样添加到 build.gradle 文件中

compile (name: 'aarlib', ext: 'aar')

现在我希望项目中的模块继承主应用程序的aarlib 文件。我该怎么做?

在每个模块的s.build 文件中,我尝试了

compile (name: 'aarlib', ext: 'aar')

当我尝试上面的代码时,出现找不到文件错误。有没有办法跳转到 gradle.

中的文件夹或类似的东西

请注意,我不想将 aar 包含在模块库文件夹中。有办法解决这个问题吗?提前致谢

解决方案:

  1. 如果 module1 和 module2 不依赖,那么我建议创建另一个模块来放置 aar 文件并使所有其他模块依赖于它。如果您将 aar 文件放在每个 lib 文件夹中,那么除非您将该依赖项设置为 provided.
  2. ,否则您将面临重复 类 错误的风险
  3. 另一个解决方案是将 aar 放在本地 maven 中并在所有三个项目中引用它。但是,它会破坏团队中其他人的构建,除非他们将此 aar 部署到他们的本地 maven 存储库。
  4. 我根本不喜欢的另一种可能的解决方案。将模块 compile (name: 'aarlib', ext: 'aar') 替换为 provided (name: '../app/aarlib', ext: 'aar')