如何从模块继承应用程序依赖性 (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 包含在模块库文件夹中。有办法解决这个问题吗?提前致谢
解决方案:
- 如果 module1 和 module2 不依赖,那么我建议创建另一个模块来放置 aar 文件并使所有其他模块依赖于它。如果您将 aar 文件放在每个 lib 文件夹中,那么除非您将该依赖项设置为
provided
. ,否则您将面临重复 类 错误的风险
- 另一个解决方案是将 aar 放在本地 maven 中并在所有三个项目中引用它。但是,它会破坏团队中其他人的构建,除非他们将此 aar 部署到他们的本地 maven 存储库。
- 我根本不喜欢的另一种可能的解决方案。将模块
compile (name: 'aarlib', ext: 'aar')
替换为 provided (name: '../app/aarlib', ext: 'aar')
所以我正在开发一个项目结构类似于下面的应用程序
main app -
libs - aarlib
module1
module2
通过上面的结构,可以很容易地看到主应用程序有一个 aar 文件作为依赖项,并像这样添加到 build.gradle 文件中
compile (name: 'aarlib', ext: 'aar')
现在我希望项目中的模块继承主应用程序的aarlib 文件。我该怎么做?
在每个模块的s.build 文件中,我尝试了
compile (name: 'aarlib', ext: 'aar')
当我尝试上面的代码时,出现找不到文件错误。有没有办法跳转到 gradle.
中的文件夹或类似的东西请注意,我不想将 aar 包含在模块库文件夹中。有办法解决这个问题吗?提前致谢
解决方案:
- 如果 module1 和 module2 不依赖,那么我建议创建另一个模块来放置 aar 文件并使所有其他模块依赖于它。如果您将 aar 文件放在每个 lib 文件夹中,那么除非您将该依赖项设置为
provided
. ,否则您将面临重复 类 错误的风险
- 另一个解决方案是将 aar 放在本地 maven 中并在所有三个项目中引用它。但是,它会破坏团队中其他人的构建,除非他们将此 aar 部署到他们的本地 maven 存储库。
- 我根本不喜欢的另一种可能的解决方案。将模块
compile (name: 'aarlib', ext: 'aar')
替换为provided (name: '../app/aarlib', ext: 'aar')