Gradle Sadece bir lezzet oluşturun


94

Birisi bana farklı tatlarımdan yalnızca birini komut satırı üzerinden oluşturmanın mümkün olup olmadığını söyleyebilir mi?

Şu anda uygulamanın yolunu görmedim, örneğin:

gradle buildDev 

Dev, farklı tatlarımdan biri olduğunda. Aslında, yürütmem gerekiyor:

gradle build

Ve tüm tatlar oluşturulmuştur.

Bazı tatları atlamak istiyorum. mümkün mü?

Teşekkürler


önce gradleparametreler olmadan çalıştırmayı deneyin , sonra çıktıyı okuyun ... çalıştırılacak ipucu olacak gradle tasks...
Selvin

Yanıtlar:


156

Hiçbir tat özgü bir sürümü olsa da buildgöreve tadı özgü versiyonları vardır assembleve installgörevleri. assembleAPK'yi oluşturacak; installcihazlara / emülatörlere kuracak.

Örneğin, bu örnek proje , iki ürün çeşniler (tanımlamak chocolateve vanilla) ve toplam üç yapı tipleri ( debug, releaseve mezzanine).

gradle tasksDiğerlerinin yanı sıra koşu şovları:

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
Ardından, flavour'un APK'sini oluşturmak istediğimde assembleXXX'i kullanmam gerekiyor. Güzel. Teşekkürler.
Jose M Lechon

11
@Lechon: projenize yerleştirilmekle gradle assembleChocolateDebugsonuçlanacaktır build/apk/HelloProductFlavors-chocolate-debug-unaligned.apk. Yine de, bunun sadece tadı lezzetli olduğunda işe yarama olasılığını göz ardı edemem. :-)
CommonsWare

2
@Zainodis: Bu cevap bir yıldan fazla bir süredir ve tüm ürün çeşitleri için hata ayıklama derleme türünü bir araya getiren bir görev eklemiş olmaları mümkündür.
CommonsWare

1
@Zainodis: Android 1.0 için Gradle'ın piyasaya sürülmesiyle biraz yavaşlaması gerekiyor.
CommonsWare

3
Modülleriniz varsa, modül ön ekini unutmayın:<module>:assemble<FlavorName>
Torge

28

@CommonsWare tarafından verilen cevabı basitleştirirdim çünkü cevabın üzerinden geçerken biraz kafam karıştı.

Bunların ürün aromaları olduğunu düşünün

  • Dev
  • Ön üretim
  • Üretim

Çalıştırmak

gradlew görevi

Bu, tüm Ürün çeşitlerini ve orada inşa türlerini listeleyecektir.

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.

Bundan kolaylıkla tatları seçebilir ve buna göre bir yapı oluşturabilirsiniz.

gradlew assemblePREPROD


12

Ürününüzün aroması çikolata ise

./gradlew assembleChocolateRelease

veya

./gradlew assembleChocolateDebug

1

Yukarıdaki cevaplara eklemek için, bir Android Paketi (AAB) oluşturmak istiyorsanız, bunu kullanabilirsiniz.

# build flavor 'flavorName' only
./gradlew bundleFlavorName
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.