我的项目目录如下:
-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文件夹作为源,它会变成蓝色,但几秒钟后会自动变回。
sourceSets
块需要在Android构建文件的android
块内。注意,这与普通的Java构建不同,在普通的Java构建中,该块位于顶层:
android {
...
sourceSets {
main {
java.srcDirs = ['src/main/java', 'src-gen/main/java']
}
}
}
正如你所看到的,直接编辑。iml文件不会工作很长时间——每次Android Studio同步Gradle文件与项目时,这些文件都会被覆盖,这是经常发生的。