2

我的项目我的目录如下所示:

-project
  -someModule
  -mainProjectModule
    -src
      -main
        -java
          (all of my code)

我正在尝试添加一个 src-gen 文件夹,所以它看起来像这样:

-project
  -someModule
  -mainProjectModule
    -src
      -main
        -java
          (all of my code)
    -src-gen
      -main
        -java
          (all of my generated code)

我生成的代码与我的非生成代码在同一个包中。如何使 /src-gen/main/java 文件夹在 Android Studio 中变为蓝色,我需要在我的 gradle 中放入什么才能使其正确构建?我目前在我的 gradle 中有这个,它似乎不起作用:

sourceSets {
    main {
        java.srcDirs = ['src/main/java', 'src-gen/main/java']
    }
}

我也尝试过手动编辑 mainProjectModule.iml 文件以添加 /src-gen/main/java 文件夹作为源,它会变成蓝色,但它会在几秒钟后自动变回。

4

1 回答 1

8

sourceSets块需要位于androidAndroid 构建文件的块内。请注意,这与普通 Java 构建不同,后者位于顶层:

android {
    ...
    sourceSets {
        main {
            java.srcDirs = ['src/main/java', 'src-gen/main/java']
        }
    }
}

如您所见,直接编辑 .iml 文件并不能长久工作——每次 Android Studio 将 Gradle 文件与项目同步时,这些文件都会被覆盖,这种情况经常发生。

于 2014-03-15T21:35:01.187 回答