Định dạng mới là AAB (Android App Bundle)
AAB cho phép Google Play download đúng phần app cần cho thiết bị của bạn, giúp giảm đáng kể dung lượng cài đặt.
Còn định dạng APK đóng gói tất cả mọi thứ app cần để hoạt động, trong đó có cả những thứ mà máy bạn có thể không dùng tới như một số hình ảnh, file ngôn ngữ… Một điểm nổi bật khác của app AAB là chúng còn được hỗ trợ Play App Signing, một tính năng mới giúp app tránh bị chỉnh sửa nhúng mã độc trong quá trình download.
Quy trình của Google Play Store khi một thiết bị tải về một app dùng định dạng AAB.
Khi một người dùng vào Play Store để tải app, chợ ứng dụng này sẽ dựa vào loại màn hình, kiến trúc, ngôn ngữ của thiết bị để tự động đóng gói một file APK phù hợp để tải về. Những phần không cần thiết sẽ bị loại bỏ nên file APK thật sự cài đặt lên thiết bị sẽ nhỏ hơn đáng kể. Việc chuyển đổi sang định dạng AAB không có gì quá khó khăn so với việc build file APK cả.
Netflix, Adobe… và một số app khác đã chuyển sang dùng AAB. Hiện tại quy định mới về dùng định dạng AAB chỉ áp dụng cho các app mới hoàn toàn chưa bao giờ được đăng lên Play Store. Tuy nhiên, Google sẽ sớm áp dụng quy định này cho các app hiện tại trong thời gian tới.
Các app lớn như game cần phải tải file OBB về để hoạt động, cũng sẽ phải chuyển sang dùng tính năng Play Assert Delivery (PAD) trong thời gian tới. Việc này nhằm đảm bảo an toàn cho các file, hỗ trợ tính năng cập nhật delta và đơn giản hóa quy trình đăng app.
Cách deployed file (.aab) sang định dạng apk cho thiết bị test
Android App Bundle (.aab) là gì?
Đồng hành với sự phát triển của công nghệ, ứng dụng Android cũng như các hệ điều hành khác của thiết bị di động tăng đột biến mỗi năm, Tuy nhiên, có một điểm là tất cả đồ họa, độ nét cao, các tính năng sáng tạo và nội dung đa phương tiện phong phú đều có tác động tiêu cực đến trải nghiệm người dùng. Không ai muốn một ứng dụng phải tải xuống mãi mãi và sau đó loại bỏ chúng bộ nhớ của thiết bị do app quá nặng không thể tương thích với bộ nhớ thiết bị. Vậy nên sự xuất hiện của Android App Bundle nhằm giảm thiểu dung lượng file APK ứng dụng Android. Android App Bundle là một file (với phần đuôi mở rộng .aab) để bạn upload lên Google Play để hỗ trợ Dynamic Delivery. Nó bao gồm tất cả các resource và mã code được compile trong ứng dụng của bạn, nhưng không tạo APK và chữ ký Google Play. Bạn không cần phải build, ký và quản lý nhiều APKs để support nhiều thiết bị khác nhau và từ đó người dùng có các bản tải xuống nhỏ hơn, tối ưu hơn. Và công việc của QA là test app, vậy thì làm thế nào để deploy file .aab sang .apk hoặc .apks để test. Mình sử dụng bundletool- command line tool mà Gradle, Android Studio và Google Play sử dụng để xây dựng Android App Bundle hoặc chuyển đổi app bundle thành APK được deployed cho các thiết bị.
Yêu cầu cài đặt:
1. Android SDK: Để cài Android SDK mình download theo link sau: https://developer.android.com/studio/#downloads
2. Java Home Để cài đặt Java Home thì mình cần download Java JDK/JRE theo link sau: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
Tiến hành cài đặt:
1. Android Home
Bước 1: Sau khi click vào link download bên trên chọn như hình bên dưới, mình dùng win 10 – 64 bit nhé
Bước 2: Sau khi download xong về thư mục cá nhân mình tiến hành giải nén file Trường hợp bạn có Android Studio rồi thì mình không cần down SDK này nữa vì Android Studio đã bao gồm cả SDK rồi
Bước 3: Sau khi giải nén file mình lấy đường dẫn thư mục Android gốc để paste vào Environment Variables của System
Bước 4: Mở Environment Variables của System
Chọn Advanced system settings
Chọn Environment Variables
Chọn New
Trong hộp thoại New System Variables điền : Variable name: ANDROID_HOME Variable value: đưa đường dẫn ở Bước 3 vào đây nhé
Tiếp theo chọn Path trong System variables và chọn Edit
Trong hộp thoại này chọn New và thêm lần lượt 3 giá trị như sau vào vào dưới cùng các giá trị sẵn có : %ANDROID_HOME%\tools %ANDROID_HOME%\tools\bin %ANDROID_HOME%\platform-tools ![](https://images.viblo.asia/ce82402d-9586-43f8-8a62-c45e2a697320.png) Sau đó click OK
2. Java Home
Bước 1: Sau khi click vào link download Java JDK ở trên mình chọn Accept License Agreement và chọn file .exe để cài đặt
Bước 2: Sau khi download xong về thư mục cá nhân mình tiến hành giải nén file, lấy đường dẫn thư mục Java JDK/JRE gốc để paste vào Environment Variables của System
Bước 3: Mở Environment Variables của System Tương tự như khi cài đặt Android Home Mình add thêm value cho System Variables
Add thêm Path sau vào giá trị cuối trong hộp thoại Environment Variables %JAVA_HOME%\bin Click OK
Tiến hành deployed file (.aab) cho device
Bước 1: Trước hết cần download bundle tool tại https://github.com/google/bundletool/releases
Sau khi download mở file vào Run Adminitrators nhé
Bước 2: Cần lấy file aab từ Developer của bạn và đưa vào 1 folder riêng
Bước 3: Cắm device bạn cần deploy vào máy tính nhé, nhớ ấn Allow trong device để Allow access to phone data thì mình mới có thể tiếp tục cài đặt được nha
Bước 4: Mở folder có file aab, giữ phím Shift và click right vào file aab đó, chọn Open PowerShell window here:
Bước 5: Chú ý tên file của mình là app.stg Trong hộp thoại mình sẽ gõ như sau để gen ra file apk như mong muốn và bạn chú ý là cần thay tên file của bạn vào nhé:
java -jar .\bundletool.jar build-apks --connected-device --bundle=.\app_stg.aab --output app_stg.apks
Dòng thứ 1 chạy xong, bạn cần gõ tiếp dòng thứ 2 để cài file vào máy của bạn
java -jar .\bundletool.jar install-apks --apks=.\app_stg.apks
Như hình trên là bạn đã thành công rồi nhé. Trên device của bạn lúc này sẽ xuất hiện app vừa cài đặt của bạn đó, test ngay đi nào.