AAB转APK:转换与签名加固指南

在Android发布流程里,AAB和APK分别服务于不同场景:Google Play要求AAB,而测试、国内应用市场和企业分发通常需要APK。本文整理从AAB生成可安装APK,再完成签名与加固的完整步骤。

安卓APK资源混淆加密重签名工具从2.0.0版本开始内置AAB转APK功能。软件包含运行环境和转换工具,不需要额外配置Java、Android SDK或Gradle。

官网介绍:安卓APK资源混淆加密重签名工具官网

一、AAB和APK的区别

APK是完整安装包,解压后可以直接安装到安卓设备,也是国内多数应用市场和分发渠道采用的格式。

AAB是Google推出的发布格式,本身不能直接安装。上架Google Play后,平台会根据设备的CPU架构、语言、屏幕密度等生成并下发对应的拆分APK。

因此,AAB更适合上架发布,APK更适合直接安装和分发。

二、准备工作

开始前确认:

  1. 工具版本为2.0.0及以上,旧版本没有AAB转APK功能。
  2. 准备完整的.aab文件,名称通常类似app-release.aab
  3. 输出目录具备写入权限,并预留足够磁盘空间。生成的通用APK会包含全部资源,体积通常明显大于单个拆分模块。

转换过程不需要联网,也不需要配置环境变量。

三、转换AAB

  1. 打开软件,在左侧标签栏进入AAB转APK
  2. 点击打开AAB,选择.aab;也可以在输入框粘贴完整文件路径。
  3. 选择后,APK保存路径会自动填充为同目录下的.apk。例如输入D:\build\app-release.aab,默认保存路径为D:\build\app-release.aab.apk
  4. 如需修改位置,点击选择路径。保存路径必须是绝对路径,并以.apk结尾,不能填写文件夹。
  5. 点击转换,等待软件生成通用APK。处理时间取决于AAB大小,大包可能需要几分钟;如需中止,可以在进度窗口取消。

AAB转APK功能界面

  1. 转换完成后,软件会弹出提示并显示APK保存路径。

注意:转换结果未签名

AAB转APK生成的是未签名APK。安卓系统会拒绝安装,因此不能直接发给用户,还需要继续完成签名。

四、转换后的签名与加固

  1. 切换到首页,点击打开单个文件,载入刚刚生成的APK。
  2. 在签名证书一栏选择证书:可以使用内置证书,也可以点击重置证书生成新的独立证书;使用自己的证书时,点击添加证书载入.keystore.jks
  3. 根据需要勾选混淆加固选项。如果暂时无法判断,保持默认勾选项即可,默认组合兼容性最高。
  4. 设置APK保存路径,点击开始处理,等待得到签名后的APK。

如果只需要签名、不需要混淆,可以不勾选额外选项直接处理。APP名称、包名和版本号也可以在首页修改。

五、常见问题

1. 提示“请选择有效的AAB文件”

请确认选择的是完整的.aab文件,而不是解压后的目录,同时检查文件是否仍然存在。

2. 提示“请填写APK文件的绝对保存路径”

路径必须是完整的绝对路径,例如D:\output\app.apk,并以.apk结尾。相对路径、文件夹路径或其他扩展名都会触发提示。

3. 目标APK已经存在

软件会弹出覆盖确认。点击确定可以覆盖原文件;如果不希望覆盖,取消后重新选择保存路径。转换过程中会先生成临时文件,成功后再替换目标文件,中途取消不会破坏已有APK。

4. 提示找不到转换工具

AAB转APK依赖软件安装目录中的运行环境和转换工具。此提示通常说明安装包不完整或文件被杀毒软件误删。建议重新下载安装软件,并将软件目录加入杀毒软件信任列表。

5. 转换后的APK为什么更大

输出的是通用APK(universal APK),其中包含AAB里的全部语言、屏幕密度和CPU架构资源。因此它会大于Google Play按设备下发的拆分APK,这是正常现象。

六、总结

AAB是发布格式,APK是直接安装和分发格式。使用AAB转APK功能,依次选择文件、确认保存路径并点击转换,即可生成通用APK;随后在首页完成签名,必要时继续混淆加固。整个过程无需配置Java、Android SDK或Gradle。