从 aab 文件生成 Apk 文件(Android 应用程序包)

新手上路,请多包涵

有没有办法通过终端或使用 Android Studio 从 Android 应用程序包 (aab) 生成 apk 文件?

原文由 Jayanth 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

默认情况下,IDE 不使用 app bundle 将您的应用部署到本地设备进行测试

参考 bundletool 命令

对于调试 apk 命令,

 bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

对于发布 apk 命令,

 bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd

编辑:

在为 aab 测试我的发布版本时,我一直在使用以下命令(我希望它也对其他人有所帮助):

  1. Github 存储库 下载 bundletool jar 文件(最新版本 > 资产 > bundletool-all-version.jar 文件)。将该文件重命名为 bundletool.jar

  2. 从 Android Studio 生成您的 aab 文件,例如:myapp-release.aab

  3. 运行以下命令:

    java -jar "path/to/bundletool.jar" build-apks --bundle=myapp-release.aab --output=myapp.apks --ks="/path/to/myapp-release.keystore" --ks-pass=pass:myapp-keystore-pass --ks-key-alias=myapp-alias --key-pass=pass:myapp-alias-pass

  1. myapp.apks 将生成文件

  2. 确保您的设备已连接到您的机器

  3. 现在运行以下命令将其安装在您的设备上:

    java -jar "path/to/bundletool.jar" install-apks --apks=myapp.apks

编辑2:

If you need to extract a single .apk file from the .aab file, you can add a extra param --mode=universal to the bundletool command:

 bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks \
    --mode=universal \
    --ks=/MyApp/keystore.jks \
    --ks-pass=file:/MyApp/keystore.pwd \
    --ks-key-alias=MyKeyAlias \
    --key-pass=file:/MyApp/key.pwd

并执行

unzip -p /MyApp/my_app.apks universal.apk > /MyApp/my_app.apk

这将生成一个 /MyApp/my_app.apk 文件,可以由任何设备应用程序安装程序共享和安装

原文由 Firoz Memon 发布,翻译遵循 CC BY-SA 4.0 许可协议

我开发了一个 Windows 工具,用于在 Python 中将 .aab 文件转换为 .apk。

它支持创建调试和签名的apk,可以直接安装到通过USB连接的默认android设备。

它在后端使用谷歌的捆绑工具。

https://aabtoapkconverter.com/

编辑:源代码现在在 github 上可用。

这是我开发并与世界共享的第一个工具。希望它是有用的。我愿意接受建议和错误报告。

在此处输入图像描述

原文由 Akshay Khandizod 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题