Giới thiệu về Android App Bundle

Android App Bundle là định dạng xuất bản chứa tất cả 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 tệp 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 tệp APK được tối ưu hoá cho từng cấu hình thiết bị. Do đó, chỉ đoạn 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 tệp 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 và được tối ưu hoá nhiều hơn.

Hầu hết các dự án ứng dụng đều không cần nhiều nỗ lực để xây dựng gói ứng dụng hỗ trợ việc phân phát tệp APK được tối ưu hoá. Nếu bạn đã sắp xếp mã và tài nguyên của ứng dụng theo các quy ước đã thiết lập, hãy tạo Android App Bundle đã ký bằng Android Studio hoặc sử dụng dòng lệnhtải chúng lên Google Play, thì việc phân phát APK được tối ưu hoá sẽ trở thành một 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 để thêm mô-đun tính năng vào 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 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 số lượng lớn tài sản trò chơi qua đó cung cấp cho nhà phát triển phương thức phân phối linh hoạt và mang lại 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 kích thước tệp nén tải xuống. 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á 4 GB. Mọi lượt tải xuống tiếp theo, chẳng hạn 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.

Nếu Play Console nhận thấy bất kỳ tệp 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 vượt quá giới hạn kích thước tối đa, 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ạn bật tất cả các tệp APK cấu hình bằng cách đặ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 có thể bạn sẽ phải tái cấu trúc một số ứng dụng, vì vậy, hãy nhớ thử những đề xuất khác như mô tả.

Lưu ý khác

Sau đây là các vấn đề đã biết khi tạo hoặc phân phát ứng dụng bằng Android App Bundle. Nếu bạn gặp các vấn đề chưa được mô tả ở đây, hãy 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ụ như vậy.

  • 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