Gradle Crea solo un sapore


92

Qualcuno potrebbe dirmi se è possibile creare solo uno dei miei diversi gusti tramite la riga di comando?

Al momento non ho visto come eseguire, ad esempio:

gradle buildDev 

quando Dev è uno dei miei diversi gusti. Anzi, devo eseguire:

gradle build

E tutti i sapori sono costruiti.

Vorrei saltare alcuni gusti. È possibile?

Grazie


prima prova a eseguire gradlesenza parametri, quindi leggi l'output ... ci sarà un suggerimento per eseguire gradle tasks...
Selvin

Risposte:


156

Sebbene non esista una versione specifica del gusto dell'attività build, esistono versioni specifiche del gusto delle attività assemblee install. assemblecreerà l'APK; installlo installerà su dispositivi / emulatori.

Per esempio, in questo progetto di esempio , mi definisco due sapori di prodotti ( chocolatee vanilla) e tre tipi di build totali ( debug, release, e mezzanine).

gradle tasksSpettacoli di corsa , tra gli altri:

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
Quindi, quando voglio creare l'APK di flavour, devo usare l'assembleXXX. Freddo. Grazie.
Jose M Lechon

11
@Lechon: gradle assembleChocolateDebugrisulterà build/apk/HelloProductFlavors-chocolate-debug-unaligned.apkessere inserito nel tuo progetto. Tuttavia, non posso escludere la possibilità che funzioni solo se il sapore è gustoso. :-)
CommonsWare

2
@Zainodis: questa risposta risale a più di un anno fa ed è possibile che abbiano aggiunto un'attività che assembla il tipo di build di debug per tutti i gusti di prodotto.
CommonsWare

1
@Zainodis: Dovrebbe rallentare un po 'ora che Gradle per Android 1.0 è stato spedito.
CommonsWare

3
Se hai dei moduli, non dimenticare il prefisso del modulo:<module>:assemble<FlavorName>
Torge

28

Semplificherei la risposta data da @CommonsWare perché passando attraverso la risposta ero un po 'confuso.

Considera questi sono i gusti del prodotto

  • Dev
  • Preprod
  • Prod

Correre

compito graduale

Questo elencherà tutti i gusti del prodotto insieme ai tipi di build

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.

Da questo puoi facilmente scegliere i sapori e genererà una build basata su quello

gradlew assemblarePREPROD


10

Se il tuo prodotto sapore è cioccolato puoi farlo

./gradlew assembleChocolateRelease

o

./gradlew assembleChocolateDebug

1

Per aggiungere alle risposte sopra, se vuoi creare un bundle Android (AAB), puoi usarlo

# build flavor 'flavorName' only
./gradlew bundleFlavorName
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.