Tôi có một ứng dụng Android với một số hương vị sản phẩm khác nhau được cấu hình trong build.gradle tôi tập tin ví dụNhận hương vị sản phẩm hoặc xây dựng biến thể trong một ứng dụng android
productFlavors {
someFlavor {}
anotherFlavor {}
}
Trong mã ứng dụng của tôi, tôi muốn có thể để có được tên của hương vị hiện đang được biên dịch (hoặc xây dựng biến thể). Một giải pháp là:
productFlavors {
someFlavor {
buildConfig "public static final String PRODUCT_FLAVOR = \"someFlavor\";"
}
anotherFlavor {
buildConfig "public static final String PRODUCT_FLAVOR = \"anotherFlavor\";"
}
}
Và sau đó trong cuộc gọi ứng dụng Android của tôi BuildConfig.PRODUCT_FLAVOR
.
Có cách nào để tôi có thể tự động làm việc này không? Hoặc là có một số API khác trong android tôi có thể sử dụng để có được tên hương vị sản phẩm?
Đó chính xác là những gì tôi muốn - cảm ơn. Tôi thấy tôi cần sử dụng khiObjectAdded thay vì whenAdded, vì vậy tôi đã chỉnh sửa câu trả lời của bạn, nhưng về cơ bản thì điều này là chính xác. – robd
Cảm ơn rất nhiều vì đã cập nhật câu trả lời của bạn - hữu ích! – robd
Tôi muốn lấy biến thể xây dựng đã chọn trong build.gradle nhưng khiObjectAdded không hoạt động đối với tôi. Dưới đây là những gì tôi đang làm: android { productFlavors { flavor1 {} \t \t flavor2 {}} productFlavors.whenObjectAdded {hương vị -> println 'khi đối tượng nói thêm:' + hương vị } buildTypes { debug {} phát hành {}} } – userv