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/ và asset-slices/ nếu có.)
📝 Tổng kết các lệnh cần nhớ
| Mục đích | Lệ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ối | java -jar bundletool.jar build-apks --connected-device --bundle=app.aab --output=app.apks |
Cài .apks trực tiếp | java -jar bundletool.jar install-apks --apks=app.apks |
Giải nén .apks | tar -xf app.apks -C thư_mục_đích |
| Cài từ các file APK đã giải nén | adb install-multiple thư_mục_đích/*.apk (hoặc liệt kê cụ thể) |
⚠️ Lưu ý
- File
.aabphả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 devicesphả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ùnginstall-apkshoặcbuild-apksvới--connected-devicenhư 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é!