快速结论:AAB 是应用商店分发格式,不能像 APK 一样直接安装到设备。本地测试需要用 bundletool 生成 APKS 或 Universal APK,配合正确签名和目标设备选择完成安装。
开发者常问的问题
- AAB 文件能不能直接安装到 Android 手机?
- 为什么 adb install app.aab 会失败?
- bundletool 如何把 AAB 转成 APKS?
- 多台设备测试时应该用 split APKs 还是 Universal APK?
快速答案
AAB 不能直接安装。你需要使用 bundletool build-apks 生成 APKS 文件,再使用 bundletool install-apks 安装到指定设备。多设备批量安装时,Universal APK 通常更稳定,因为同一个 APK 可以覆盖不同 ABI、density 和 locale 配置。
为什么 AAB 文件不能直接安装
Android App Bundle 是发布包,里面包含 base module、资源配置、manifest、dex 和 native libraries 等内容。Google Play 或 bundletool 会根据设备配置生成真正可安装的 APK 组合,所以 adb install 无法直接处理 .aab 文件。
手动流程
典型手动流程是先准备 bundletool.jar 和签名配置,执行 build-apks 生成 APKS,再连接设备并执行 install-apks。如果需要模拟 Google Play 的按设备分发,应该针对目标设备生成 split APKs;如果只是批量 smoke test,可以生成 Universal APK。
常见错误
常见失败包括没有指定 device-id、多个设备同时连接、APKS 与真实设备 ABI 不匹配、签名配置错误、debug/release 签名不一致,以及尝试把 AAB 当成 APK 直接安装。
ADB Pro 如何帮助
AAB Tools 可以扫描本地和远程 AAB,管理 bundletool,读取 Gradle signingConfig,选择单台设备生成 split APKS,或为多台选中设备自动切换 Universal APK 安装,并在面板中显示每台设备的结果。
FAQ:Android Studio 能安装 AAB 吗?
Android Studio 可以通过部署流程安装当前工程生成的变体,但对于已经拿到的独立 AAB 文件,仍然需要 bundletool 或类似工具转换成可安装 APK。
FAQ:APKS 文件里有什么?
APKS 是一个归档文件,通常包含 base APK、配置 split APK、签名信息和 metadata。它不是单个 APK,需要 bundletool 根据设备或 Universal 模式安装。
FAQ:本地测试需要 release keystore 吗?
如果你要验证与线上升级路径一致的 release candidate,应该使用对应 release/upload 签名。普通功能 smoke test 可以使用测试签名,但不要把它当成发布验证结果。
相关指南
继续阅读 AAB 转 APKS 安装指南、Android App Signing Guide 和 Android Release Readiness Checklist,可以把安装、签名和发版检查串起来。