Обратите внимание: ответ отредактирован после ответа Ксавье
Я пытаюсь использовать разные варианты сборки для одного и того же проекта приложения в Android Studio. Тем не менее, мне кажется, что я ужасно настраиваю его для правильной работы.
шаги:
- Создайте новый проект Android Studio с именем «Test».
Откройте build.gradle * и добавьте следующие строки:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- После перезапуска Android Studio теперь я вижу 4 варианта сборки в разделе «Варианты сборки». То есть мы до сих пор успешно настраивали вкусы продуктов. **
Создана новая папка Source для flavor1 ; однако я не уверен, правильно ли я это делаю. Вот как я это сделал:
- Имейте в виду, что мое имя пакета для этого проекта:
com.foo.test
- Щелкните правой кнопкой мыши на
src
папке, для flavor1, я фактически создал отдельные папки в проводнике, таким образом, что структураsrc/flavor1/java/com/foo/test/MainActivity.java
. - Вышесказанное сработало хорошо, поскольку папка 'java' выделена синим цветом , что означает, что среда IDE знает свой каталог с активным исходным кодом. Также пакет был создан автоматически. Несмотря на это, я получаю предупреждение об обнаружении повторяющегося класса. Смотрите скриншот здесь.
- Для flav2 я попытался создать пакет вручную, но папка 'src' для flav2, кажется, не синего цвета, и поэтому при щелчке правой кнопкой мыши параметры отличаются, и я не могу использовать 'New Package'. Смотрите изображение здесь.
- Обратите внимание, что для flav1 я также создал каталог 'res', который становится синим, но, несмотря на это, не дает возможности создавать ни файл ресурсов Android, ни каталог ресурсов Andorid, на случай, если я захочу использовать другой Ресурсы для разных вкусов.
- Имейте в виду, что мое имя пакета для этого проекта:
Я делаю что-то неправильно? Или я что-то упустил? Дайте мне знать, если вам нужно больше информации.
* Мой проект, кажется, имеет два файла build.gradle. Один находится в корне папки проекта (\ GradleTest), этот пустой. Вторая, расположенная в корне подпапки \ GradleTest, также помечена как «GradleTest» (GradleTest-GradleTest), это та, у которой уже был код при открытии; поэтому это тот, который я отредактировал.
** Я проверил Gradle настройки и , видимо , использование автоматического импорта был уже включен. Несмотря на это, внесение изменений в файл build.gradle не приводит к автоматическому обновлению вариантов сборки. Примечание: я также пытался использовать Build - Rebuild Project и / или Build - Make Project, no-go. Мне все еще нужно закрыть проект и открыть заново, чтобы изменения вступили в силу.
applicationId
теперь поддерживается вместоpackageName
.