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

/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

我try 了很多配置,但我找不到引用父文件夹范围之外的项目的方法(在本例中为‘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子模块,是的,在每个项目中复制源代码,因 for each 项目使用不同版本代码的可能性最大.

然而,你需要让你的所有项目都使用你所有库的最新版本..这本身就是一个挑战

这是使用图书馆源代码开发项目的正确方式的原因是,这是可伸缩的……您可以有数百个项目,每个项目都有自己的库配置.

推荐答案

假设某个其他文件夹是Gradle项目,您可以向settings.gradle文件添加类似以下内容的内容:

include ':module1'
project(':module1').projectDir = new File(settingsDir, '../Project B/Module 1')

Android相关问答推荐

滑动以更改合成中的活动

如何在"不同活动"中添加不同按钮?

如何go 除回调流中不可用的状态?

Android设备.Net Maui上的mp3文件列表

如何在Jetpack导航中不显示目的地?

Android应用程序中的背景问题

如何使用进度条和返回函数进行API调用,同时在Android上使用Kotlin保持高效?

如何在使用带有底部导航组件的片段管理器时更改片段工具栏的标签

Android v31 及更低版本中 ImageView 中的圆角

Android Drawable文件夹中的图像显示模糊

Jetpack Compose的val变量不能被重新分配

是什么导致调用 Firebase 服务器?

Koin Android-KMM:我有嵌套范围但注入不起作用

Jetpack Compose UI - 在 AlertDialog 中单击时按钮宽度会发生变化

在 Kotlin 中循环遍历字符串并用新行替换句号

无法解析依赖项'com.github.smarteist:autoimageslider:1.4.0-appcompat'

GridLayout 和 GridView 有什么好用和区别

firebase-messaging和firebase-inappmessaging-display之间有什么区别?

单击登录按钮后从应用程序中退出

Android Studio,Db 连接错误:发生异常情况导致驱动程序失败.请报告此异常