我是否需要在build.gradle中为发布/调试java源文件夹添加源集?

时间:2017-11-22 06:47:27

标签: android android-studio gradle source-sets

我为发布版buildType添加了一个新的Java源文件夹release(app / src / release / java)。对于此Android Studio,自动将此行添加到我的app / build.gradle:

 sourceSets { release { java.srcDirs = ['src/release/java', 'src/release/java/'] } }

我们的调试buildType在debug文件夹(app / src / debug / java)中已经有了一些代码。调试源集的app / build.gradle文件中没有条目。

我们的发布和调试版本在有和没有sourceSet条目的情况下正常工作。

那么,在构建时,gradle默认是在x中查找构建类型app/src/x/java的来源。

如果是,为什么Android-Studio为我添加了build.gradle中的sourceSet行?

2 个答案:

答案 0 :(得分:1)

据我所知,你可以创建不同的" sourceSets"这基本上只是帮助您在应用程序的不同变体之间组织代码。每个sourceSet除了" main" set是可选的。

您可以在android developer hub上找到有关此主题的更多详细信息。

答案 1 :(得分:1)

好的,所以Android Studio已将sourceSet添加到build.gradle,因为我在为buildType'release'添加文件夹'release'时标记了'更改文件夹位置'。

img1

默认情况下,Gradle会在x中查找构建类型app/src/x/java的来源。

例如,对于调试版本类型,build.gradle中没有sourceSet条目。在./gradlew sourceSets上,它给出了:

img2

因此,如果您不使用自定义文件夹结构,则无需将sourceSet添加到build.gradle。