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