Android App Bundle(.aab)中的XML文件经aapt2编译为二进制格式,无法直接阅读;需用bundletool提取universal.apk,再通过Apktool反编译才能查看可读的AndroidManifest.xml、布局及资源文件。

Android App Bundle(.aab)里的XML文件不是明文存储的,而是经过编译、压缩和二进制优化的,不能直接用文本编辑器打开查看。想看其中的 AndroidManifest.xml、布局文件(如 activity_main.xml)或资源值(strings.xml 等),必须先解包并反编译。
用 bundletool 提取 APK 文件
AAB 是 Google Play 的上传格式,本身不直接安装运行,需先转为可解析的 APK 集合(.apks)。这是查看内容的第一步:
- 下载最新版 bundletool.jar
- 执行命令导出所有可能的 APK(含 base、config、feature 模块):
java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
(--mode=universal会生成一个兼容所有设备的单个 APK,便于后续分析) -
解压生成的
app.apks(本质是 ZIP 包),得到universal.apk
用 Apktool 反编译 universal.apk 查看 XML
直接解压 .aab 或 .apks 得到的是二进制 XML(如 AndroidManifest.xml 显示乱码),必须用 Apktool 才能还原成可读格式:
- 安装 Apktool(需 Java 环境)
- 运行:
apktool d universal.apk -o output_dir - 进入
output_dir后,即可看到:-
AndroidManifest.xml(已还原为标准 XML 格式) -
res/layout/下的布局文件 -
res/values/strings.xml、colors.xml等资源文件 -
smali/目录下的代码逻辑(对应 classes.dex)
-
不拆包也能快速查看部分元数据
如果只是想确认包名、版本、权限或模块结构,无需完整反编译:
- 用
bundletool dump manifest --bundle=app.aab直接输出清单信息(纯文本) - 用
bundletool dump resources --bundle=app.aab查看资源表摘要 - 用
bundletool dump config --bundle=app.aab查看模块划分、支持的 ABI、语言等配置
注意 XML 为什么不能直接打开
AAB 中的 XML 文件在构建时已被 aapt2 编译为二进制格式(类似 APK 中的 resources.arsc + 二进制 XML),目的是减小体积、加快解析。这种格式:
- 字符串被统一索引,标签名和属性名不再以明文存在
- 没有换行缩进,无法用记事本或手机文件管理器正常阅读
- 尝试用 ZIP 工具解压后双击打开,大概率显示乱码或不可读字符










