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

时间:2015-08-18 11:05:18

标签: java android android-studio intellij-idea 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

在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只是将其删除)。

我的gradle结构有什么问题吗?

我在IntelliJ IDEA 14.1.4和Android Studio 1.3上测试过它。

5 个答案:

答案 0 :(得分:19)

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

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

答案 1 :(得分:1)

settings.gradle中添加模块名称时,在模块名称前添加冒号(:),例如:对于第一个,改变这个:

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

到此:

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

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

答案 2 :(得分:1)

在我的情况下,我不得不将外部模块名称更改为小写。

答案 3 :(得分:0)

右键单击项目,选择

  

“配置项目子集...”

并选择您的模块,重建您的项目。

答案 4 :(得分:0)

尝试了所有可用的解决方案,最后我在 settings.gradle 中评论了 include ':app',这解决了我的问题