web-dev-qa-db-fra.com

Gradle Construire seulement une saveur

Quelqu'un pourrait-il me dire s'il est possible de créer une seule de mes variantes via la ligne de commande?

Pour le moment, je n'ai pas vu le moyen d'exécuter, par exemple:

gradle buildDev 

quand Dev est l'une de mes différentes saveurs. En effet, je dois exécuter:

gradle build

Et toutes les saveurs sont construites.

Je voudrais sauter quelques saveurs. c'est possible?

Merci

79
Jose M Lechon

Bien qu'il n'y ait pas de version spécifique à une saveur de la tâche build, il existe des versions spécifiques à une saveur des tâches assemble et install. assemble créera l'APK; install l'installera sur des périphériques/émulateurs.

Par exemple, dans ce projet exemple , je définis deux variantes de produit (chocolate et Vanilla) et trois types de construction totaux (debug, release et mezzanine).

En cours d'exécution gradle tasks _ indique, entre autres:

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
136
CommonsWare

Je simplifierais la réponse donnée par @CommonsWare parce que, passant en revue la réponse, j'étais un peu confus.

Considérez ce sont les saveurs du produit

  • Dev
  • Preprod
  • Prod

Courir

tâche graduelle

Ceci listera toutes les saveurs de produits avec leurs types de construction

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.

A partir de cela, vous pouvez facilement choisir les saveurs et générer une construction basée sur celle-ci.

gradlew assemblePREPROD

26
droid kid

Si votre produit Flavour est du chocolat, vous pouvez le faire

./gradlew assembleChocolateRelease

ou

./gradlew assembleChocolateDebug
4
Eric Kim