Нужно ли мне добавлять исходные наборы в build.gradle для папок с исходными кодами java для выпуска / отладки?

Я добавил новую исходную папку Java release (app / src / release / java) для нашего выпуска buildType. Для этой Android Studio автоматически добавила эту строку в мой app / build.gradle:

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

У нас уже был код в папке debug (app / src / debug / java) для нашего типа сборки отладки. И в файле app / build.gradle нет записи для набора исходных кодов отладки.

И наши сборки выпуска и отладки работают, как ожидалось, с записью sourceSet и без нее.

Итак, Gradle ищет источник для типа сборки x в app/src/x/java по умолчанию во время сборки.

Если да, то почему Android-Studio добавила для меня строку sourceSet в build.gradle?


person jayeshsolanki93    schedule 22.11.2017    source источник
comment
developer.android.com/studio/build/   -  person IntelliJ Amiya    schedule 22.11.2017


Ответы (2)


Насколько я знаю, вы можете создавать разные «исходные наборы», которые в основном просто помогают вам организовать код между различными вариантами вашего приложения. Каждый исходный набор, кроме «основного», является необязательным.

Вы можете найти более подробную информацию по этой теме в центре разработчиков Android.

person Dominik Louven    schedule 22.11.2017

Итак, Android Studio добавила sourceSet в build.gradle, потому что я пометил «Изменить расположение папки» при добавлении папки «release» для buildType «release».

img1

И по умолчанию Gradle ищет источник для типа сборки x в app/src/x/java.

Например, для типа сборки отладки в build.gradle нет записи sourceSet. А на ./gradlew sourceSets это дает:

img2

Поэтому нет необходимости добавлять sourceSet в build.gradle, если вы не используете настраиваемую структуру папок.

person jayeshsolanki93    schedule 22.11.2017