Gradle项目中的Gradle项目?

时间:2014-02-28 05:28:24

标签: java android gradle android-gradle

所以我有一个所有android项目都很常见的库项目。这个项目分为2个模块,其中1个是Java特定模块,我在其中放置了特定于java的可重用组件,另一个是安装了可重用的Android特定组件的android模块。 android模块也需要java模块,因此android项目使用compile project(':javalibrary')在其build.gradle文件中编译java模块。我有一个独立的eclipse项目设置,可以自己编辑库。到目前为止,一切都编译好了。我可以运行测试等等。

我将整个库项目添加到我的git repo作为git子模块,然后我希望能够将android库项目添加到我的android项目的构建中,以及适用的java库项目。 这是我开始遇到问题的地方。

我最终得到了这样的目录结构:

-/AndroidProject
  build.gradle
  settings.gradle
  -/library
    build.gradle
    settings.gradle
    -/androidlibrary
      build.gradle
    -/javalibrary
      build.gradle
  -/AndroidAppModule
    build.gradle

所以在AndroidProject settings.gradle中我添加了include ':library:androidlibrary', ':library:javalibrary'

然后对于AndroidAppModule build.gradle依赖项,我调用compile project(':library:androidlibrary')

此时我会收到构建错误我会尝试构建,我会收到构建错误,因为库android项目无法找到库java项目。所以我可以进入androidlibrary build.gradle并将compile project(':javalibrary')更改为compile project(':library:javalibrary'),它将解决所有构建冲突并完美运行。

然后,当我回到intellij项目,我编辑了库项目进行编辑或什么不编辑,它将不再构建,因为android库然后查找/ library / javaproject真的它应该只是寻找/ javaproject(因为/ library目录只有当它作为git子模块添加时才存在)

所以我需要一些标准化的方法,以便整个库项目目录将自己看作是它自己的根目录,或者其他一些聪明的方法。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

如果使用group属性,您应该可以命​​名库并独立于目录结构引用它们。