所以我有一个所有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子模块添加时才存在)
所以我需要一些标准化的方法,以便整个库项目目录将自己看作是它自己的根目录,或者其他一些聪明的方法。我该怎么做呢?