2014-01-23 4 views
64

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

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

gradle buildDev 

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

gradle build 

И все вкусы строятся.

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

Благодаря

+0

сначала попробуйте запустить «gradle» без параметров, затем прочитать вывод ... появится подсказка для запуска «задач градации» ... – Selvin

ответ

107

Хотя нет никакого аромата конкретной версии build задачи, есть вкус конкретных версии assemble и install задач. assemble создаст APK; install будет устанавливать его на устройствах/эмуляторах.

Например, в this sample project, я определяю два аромата продукта (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 
+1

Затем, когда я хочу создать APK аромата, мне нужно использовать сборникXXX. Круто. Благодарю. –

+9

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

+0

спасибо, я уже в пути, чтобы использовать его. –

17

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

Рассмотрим эти ароматы продукта

  • Dev
  • Preprod
  • Prod

Run

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 assemblePREPROD

Смежные вопросы