Tại sao AAB lại được sử dụng để thay thế APK?
Google Play sử dụng gi ứng dụng để tạo v phn phối cc file APK được tối ưu ha cho từng cấu hnh thiết bị, v vậy, chỉ code v ti nguyn cần thiết cho một thiết bị cụ thể mới được tải xuống để chạy ứng dụng. Bạn khng cn phải tạo, k v quản l nhiều file APK để tối ưu ha hỗ trợ cho cc thiết bị khc nhau v người dng nhận được những bản tải xuống nhỏ hơn, được tối ưu ha tốt hơn.
Hầu hết mọi dự n ứng dụng sẽ khng đi hỏi nhiều nỗ lực để tạo cc gi ứng dụng hỗ trợ việc phn phối những file APK được tối ưu ha. V dụ, nếu bạn đ sắp xếp code v ti nguyn của ứng dụng theo cc quy ước đ thiết lập, chỉ cần tạo Android App Bundle đ k bằngAndroid Studiohoặc sử dụng dng lệnh rồi upload chng ln Google Play. Khi đ, việc phn pht APK được tối ưu ha sẽ trở thnh một lợi ch tự c.
Khi sử dụng định dạng gi ứng dụng để xuất bản ứng dụng của mnh, bạn cũng c thể ty tận dụng Play Feature Delivery, cho php bạn thm m-đun tnh năng vo dự n ứng dụng của mnh. Cc m-đun ny chứa những tnh năng v ti nguyn chỉ được bao gồm trong ứng dụng của bạn, dựa trn cc điều kiện m bạn chỉ định hoặc c sẵn sau thời điểm chạy (runtime) để tải xuống bằng Play Core Library.
Những nh pht triển game xuất bản ứng dụng của họ với cc gi ứng dụng c thể sử dụng Play Asset Delivery: Giải php của Google Play để phn phối một lượng lớn nội dung game cung cấp cho cc nh pht triển những phương thức phn phối linh hoạt v hiệu suất cao.
Xem video sau để biết tổng quan về l do bạn nn xuất bản ứng dụng của mnh bằng Android App Bundles.
- CAD l file g? CAD được sử dụng ở đu?
Giới hạn dung lượng tải xuống được nn
Xuất bản bằng Android App Bundles gip người dng ci đặt ứng dụng với dung lượng tải xuống nhỏ nhất c thể v tăng giới hạn dung lượng tải xuống được nn ln 150MB. Nghĩa l, khi người dng tải xuống ứng dụng, tổng dung lượng của cc file APK nn được yu cầu để ci đặt ứng dụng (v dụ: APK cơ sở + APK cấu hnh) khng được lớn hơn 150MB. Mọi lượt tải xuống tiếp theo, chẳng hạn như tải xuống m-đun tnh năng (v cc APK cấu hnh của n) theo yu cầu, cũng phải đp ứng giới hạn dung lượng tải xuống được nn ny. Gi nội dung khng gp phần vo giới hạn dung lượng ny, nhưng chng c những giới hạn kch thước khc.
Khi bạn upload gi ứng dụng của mnh, nếu Play Console tm thấy bất kỳ bản tải xuống no c thể c của ứng dụng hoặc cc tnh năng theo yu cầu của n lớn hơn 150MB, th bạn sẽ gặp lỗi.
Xin lưu rằng Android App Bundles khng hỗ trợ file mở rộng APK (* .obb). V vậy, nếu bạn gặp phải lỗi ny khi xuất bản gi ứng dụng của mnh, hy sử dụng một trong cc ti nguyn sau để giảm kch thước tải xuống APK đ nn:
- Đảm bảo bạn bật tất cả cc APK cấu hnh bằng cch đặtenableSplit = truecho từng loại APK cấu hnh. Điều ny đảm bảo rằng người dng chỉ tải xuống code v ti nguyn họ cần để chạy ứng dụng trn thiết bị của họ.
- Đảm bảo bạn thu nhỏ ứng dụng của mnh bằng cch xa code v ti nguyn khng sử dụng.
- Lm theo cc phương php hay nhất để giảm thm dung lượng ứng dụng.
- Cn nhắc chuyển đổi cc tnh năng chỉ được một số người dng sử dụng thnh những m-đun tnh năng m ứng dụng của bạn c thể tải xuống sau ny theo yu cầu. Lưu rằng điều ny c thể yu cầu một số qu trnh cấu trc lại ứng dụng, v vậy trước tin hy đảm bảo thử cc đề xuất khc được m tả ở trn.
Một số vấn đề với Android App Bundles
Sau đy l cc sự cố hiện đ biết khi xy dựng hoặc phn phối ứng dụng với Android App Bundles.
Chỉ ci đặt được một phần cc ứng dụng sideload - nghĩa l cc ứng dụng khng được tải bằng Google Play Store v thiếu một hoặc nhiều APK phn tch bắt buộc - khng ci đặt thnh cng trn tất cả cc thiết bị được Google chứng nhận v thiết bị chạyAndroid 10(API cấp 29) trở ln. Khi tải xuống ứng dụng thng qua Google Play Store,Googleđảm bảo rằng tất cả cc thnh phần bắt buộc của ứng dụng đ được ci đặt.
Nếu bạn sử dụng những cng cụ sửa đổi cc bảng ti nguyn động, những APK được tạo từ cc gi ứng dụng c thể hoạt động khng mong muốn. V vậy, khi xy dựng một gi ứng dụng, bạn nn v hiệu ha cc cng cụ đ.
Hiện c thể cấu hnh cc thuộc tnh trong cấu hnh build của m-đun tnh năng xung đột với những thuộc tnh từ m-đun cơ sở (hoặc m-đun khc). V dụ, bạn c thể đặtbuildTypes.release.debuggable = truetrong m-đun cơ sở v đặt n thnhfalsetrong m-đun tnh năng. Hy nhớ rằng, theo mặc định, cc m-đun tnh năng kế thừa một số cấu hnh build từ m-đun cơ sở. V vậy, hy đảm bảo rằng bạn hiểu những cấu hnh no bạn nn giữ v những cấu hnh no bạn nn bỏ qua, trong cấu hnh build m-đun tnh năng của mnh.