我有一个示例项目,具有以下设置:
/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
我想用模块1的B项目,在项目中。
更新:09-03-19
我现在看到了,我必须更新……将近六年之后,今天我变得更加聪明了,我可以肯定地说,问题是我误解了“真理之源”的概念。
虽然拥有一个库的引用是一个很好的概念..并且看起来像是一个“真理之源”,但真正的“真理之源”将是每个项目正在使用该库的代码版本,因为库本身具有版本。许多版本的“真相来源”与使用该库的项目有关。
正确的方法是使用大多数开发人员不喜欢的东西,那就是git子模块,是的,重复每个项目中的源代码会导致每个项目使用不同版本的代码的可能性很大。
但是,您将需要使所有项目都使用所有库的最新和最佳版本。这本身就是一个挑战。
这是使用库源代码开发项目的正确方法的原因是这样可以扩展...您可以拥有数百个具有各自库配置的项目。