Android Gradle:创建一个库项目并在项目中使用它

时间:2013-09-23 21:41:37

标签: android gradle android-gradle

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构建系统中使用它。因此,任何有关导入模块和配置模块依赖关系的指针都会有所帮助。感谢。

2 个答案:

答案 0 :(得分:0)

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

在eclipse中选择你的MyLibraryModule项目 - >右键单击 - >属性 - > Android的 在这里,您将看到一个“Is Library”复选框,启用并应用。

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

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

这实际上就像你在libs文件夹中添加一个jar一样,只是现在你能够在不必导出等的情况下更改MyLibraryModule中的代码。这两个项目依赖于彼此,但依赖于MyLibraryModule。

答案 1 :(得分:0)

我没有使用Android Studio,而且我还没有完成任何Android开发,但这似乎是一个只需要Gradle知识的问题,所以我会试一试。< / p>

首先,从我刚才提出类似问题的时候看一下这个:Having difficulty setting up Gradle multiproject build for existing repository layout。 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'
    )
}

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