Який аромат продукту створює Android Studio за замовчуванням у build.gradle?


160

У нас є проект Android, який використовує нову систему збирання Gradle, і ми використовуємо Android Studio як інструмент розробки. Коли вказано кілька ароматів продуктів build.gradle, ми помічаємо, що Android Studio будує перший, визначений в алфавітному порядку. Чи є спосіб сказати Android Studio створити та протестувати лише специфічний аромат продукту під час розробки?

Відповіді:


334

У нижній лівій частині вікна студії розміщено стикований вигляд під назвою "Варіанти збірки".

Відкрийте його та оберіть той варіант, над яким ви хочете працювати. Це вплине на те, який варіант буде побудований, але також увімкнені папки-джерела, які сприятимуть завершенню роботи редакторів коду та ресурсів.


15
Класно. Чи існує спосіб налаштувати, який із них він надає перевагу при первинному імпорті?
Джо

3
Я не думаю, що так. Я можу запитати інженера, хто це зробив, якщо ми можемо додати це. Але це, ймовірно, буде різним для кожного проекту, якщо у вас є аромати.
Ксав'є Дюкрохет

34
Варіанти - це поєднання типів смаку та стилю. Ви можете розгорнути лише варіанти. Ви ніколи не можете створити apk, який є лише ароматом.
Ксав'є Дюкрохет

5
Якщо вам цікаво, ви можете використовувати командний рядок для створення вказаного варіанту: ./gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>, наприклад, assembleGooglePlayRelease. А ви можете створити та встановити на підключеному пристрої чи емуляторі за допомогою: ./gradlew install <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn

5
Але з яким ароматом продукту, студія Android будує додаток за замовчуванням?
Malwinder Singh

20

В даний час, здається, немає можливості вибрати аромат за замовчуванням. У програмі Android Issue Tracker є запит на функцію:

https://code.google.com/p/android/isissue/detail?id=64917

Ви можете подати зірочку / проголосувати запит, щоб він став більшим пріоритетом у відставанні інструментів розробки Android.


3
ця функція буде в Android Studio 3.5. НЕ ЖУТИ - на реалізацію знадобилося 5 років !! (дивіться дату створення квитка)
Хтось десь

4

Так, є спосіб:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Інакше прихильні варіанти з типом збірки налагодження.

Додано в Android Studio 3.5, див. Запит на функції :

"Входить у Android Gradle Plugin 3.5.0-alpha08 та Android Studio 3.5 Canary 8 [3.5.0.7].

Евристика для проектів, що використовують старіші AGP та проекти без явних налаштувань, також була оновлена ​​для вибору варіантів з налагодженням типу збірки, як описано в повідомленні комісії. "


-1

Ви можете вказати команду запустити в розділі Перед запуском Makele-відомого Gradle

Ви можете перелічити всі завдання gradle за: gradlew tasks

введіть тут опис зображення


Я спробував це, і хоча це, безумовно, призводить до створення лише одного аромату, Android Studio все одно запустить лише вибраний варіант. Гірше, якщо я вибираю конкретну активність не у вибраному варіанті, то я отримую заплутане повідомлення про помилку, яке говорить: "діяльність повинна бути експортована або містити фільтр намірів". Помилка знімається, як тільки я змінюю бар'єрний вибір збірки.
Дагмар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.