1

gradle 文档(以及我看到的许多 SO 资源)建议:

“多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。”

在我的情况下,我有以下文件夹结构:

  AndroidDev /* this is my root dir where I keep all my projects and libraries */
    |
    |- MyProject1
    |     |- MyProject1Module
    |
    |- MyProject2
    |     |- MyProject2Module
    |
    |- MyLibrary
         |- MyLibraryModule

现在,我想使用 MyLibraryModule 并将其作为依赖项添加到 MyProject1 和 MyProject2。我想在单独的 Android Studio 窗口中打开 MyProject1 和 MyProject2 并能够使用库依赖项编译它们。他们没有任何共同之处。

我怎样才能做到这一点。我找不到很好的资源来帮助我理解这一点。

编辑:要清楚,我想将它与新的 gradle 构建系统一起使用。因此,任何有关导入模块和配置模块依赖项的指针都会有所帮助。谢谢。

4

2 回答 2

0

如果我正确理解您的问题,那么您唯一需要做的就是:

在 Eclipse 中选择您的 MyLibraryModule 项目 -> 右键单击​​ -> 属性 -> Android 在这里您将看到一个复选框“是库”,启用它并应用。

现在在 Workspace1 中使用 MyProject1 导入 MyLibraryModule 作为现有的 android 应用程序。右键单击 MyProject1 -> 属性 -> Android -> 添加。在现在打开的对话框中,您应该看到 MyLibraryModule。添加它,应用并确定。

Workspace2 与 MyProject2 的过程完全相同...

这实际上与将 jar 添加到 libs 文件夹中的效果相同,只是现在您可以更改 MyLibraryModule 中的代码而无需导出等。这两个项目相互独立,但依赖于 MyLibraryModule。

于 2013-09-24T00:26:27.413 回答
0

我没有使用Android Studio,也没有做过任何Android开发,但这似乎是一个只需要Gradle知识的问题,所以我会尝试一下。

首先,看一下:从我刚才问一个类似的问题开始,为现有存储库布局设置 Gradle 多项目构建时遇到困难。Peter Niederwieser 的回答纠正了我对 Gradle 多项目支持的一大堆误解。

您需要在结构的根目录中有一个 settings.gradle,在您的情况下,它看起来像这样:

include 'MyProject1', 'MyProject2', 'MyLibrary'

请记住,Gradle 使用此文件来配置 Settings 对象。您可以通过在此处查看 DSL 来了解可能的情况:http: //www.gradle.org/docs/current/dsl/org.gradle.api.initialization.Settings.html

现在,您可以在每个其他项目中声明对 MyLibrary 的依赖项,如下所示:

dependencies {
    compile(
        ':MyLibrary'
    )
}

我希望这能回答您提出的问题 - 如果我误解了,请随时再次发布。

于 2013-09-24T15:30:06.437 回答