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

时间:2017-01-17 08:56:39

标签: java android aar

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

main app -
     libs - aarlib
module1
module2

通过上面的结构,可以很容易地看到主应用程序将aar文件作为依赖项,并将其添加到build.gradle文件中,如下所示

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

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

在每个module.build文件中,我都尝试了

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

当我尝试上面的代码时,我得到一个找不到文件错误。有没有办法在gradle中跳转文件夹或某种东西。

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

1 个答案:

答案 0 :(得分:0)

解决方案:

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