2

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

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

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

无论有无 sourceSet 条目,我们的发布和调试版本都按预期工作。

那么,是不是 gradle 在构建时默认会寻找构建类型的来源xapp/src/x/java

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

4

2 回答 2

1

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

图像1

默认情况下,Gradle 会xapp/src/x/java.

例如,对于调试构建类型,build.gradle 中没有 sourceSet 条目。它给出了./gradlew sourceSets

img2

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

于 2017-11-22T11:16:53.140 回答
1

据我所知,您可以创建不同的“sourceSets”,它基本上只是帮助您在应用程序的不同变体之间组织代码。除“主”集外的每个源集都是可选的。

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

于 2017-11-22T07:50:03.877 回答