【发布时间】:2013-07-02 23:28:15
【问题描述】:
我有一个示例项目,具有以下设置:
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
“Test Project”依赖于“Test Lib”,最后一个依赖于“Pure Java Lib” 编译项目并启动此设置工作正常。
我现在正在考虑导入我以前的 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
我想使用项目B的模块1,在项目A中。
更新:09-03-19
我现在看到了,我必须更新......在将近 6 年后,今天我更聪明了,我可以肯定地说问题是我误解了“真相之源”的概念。
虽然有一个库的引用是一个很好的概念......并且可能看起来像一个“真相来源”,但真正的“真相来源”将是每个项目正在使用的代码版本库,因为库本身有版本.. 许多版本的“真相来源”是相对于使用该库的项目。
正确的方法是使用大多数开发人员不喜欢的东西,那就是 git 子模块,是的,在每个项目中复制源代码导致每个项目使用不同版本的代码的可能性很大。
但是,您需要让所有项目都使用所有库的最新和最好的版本。这本身就是一个挑战
这是使用库源开发项目的正确方法的原因在于,它可以扩展……您可以拥有数百个项目,每个项目都有自己的库配置。
【问题讨论】:
-
我看到这个问题引起了一些关注......在非常努力地尝试之后,我现在放弃了 Android 工作室,因为我试图构建的设置的复杂性实在是太多了,并且构建我的最终项目是可行的,但非常不稳定。每次启动 Android Studio 时,我都必须再次设置一些参数,并手动使构建工作。我已经放弃了大约两个月了,我希望现在情况会好些!
-
这里的方法 2 解释了如何很容易地做到这一点:stackoverflow.com/questions/25610727/…
标签: android gradle android-studio android-library