IntelliJ 和 Android Gradle 依赖项 - 无法找到模块

我有以下目录结构:

D:\PROJECT  
+---javaGradleProject1  
+---javaGradleProject2  
+---javaGradleProject3  
\---AndroidProject  
    |   build.gradle
    |   settings.gradle
    \---AndroidModule
            build.gradle

Android 模块依赖于所有与 AndroidProject 在根目录中处于同一级别的 java gradle 项目。

在 AndroidProject/settings.gradle 中,我有:

include ':AndroidModule'

include 'javaGradleProject1'
project(':javaGradleProject1').projectDir = new File(rootDir, '../javaGradleProject1')

include 'javaGradleProject2'
project(':javaGradleProject2').projectDir = new File(rootDir, '../javaGradleProject2')

include 'javaGradleProject2'
project(':javaGradleProject2').projectDir = new File(rootDir, '../javaGradleProject2')

然后在AndroidProject/AndroidModule/build.gradle中,我有这样的依赖关系:

compile project(':javaGradleProject1')
compile project(':javaGradleProject2')
compile project(':javaGradleProject3')

这种依赖关系结构完美地工作,当我调用时,项目构建

gradle build

on AndroidProject/build.gradle.

但是,当我尝试将我的IntelliJ与当前的gradle依赖项设置同步时,我收到了

Error: Unable to find module with Gradle path ':javaGradleProject1'
Error: Unable to find module with Gradle path ':javaGradleProject2'
Error: Unable to find module with Gradle path ':javaGradleProject3'

因此,我的项目无法从“运行配置”运行(它根本不会在IDE中编译)。我试图通过点击F4和模块依赖项来手动添加这些依赖项,但在同步后,我的所有更改都被覆盖了(实际上,IntelliJ只是删除了它)。

我的等级结构有什么问题吗?

我已经在IntelliJ IDEA 14.1.4和Android Studio 1.3上进行了测试。


答案 1

我能够通过从我想用作依赖项的每个Gradle项目中删除setset.gradle文件来解决此问题(清除此文件的内容是不够的)。

注意:由于我对Gradle和Android Studio知之甚少,因此我无法提供有关为什么此文件的存在不允许Android Studio将Gradle项目作为模块包含在内的信息。


答案 2

添加冒号 (:)在模块名称之前添加模块,例如,对于第一个模块,请更改以下内容:settings.gradle

include 'javaGradleProject1'
project(':javaGradleProject1').projectDir = new File(rootDir, '../javaGradleProject1')

对此:

include ':javaGradleProject1'
project(':javaGradleProject1').projectDir = new File(rootDir, '../javaGradleProject1')

现在除了编译之外,IntelliJ / Android Studio还应该给你代码完成。


推荐