Skip to main content

Hướng dẫn cài đặt file AAB lên thiết bị Android

Dưới đây là hướng dẫn chi tiết từng bước để chuyển đổi file Android App Bundle (.aab) thành các file APK và cài đặt lên thiết bị Android bằng công cụ bundletool và ADB.


📦 Yêu cầu chuẩn bị

  • Máy tính đã cài đặt Java Runtime Environment (JRE) (kiểm tra bằng java -version).
  • File bundletool.jar (tải từ GitHub bundletool hoặc từ Android Studio).
  • File .aab của ứng dụng (ví dụ: app-release.aab).
  • Thiết bị Android đã bật "Tùy chọn nhà phát triển" và "Gỡ lỗi USB", kết nối qua cáp và được phép gỡ lỗi (kiểm tra bằng adb devices).

🚀 Các bước thực hiện

Bước 1: Mở Command Prompt (CMD) hoặc Terminal

Di chuyển đến thư mục chứa bundletool.jar và file .aab của bạn. Ví dụ:

cd D:\work\BuildApk

Bước 2: Tạo file .apks từ file .aab

Dùng lệnh build-apks của bundletool để sinh ra bộ các file APK tối ưu cho mọi thiết bị (hoặc cho một thiết bị cụ thể).

Cách 2.1: Tạo file .apks cho tất cả cấu hình (dùng để cài qua bundletool hoặc giải nén sau)

java -jar bundletool.jar build-apks --bundle=app-release.aab --output=app.apks
  • --bundle : đường dẫn đến file .aab.
  • --output : file .apks đầu ra (thực chất là một file zip chứa nhiều APK).

Nếu ứng dụng của bạn yêu cầu ký (sign), bạn cần cung cấp thông tin keystore (trừ khi file .aab đã được ký, bundletool sẽ tự dùng chữ ký đó). Nếu bạn muốn ký bằng keystore riêng:

java -jar bundletool.jar build-apks --bundle=app-release.aab --output=app.apks --ks=mykeystore.jks --ks-pass=pass:mypassword --ks-key-alias=myalias --key-pass=pass:mypassword

Cách 2.2: Tạo file .apks chỉ dành riêng cho thiết bị đang kết nối (nhanh, nhẹ hơn)

java -jar bundletool.jar build-apks --connected-device --bundle=app-release.aab --output=app.apks

Lệnh này sẽ tự động lấy thông tin cấu hình của thiết bị đang kết nối (qua ADB) và chỉ sinh ra các APK cần thiết cho thiết bị đó.

Bước 3: Cài đặt file .apks lên thiết bị

Sau khi có file app.apks, bạn có hai lựa chọn:

Lựa chọn A: Cài trực tiếp bằng bundletool (khuyên dùng)

java -jar bundletool.jar install-apks --apks=app.apks
  • Lệnh này sẽ tự động đẩy các file APK phù hợp với thiết bị đang kết nối và cài đặt.
  • Nếu có nhiều thiết bị, thêm --device-id=<serial>.

Lựa chọn B: Giải nén file .apks rồi cài bằng adb install-multiple (như bạn đã làm)

Nếu bạn muốn kiểm tra hoặc chỉnh sửa thủ công, hãy giải nén file .apks:

mkdir app_output
tar -xf app.apks -C app_output

Sau đó cài đặt bằng ADB:

adb install-multiple app_output/splits/*.apk app_output/*.apk

(Lưu ý: cần thêm tất cả các file .apk có trong thư mục, bao gồm cả splits/asset-slices/ nếu có.)


📝 Tổng kết các lệnh cần nhớ

Mục đíchLệnh
Tạo .apks từ .aab (không ký)java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks
Tạo .apks từ .aab (có ký)java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --ks=...
Tạo .apks cho thiết bị đang kết nốijava -jar bundletool.jar build-apks --connected-device --bundle=app.aab --output=app.apks
Cài .apks trực tiếpjava -jar bundletool.jar install-apks --apks=app.apks
Giải nén .apkstar -xf app.apks -C thư_mục_đích
Cài từ các file APK đã giải nénadb install-multiple thư_mục_đích/*.apk (hoặc liệt kê cụ thể)

⚠️ Lưu ý

  • File .aab phải được ký (sign) trước khi phát hành. Nếu bạn dùng bản debug, bundletool có thể tự động ký bằng debug key nếu không có --ks.
  • Đảm bảo thiết bị đã kết nối và ADB nhận diện (lệnh adb devices phải hiện tên thiết bị kèm chữ device).
  • Nếu bạn gặp lỗi "Missing required flag --device-spec" khi dùng extract-apks, hãy chuyển sang dùng install-apks hoặc build-apks với --connected-device như hướng dẫn trên.
  • Với lệnh install-apks, bundletool sẽ tự động chọn đúng APK cho thiết bị, bạn không cần lo về việc thiếu split.

Hy vọng hướng dẫn này giúp bạn dễ dàng chuyển đổi và cài đặt file AAB lên thiết bị. Nếu còn thắc mắc, hãy hỏi nhé!