Giới thiệu về Android App Bundle

Android App Bundle là định dạng phát hành chứa toàn bộ tài nguyên và mã đã biên dịch của ứng dụng, đồng thời trì hoãn việc tạo APK và đăng nhập vào Google Play.

Google Play sử dụng gói ứng dụng của bạn để tạo và phân phát APK được tối ưu hoá cho từng cấu hình thiết bị. Do đó, chỉ mã và tài nguyên cần thiết cho một thiết bị cụ thể mới được tải xuống để chạy ứng dụng của bạn. Bạn không còn phải xây dựng, ký và quản lý nhiều APK để tối ưu hoá khả năng hỗ trợ cho nhiều thiết bị, đồng thời người dùng sẽ nhận được các tệp tải xuống nhỏ hơn, được tối ưu hoá hơn.

Hầu hết các dự án ứng dụng sẽ không cần nhiều nỗ lực để xây dựng các gói ứng dụng hỗ trợ việc phân phát APK được tối ưu hoá. Ví dụ: nếu bạn đã sắp xếp mã và tài nguyên của ứng dụng theo quy ước đã thiết lập, bạn chỉ cần tạo Android App Bundle đã ký bằng cách sử dụng Android Studio hoặc sử dụng dòng lệnh rồi tải chúng lên Google Play. Sau đó, việc phân phát APK được tối ưu hoá sẽ trở thành lợi ích tự động.

Khi sử dụng định dạng gói ứng dụng để phát hành ứng dụng, bạn cũng có thể tuỳ ý tận dụng Play Feature Delivery để bổ sung mô-đun tính năng cho dự án ứng dụng của mình. Các mô-đun này chứa các tính năng và tài nguyên chỉ đi kèm với ứng dụng căn cứ theo các điều kiện bạn chỉ định hoặc có thể sử dụng về sau vào thời gian chạy khi tải xuống Sử dụng Thư viện Play Core.

Các nhà phát triển trò chơi phát hành ứng dụng của mình bằng gói ứng dụng có thể sử dụng Play Asset Delivery: Giải pháp của Google Play để phân phối lượng lớn tài sản trò chơi, qua đó đem đến cho nhà phát triển cách phân phối linh hoạt và có hiệu suất cao.

Hãy xem video sau đây để biết thông tin tổng quan về lý do bạn nên phát hành ứng dụng của mình bằng Android App Bundle.

Hạn chế về kích thước tệp nén tải xuống

Việc xuất bản bằng Android App Bundle giúp người dùng của bạn cài đặt ứng dụng với các tệp tải xuống nhỏ nhất có thể và tăng giới hạn kích thước tệp nén tải xuống lên 200 MB. Nghĩa là, khi người dùng tải ứng dụng xuống, tổng kích thước của tệp APK nén cần thiết để cài đặt ứng dụng (ví dụ: APK cơ sở + APK cấu hình) không được vượt quá 200 MB. Mọi lượt tải xuống tiếp theo, ví dụ như tải một mô-đun tính năng (và APK cấu hình của mô-đun đó) xuống theo yêu cầu, cũng phải đáp ứng giới hạn kích thước tệp nén tải xuống này. Gói tài sản không đóng góp vào giới hạn kích thước này, nhưng có giới hạn kích thước khác.

Khi bạn tải gói ứng dụng của mình lên, nếu Play Console phát hiện thấy bất kỳ bản tải xuống nào có thể của ứng dụng hoặc tính năng theo yêu cầu của ứng dụng có kích thước vượt quá 200 MB thì bạn sẽ gặp lỗi.

Xin lưu ý rằng Android App Bundle không hỗ trợ tệp mở rộng APK (*.obb). Do đó, nếu bạn gặp lỗi này khi phát hành gói ứng dụng, hãy sử dụng một trong các tài nguyên sau để giảm kích thước tải xuống của tệp APK nén:

  • Đảm bảo bật tất cả các APK cấu hình bằng cách cài đặt enableSplit = true cho từng loại APK cấu hình. Điều này giúp đảm bảo rằng người dùng chỉ tải mã và tài nguyên họ cần xuống để chạy ứng dụng của bạn trên thiết bị của họ.
  • Đảm bảo bạn thu gọn kích thước ứng dụng bằng cách loại bỏ mã và tài nguyên không sử dụng.
  • Hãy làm theo các phương pháp hay nhất để tiếp tục giảm kích thước cho ứng dụng.
  • Cân nhắc chuyển đổi các tính năng mà chỉ một số người dùng của bạn sử dụng thành mô-đun tính năng mà ứng dụng có thể tải xuống sau theo yêu cầu. Xin lưu ý rằng bạn có thể sẽ phải tái cấu trúc một số nội dung trong ứng dụng của mình. Do đó, trước hết, hãy thử các nội dung đề xuất khác đã mô tả bên trên.

Lưu ý khác

Sau đây là các vấn đề hiện đã biết khi dựng hoặc phân phát ứng dụng bằng Android App Bundle. Nếu bạn gặp phải các vấn đề không được mô tả bên dưới, vui lòng báo cáo lỗi.

  • Việc cài đặt một phần của ứng dụng đã tải không qua cửa hàng — nghĩa là, ứng dụng không được cài đặt bằng Cửa hàng Google Play và bị thiếu một hoặc nhiều tệp APK phân tách cần thiết — không thành công trên tất cả thiết bị được Google chứng nhận và thiết bị chạy Android 10 (API cấp 29) trở lên. Khi tải ứng dụng của bạn xuống thông qua Cửa hàng Google Play, Google đảm bảo rằng tất cả các thành phần bắt buộc của ứng dụng đều được cài đặt.
  • Nếu bạn sử dụng các công cụ sửa đổi linh hoạt bảng tài nguyên, thì các tệp APK được tạo ra từ gói ứng dụng có thể sẽ hoạt động không như dự kiến. Vì vậy, khi tạo gói ứng dụng, bạn nên tắt các công cụ đó.
  • Hiện tại, bạn có thể định cấu hình các thuộc tính trong cấu hình xây dựng của mô-đun tính năng xung đột với thuộc tính từ mô-đun cơ sở (hoặc mô-đun khác). Ví dụ: bạn có thể đặt buildTypes.release.debuggable = true trong mô-đun cơ sở và đặt nó thành false trong mô-đun tính năng. Những xung đột như vậy có thể gây ra vấn đề về bản dựng và thời gian chạy. Xin lưu ý rằng, theo mặc định, các mô-đun tính năng sẽ kế thừa một số cấu hình xây dựng từ mô-đun cơ sở. Vì vậy, hãy đảm bảo bạn nắm được cấu hình nào nên giữ lại và cấu hình nào nên bỏ qua trong cấu hình xây dựng mô-đun tính năng.

Tài nguyên khác

Để tìm hiểu thêm về Android App Bundle, hãy tham khảo các tài nguyên sau.

Bài đăng trên blog

Video