android 项目build.gradle,Android studio将外部项目添加到build.gradle

博客探讨了在Android Studio中导入Eclipse工作区时如何处理项目依赖的问题。作者面临的情况是,项目依赖于不同目录的库,希望保持这种结构。他们提到,虽然可以使用相对路径(如'..')在Gradle中引用外部项目,但在某些情况下不起作用。作者更新指出,理解‘真相之源’的概念很重要,即每个项目使用库的特定版本才是关键。正确的做法可能是使用git子模块或在每个项目中复制库源,以确保一致性。然而,这需要不断更新所有项目以匹配库的最新版本,这是一个挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个示例项目,具有以下设置:

/root

+ Pure Java Lib

+ Android Test Lib

+ Android Test Project

'测试项目' is dependent on the '测试库', and the last depends on the '纯Java Lib' Compiling the project and launching this setup works just fine.

我现在正考虑导入我以前的Eclipse工作区并使用Android studio,问题是项目设置不同,我想保持这种方式 .

例如,如果要使用前面的示例:

/root

+ Android Test Lib

+ Android Test Project

/Some Other folder (another repository for example)

+ Pure Java Lib

我找到了一种方法来引用父文件夹范围之外的项目(示例中的“root”) .

在许多平台/模块中,你可以使用'..'在文件夹中向上移动,但这对我不起作用,也许我用错了 .

有谁知道Gradle如何实现这一目标?

UPDATE

我会尝试更通用:

/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

我想使用 project B , in project A 的模块1 .

UPDATE: 09-03-19

我现在看到了这一点,我必须更新...近6年后,今天我更聪明,我可以肯定地说,问题是我误解了“真理之源”的概念 .

虽然有一个参考库是一个很好的概念......并且可能看起来像一个“真相的来源”,真正的“真相来源”将是每个项目使用该库的代码的版本,原因图书馆本身有版本..许多版本的“真相来源”是相对于使用该库的项目 .

正确的方法是使用大多数开发人员不喜欢的东西,那就是git子模块,并且复制每个项目中的源是因为每个项目使用不同版本的代码的机会最多 .

但是,您需要瞄准所有项目,以使用所有库的最新版本..这本身就是一个挑战

这是使用库源开发项目的正确方法的原因是这可以扩展...您可以拥有数百个项目,每个项目都有自己的库配置 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值