我有一个示例项目,具有以下设置:
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
“测试项目”依赖于“测试库”,最后一个依赖于“纯 Java 库” 编译项目并启动此设置工作正常。
我现在正在考虑导入我以前的 Eclipse 工作区并使用 Android Studio,问题是项目设置不同,我想保持这种方式。
例如,如果使用前面的示例:
/root
+ Android Test Lib
+ Android Test Project
/Some Other folder (another repository for example)
+ Pure Java Lib
我已经尝试了很多配置,但我没有找到一种方法来引用父文件夹范围之外的项目(在示例案例中为“ root ”)。
在许多平台/模块中,您可以使用“..”在文件夹中向上移动,但这对我不起作用,也许我用错了。
有谁知道如何使用 Gradle 实现这一点?
更新
我会尝试更通用:
/C:/
/Project A
+ Module 1 - Pure Java
+ Module 2 - Android Test Lib
+ Module 3 - Android Test Project
/Project B
+ Module 1 - Pure Java
+ Module 2 - Pure Java
+ Module 3 - Pure Java
我想在项目 A中使用项目 B的模块 1 。
更新:09-03-19
我现在看到了,我必须更新......经过将近 6 年,今天我更聪明了,我可以肯定地说问题是我误解了“真相之源”的概念。
虽然有一个库的引用是一个很好的概念......并且可能看起来像一个“真相来源”,但真正的“真相来源”将是每个项目使用该库的代码版本,因为该库本身有版本..许多版本,“事实来源”与使用该库的项目相关。
正确的方法是使用大多数开发人员不喜欢的东西,那就是 git 子模块,是的,在每个项目中复制源代码导致每个项目最有可能使用不同版本的代码。
但是,您需要针对所有项目使用所有库的最新和最好的版本。这本身就是一个挑战
这是使用库源开发项目的正确方法的原因是它可以扩展......您可以拥有数百个项目,每个项目都有自己的库配置。