在Android Studio中使用生成的源或src-gen文件夹?

时间:2014-03-15 20:12:57

标签: android-studio code-generation greendao generated-code

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

-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)

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

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

我还尝试手动编辑mainProjectModule.iml文件,将/ src-gen / main / java文件夹添加为源,它将变为蓝色,但几秒后它会自动更改。

1 个答案:

答案 0 :(得分:8)

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

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

正如您所见,直接编辑.iml文件并不能长时间工作 - 每次Android Studio将Gradle文件与项目同步时都会被覆盖,这有点经常。