Gradle Zbuduj tylko smak


94

Czy ktoś mógłby mi powiedzieć, czy można zbudować tylko jeden z moich różnych smaków za pomocą wiersza poleceń?

W tej chwili nie widziałem sposobu wykonania, na przykład:

gradle buildDev 

kiedy Dev jest jednym z moich różnych smaków. Rzeczywiście muszę wykonać:

gradle build

I wszystkie smaki są budowane.

Chciałbym pominąć niektóre smaki. Czy to możliwe?

Dzięki


najpierw spróbuj uruchomić gradlebez parametrów, potem odczytaj wyjście ... pojawi się wskazówka do uruchomienia gradle tasks...
Selvin

Odpowiedzi:


156

Chociaż nie ma wersji buildzadania specyficznej dla smaku, istnieją wersje assemblei installzadania specyficzne dla smaku . assembleutworzy APK; installzainstaluje go na urządzeniach / emulatorach.

Na przykład, w tym próbki projektu , zdefiniować dwie odmiany produktu ( chocolatei vanilla) i łącznie trzy rodzaje wykonania ( debug, releasei mezzanine).

gradle tasksPokazy biegowe m.in .:

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
Następnie, gdy chcę zbudować plik APK ze smakiem, muszę użyć pliku assembleXXX. Fajne. Dzięki.
Jose M Lechon

11
@Lechon: gradle assembleChocolateDebugspowoduje build/apk/HelloProductFlavors-chocolate-debug-unaligned.apkumieszczenie w Twoim projekcie. Chociaż nie mogę wykluczyć, że działa to tylko wtedy, gdy smak jest smaczny. :-)
CommonsWare

2
@Zainodis: Ta odpowiedź ma ponad rok i możliwe, że dodali zadanie, które zestawia typ kompilacji debugowania dla wszystkich smaków produktów.
CommonsWare

1
@Zainodis: Powinno to trochę spowolnić teraz, gdy pojawił się Gradle dla Androida 1.0.
CommonsWare

3
Jeśli masz moduły, nie zapomnij o prefiksie modułu:<module>:assemble<FlavorName>
Torge

28

Uprościłbym odpowiedź udzieloną przez @CommonsWare, ponieważ przeglądając odpowiedź, byłem trochę zdezorientowany.

Weź pod uwagę, że są to smaki produktu

  • Dev
  • Preprod
  • Szturchać

Biegać

zadanie gradlew

Spowoduje to wyświetlenie wszystkich smaków produktów wraz z typami kompilacji

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.

Z tego możesz łatwo wybrać smaki i na ich podstawie wygenerujesz kompilację

montaż gradlewPREPROD


12

Jeśli Twój produkt to czekolada, możesz to zrobić

./gradlew assembleChocolateRelease

lub

./gradlew assembleChocolateDebug

1

Aby dodać do powyższych odpowiedzi, jeśli chcesz zbudować pakiet Androida (AAB), możesz tego użyć

# build flavor 'flavorName' only
./gradlew bundleFlavorName
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.