Gradle Build chỉ một hương vị


92

Ai đó có thể cho tôi biết liệu có thể tạo chỉ một trong những hương vị khác nhau của tôi thông qua dòng lệnh không?

Hiện tại, tôi chưa thấy cách thực thi, ví dụ:

gradle buildDev 

khi Dev là một trong những hương vị khác biệt của tôi. Thật vậy, tôi phải thực hiện:

gradle build

Và tất cả các hương vị được xây dựng.

Tôi muốn bỏ qua một số hương vị. là nó có thể?

Cảm ơn


đầu tiên cố gắng chạy gradlemà không params, sau đó đọc kết quả ... sẽ có gợi ý để chạy gradle tasks...
Selvin

Câu trả lời:


156

Mặc dù không có phiên bản buildnhiệm vụ cụ thể theo hương vị, nhưng có các phiên bản cụ thể về hương vị của nhiệm vụ assembleinstall. assemblesẽ tạo APK; installsẽ cài đặt nó trên các thiết bị / trình giả lập.

Ví dụ, trong dự án mẫu này , tôi xác định hai hương vị sản phẩm ( chocolatevanilla) và tổng ba loại xây dựng ( debug, releasemezzanine).

Đang chạy gradle taskschương trình, trong số những người khác:

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
Sau đó, khi tôi muốn xây dựng APK của hương liệu, tôi phải sử dụng assemblyXXX. Mát mẻ. Cảm ơn.
Jose M Lechon

11
@Lechon: gradle assembleChocolateDebugsẽ dẫn đến build/apk/HelloProductFlavors-chocolate-debug-unaligned.apkviệc được đưa vào dự án của bạn. Tuy nhiên, tôi không thể loại trừ khả năng rằng điều này chỉ hoạt động nếu hương vị ngon. :-)
CommonsWare

2
@Zainodis: Câu trả lời này đã hơn một năm và có thể họ đã thêm một nhiệm vụ tập hợp kiểu xây dựng gỡ lỗi cho tất cả các phiên bản sản phẩm.
CommonsWare

1
@Zainodis: Hiện tại, Gradle dành cho Android 1.0 đã xuất xưởng sẽ làm chậm một số.
CommonsWare

3
Nếu bạn có mô-đun, đừng quên tiền tố mô-đun:<module>:assemble<FlavorName>
Torge

28

Tôi sẽ đơn giản hóa câu trả lời do @CommonsWare đưa ra vì xem qua câu trả lời, tôi rất bối rối.

Hãy coi đây là những hương vị sản phẩm

  • Dev
  • Preprod
  • Sản phẩm

Chạy

nhiệm vụ gradlew

Điều này sẽ liệt kê tất cả các hương vị Sản phẩm cùng với các loại xây dựng

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.

Từ đó, bạn có thể dễ dàng chọn hương vị và sẽ tạo ra một bản dựng dựa trên đó

lắp ráp gradlewPREPROD


10

Nếu sản phẩm của bạn là sô cô la, bạn có thể làm

./gradlew assembleChocolateRelease

hoặc là

./gradlew assembleChocolateDebug

1

Để thêm vào các câu trả lời ở trên, nếu bạn muốn xây dựng Android Bundle (AAB) thì bạn có thể sử dụng

# build flavor 'flavorName' only
./gradlew bundleFlavorName
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.