Xin lưu ý: Trả lời được chỉnh sửa sau Câu trả lời của Xavier
Tôi đang cố gắng sử dụng các Hương vị xây dựng khác nhau cho cùng một dự án Ứng dụng trong Android Studio. Tuy nhiên, tôi dường như đang có một thời gian khủng khiếp để cấu hình nó để hoạt động phù hợp.
Các bước:
- Tạo Dự án Android Studio mới, được đặt tên là 'Thử nghiệm'.
Mở build.gradle * và thêm các dòng sau:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Sau khi khởi động lại Android Studio, bây giờ tôi thấy 4 biến thể xây dựng trong phần Build Variants. Có nghĩa là chúng tôi đã thành công trong việc thiết lập các hương vị sản phẩm cho đến nay. **
Tạo một thư mục Nguồn mới cho hương vị1 ; tuy nhiên, tôi không chắc liệu tôi có làm đúng cách không. Đây là cách tôi đã làm:
- Hãy nhớ rằng tên Gói của tôi cho dự án này là:
com.foo.test
- Nhấp chuột phải vào
src
thư mục, đối với hương vị1, tôi thực sự đã tạo các thư mục riêng lẻ trong trình thám hiểm, theo cách cấu trúcsrc/flavor1/java/com/foo/test/MainActivity.java
. - Ở trên đã hoạt động tốt, vì thư mục 'java' có màu xanh lam , có nghĩa là IDE biết thư mục nguồn đang hoạt động. Ngoài ra, gói đã được tự động tạo ra. Mặc dù vậy, tôi nhận được một cảnh báo cho lớp trùng lặp được tìm thấy. Xem ảnh chụp màn hình ở đây.
- Đối với hương vị 2, tôi đã thử tạo gói theo cách thủ công, nhưng thư mục 'src' cho hương vị 2 dường như không có màu xanh lam và do đó các tùy chọn khác nhau khi nhấp chuột phải và 'Gói mới' không có sẵn cho tôi sử dụng. Xem hình ảnh ở đây.
- Lưu ý rằng đối với hương vị1, tôi cũng đã tạo một thư mục 'res', nó chuyển sang màu xanh lam, nhưng mặc dù vậy, nó không cung cấp khả năng tạo tệp Tài nguyên Android hoặc thư mục tài nguyên Andorid, trong trường hợp tôi muốn sử dụng khác resoruces cho các hương vị khác nhau.
- Hãy nhớ rằng tên Gói của tôi cho dự án này là:
Tôi có làm điều gì sai? Hay tôi đang thiếu một cái gì đó? Hãy cho tôi biết nếu bạn cần thêm thông tin.
* Dự án của tôi dường như có hai tệp build.gradle. Một cái nằm ở thư mục gốc của thư mục dự án (\ GradleTest), cái này trống. Cái thứ hai nằm ở thư mục gốc của thư mục con của \ GradleTest, cũng được gắn nhãn 'GradleTest' (GradleTest-GradleTest), đây là cái đã có mã khi mở; do đó, đó là cái tôi đã chỉnh sửa.
** Tôi đã kiểm tra cài đặt lớp và rõ ràng Sử dụng tự động nhập đã được bật. Mặc dù vậy, việc thay đổi tệp build.gradle không tự động cập nhật các biến thể xây dựng. Lưu ý: Tôi cũng đã thử sử dụng Build - Rebuild Project và / hoặc Build - Make Project, no-go. Tôi vẫn phải đóng dự án và mở lại để các thay đổi có hiệu lực.
applicationId
bây giờ là hỗ trợ thay vìpackageName
.