【发布时间】:2014-09-18 11:45:07
【问题描述】:
是否可以在 Gradle(在 android studio 中)指定对当前项目边界之外的另一个 gradle 项目的依赖?例如,相对路径是这样的:
dependencies {
compile project('../../stdlib/dagger')
}
所以我尝试的是这样的:
我有一个 Android 应用程序。结构如下:
- MyApp(路径为 /Users/foo/workspace/MyApp)
- app(路径是/Users/foo/workspace/MyApp/app)
我有一个包含 3 个子模块的 gradle android 库项目:
- stdlib(路径是 /Users/foo/workspace/stdlib)
- dagger(路径为 /Users/foo/workspace/stdlib/dagger)
- utils(路径为 /Users/foo/workspace/stdlib/utils)
- http(路径是/Users/foo/workspace/stdlib/http)
我想要的是将dagger、utils、http模块编译到MyApp项目中。
stdlib 库模块正在大量开发中,并将随着 MyApp 的增长而增长。因此,我不想每次进行一些更改时都将它们推送到 maven 存储库中。
那么有没有可能以某种方式链接其他 gradle 项目? 我正在寻找临时解决方案。一旦源稳定,我会将std库推送到maven存储库中。
此外,作为解决方法,使用 sourceSet 的解决方案也是可能的。我还考虑在 MyApp 中创建一个库文件夹,它是 stdlib 的符号链接,但我没有让它按预期工作:
- MyApp(路径为 /Users/foo/workspace/MyApp)
- app(路径是/Users/foo/workspace/MyApp/app)
- 库(到 /Users/foo/workspace/stdlib 的符号链接)
dependencies { compile project(':libraries:dagger') }
知道如何在 gradle 中解决这种依赖关系吗?
【问题讨论】:
标签: java android gradle android-studio