Gradle Build только вкус


94

Может ли кто-нибудь сказать мне, можно ли создать только один из моих разных вариантов через командную строку?

На данный момент я не видел способа выполнить, например:

gradle buildDev 

когда Dev - один из моих разных вкусов. Действительно, я должен выполнить:

gradle build

И все вкусы построены.

Я бы хотел пропустить некоторые ароматы. Является ли это возможным?

Благодарность


сначала попробуйте запустить gradleбез параметров, затем прочтите вывод ... будет подсказка для запуска gradle tasks...
Селвин

Ответы:


156

Несмотря на то, что версии buildзадачи для конкретного типа не существует, существуют версии задач assembleи для конкретного типа install. assembleсоздаст APK; installустановит его на устройства / эмуляторы.

Например, в этом примере проекта я определяю два аромата продукта ( chocolateи vanilla) и три общих типа сборки ( debug, releaseи mezzanine).

Беговые gradle tasksшоу, среди прочего:

Build tasks
-----------
assemble - Assembles all variants of all applications and secondary packages.
assembleChocolate - Assembles all builds for flavor Chocolate
assembleChocolateDebug - Assembles the Debug build for flavor Chocolate
assembleChocolateDebugTest - Assembles the Test build for the ChocolateDebug build
assembleChocolateMezzanine - Assembles the Mezzanine build for flavor Chocolate
assembleChocolateRelease - Assembles the Release build for flavor Chocolate
assembleDebug - Assembles all Debug builds
assembleMezzanine - Assembles all Mezzanine builds
assembleRelease - Assembles all Release builds
assembleTest - Assembles all the Test applications
assembleVanilla - Assembles all builds for flavor Vanilla
assembleVanillaDebug - Assembles the Debug build for flavor Vanilla
assembleVanillaDebugTest - Assembles the Test build for the VanillaDebug build
assembleVanillaMezzanine - Assembles the Mezzanine build for flavor Vanilla
assembleVanillaRelease - Assembles the Release build for flavor Vanilla

Install tasks
-------------
installChocolateDebug - Installs the Debug build for flavor Chocolate
installChocolateDebugTest - Installs the Test build for the ChocolateDebug build
installChocolateMezzanine - Installs the Mezzanine build for flavor Chocolate
installChocolateRelease - Installs the Release build for flavor Chocolate
installVanillaDebug - Installs the Debug build for flavor Vanilla
installVanillaDebugTest - Installs the Test build for the VanillaDebug build
installVanillaMezzanine - Installs the Mezzanine build for flavor Vanilla
installVanillaRelease - Installs the Release build for flavor Vanilla
uninstallAll - Uninstall all applications.
uninstallChocolateDebug - Uninstalls the Debug build for flavor Chocolate
uninstallChocolateDebugTest - Uninstalls the Test build for the ChocolateDebug build
uninstallChocolateMezzanine - Uninstalls the Mezzanine build for flavor Chocolate
uninstallChocolateRelease - Uninstalls the Release build for flavor Chocolate
uninstallVanillaDebug - Uninstalls the Debug build for flavor Vanilla
uninstallVanillaDebugTest - Uninstalls the Test build for the VanillaDebug build
uninstallVanillaMezzanine - Uninstalls the Mezzanine build for flavor Vanilla
uninstallVanillaRelease - Uninstalls the Release build for flavor Vanilla

2
Затем, когда я хочу создать APK-файл аромата, я должен использовать файл AssemblyXXX. Круто. Спасибо.
Jose M Lechon

11
@Lechon: gradle assembleChocolateDebugприведет build/apk/HelloProductFlavors-chocolate-debug-unaligned.apkк размещению в вашем проекте. Хотя не исключаю, что это работает, только если вкус вкусный. :-)
CommonsWare

2
@Zainodis: этому ответу больше года, и, возможно, они добавили задачу, которая собирает тип сборки отладки для всех видов продукта.
CommonsWare

1
@Zainodis: Теперь, после выхода Gradle для Android 1.0, это должно немного притормозить.
CommonsWare

3
Если у вас есть модули, не забудьте префикс модуля:<module>:assemble<FlavorName>
Торже

28

Я бы упростил ответ, данный @CommonsWare, потому что, просматривая ответ, я был немного смущен.

Считайте, что это ароматы продукта

  • Dev
  • Препрод
  • Прод

Бегать

Gradlew задача

Здесь будут перечислены все вкусы продукта вместе с типами сборки.

assemble - Assembles all variants of all applications and secondary packages.
assembleAndroidTest - Assembles all the Test applications.
assembleDebug - Assembles all Debug builds.
assembleDEV - Assembles all DEV builds.
assemblePREPROD - Assembles all PREPROD builds.
assemblePROD - Assembles all PROD builds.
assembleRelease - Assembles all Release builds.

Из этого вы можете легко выбрать ароматы и сгенерировать сборку на основе этого

gradlew сборка


12

Если ваш продукт вкус шоколада, вы можете сделать

./gradlew assembleChocolateRelease

или

./gradlew assembleChocolateDebug

1

Чтобы добавить к приведенным выше ответам, если вы хотите создать Android Bundle (AAB), вы можете использовать это

# build flavor 'flavorName' only
./gradlew bundleFlavorName
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.