Android Studio tạo ra hương vị sản phẩm nào theo mặc định trong build.gradle?


160

Chúng tôi có một dự án Android sử dụng hệ thống xây dựng Gradle mới và chúng tôi sử dụng Android Studio làm công cụ phát triển. Khi có một số hương vị sản phẩm được chỉ định trong build.gradle, chúng tôi nhận thấy rằng Android Studio xây dựng một hương vị đầu tiên được chỉ định theo thứ tự bảng chữ cái. Có cách nào để bảo Android Studio xây dựng và chỉ thử nghiệm một hương vị sản phẩm cụ thể trong quá trình phát triển không?

Câu trả lời:


334

Ở phía dưới bên trái của cửa sổ Studio, có một khung nhìn được đặt tên là "Biến thể xây dựng".

Mở nó và chọn bất kỳ biến thể nào bạn muốn làm việc trên. Điều này sẽ tác động đến biến thể nào được xây dựng mà cả các thư mục nguồn được kích hoạt, sẽ thúc đẩy sự hoàn thành trong các trình soạn thảo mã và tài nguyên.


15
Mát mẻ. Có cách nào để tùy chỉnh cái nào nó thích khi nhập lần đầu không?
Joe

3
Tôi không nghĩ vậy. Tôi có thể hỏi kỹ sư đã làm nó nếu chúng ta có thể thêm cái này. Nhưng điều này có thể sẽ khác nhau cho mỗi dự án nếu bạn có hương vị.
Xavier Ducrohet

34
Các biến thể là sự kết hợp của hương vị (s) và các loại xây dựng. Bạn chỉ có thể triển khai các biến thể. Bạn không bao giờ có thể xây dựng một apk chỉ là một hương vị.
Xavier Ducrohet

5
Nếu bạn quan tâm, bạn có thể sử dụng dòng lệnh để xây dựng biến thể được chỉ định: ./gradlew lắp ráp <Flavor1> <Flavor2> <...> <BuildType>, ví dụ: lắp rápGooglePlayRelease. Và bạn có thể xây dựng và cài đặt trên thiết bị hoặc trình giả lập được kết nối bằng cách sử dụng: ./gradlew cài đặt <Flavor1> <Flavor2> <...> <BuildType>
Deepscorn

5
Nhưng với hương vị sản phẩm nào, studio Android có xây dựng ứng dụng theo mặc định không?
Malwinder Singh

20

Hiện tại dường như không có cách nào để chọn hương vị mặc định. Có một yêu cầu tính năng trong Trình theo dõi sự cố Android cho nó:

https://code.google.com.vn/p/android/issues/detail?id=64917

Bạn có thể gắn dấu sao / bỏ phiếu cho yêu cầu, để nó được ưu tiên cao hơn đối với các công cụ phát triển Android tồn đọng.


3
tính năng này sẽ có trong Android Studio 3.5. KHÔNG CÔNG VIỆC - điều này mất 5 năm để thực hiện !! (nhìn vào ngày tạo vé)
Ai đó ở đâu đó

4

Vâng, đó là một cách:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

Và các biến thể khác với kiểu xây dựng gỡ lỗi được ưa chuộng.

Nó đã được thêm vào Android Studio 3.5, xem yêu cầu tính năng :

"Được bao gồm trong Plugin Android Gradle 3.5.0-alpha08 và Android Studio 3.5 Canary 8 [3.5.0.7].

Các heuristic cho các dự án sử dụng AGP cũ hơn và các dự án không có cài đặt rõ ràng cũng đã được cập nhật để ưu tiên các biến thể với gỡ lỗi kiểu xây dựng, như được mô tả trong thông báo cam kết. "


-1

Bạn có thể chỉ định lệnh chạy trong Phần trước khi khởi chạy Nhận biết cấp độ

Bạn có thể liệt kê tất cả các nhiệm vụ lớp gradlew tasks

nhập mô tả hình ảnh ở đây


Tôi đã thử điều này và trong khi nó chắc chắn chỉ có một hương vị được tạo ra, Android Studio vẫn sẽ chỉ khởi chạy biến thể được chọn. Tệ hơn, nếu tôi chọn một Hoạt động cụ thể không có trong biến thể đã chọn, thì tôi nhận được thông báo lỗi khó hiểu với nội dung "hoạt động phải được xuất hoặc chứa bộ lọc ý định". Lỗi sẽ biến mất khi tôi thay đổi lựa chọn hàng rào xây dựng.
Dagmar
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.