如何使用bundletool从AAB生成APK(不是APKS)?

问题描述 投票:0回答:4

我正在寻找一种从 Android App Bundle 生成 APK 的解决方案,这将帮助我共享该应用程序以进行内部测试,而不是在 Google Play Beta 测试上发布。

有没有使用bundletool的方法或命令?

android apk android-build android-bundle android-app-bundle
4个回答
6
投票

我认为最好的选择是使用内部应用程序共享,它可以轻松测试您的应用程序包和APK,包括调试版本:

通过内部应用程序共享,您可以通过在内部应用程序共享上传页面上传 APK 或应用程序包,快速与内部团队和测试人员共享应用程序包或 APK。

如果你想走bundletool路线,你需要生成一个通用的apk。看看这个答案如何做。


4
投票

pfmaggi 提到内部应用程序共享,这确实是准确测试用户将获得什么的最佳方法。

另一种方法是通过将标志

--mode=universal
传递给bundletool 中的
build-apks
命令来构建通用 APK,这种方法不太准确,并且在某些边缘情况下并不总是有效。它仍然会生成一个 .apks 文件,但您可以从中提取单个 .apk 文件(使用 unzip 或 bundletool 的
extract-apks
命令)。


0
投票

您可以尝试此命令而不是生成新的 APK 文件。 这使用

bundletool
来安装从
bundletool build-apks

生成的APKS文件

bundletool install-apks --apks=文件名.apks


0
投票

Pierre 提到了这个方法,但我就把它放在那里。在命令提示符中输入以下内容。

java -jar bundletool.jar build-apks --bundle=/path/to/your_app.aab --output=/path/to/output.apks --ks=/path/to/keystore.jks --ks-pass=pass:your-keystore-password --ks-key-alias=your-key-alias --key-pass=pass:your-key-password

在“bundletool.jar”文件的位置执行此操作。关键字段是可选的,您可以将其留空。然后连接您的 Android 手机或使用 Android 模拟器并在命令提示符中运行以下行。

java -jar bundletool.jar get-device-spec --output=/path/to/device-spec.json --adb=/path/to/adb.exe

(adb.exe文件通常位于Android Sdk的platform-tools文件夹中。要访问该文件夹,只需进入Android Studio->Sdk Manager->Sdk Tools并安装Android SDK Platform-Tools即可。Android SDK那里也提到了 device-spec.json 是一个您应该在包含您的 APK 的文件夹中创建的文件。)

然后,运行以下命令,这会将 apk 解压到您的系统上。

java -jar bundletool.jar extract-apks --apks=/path/to/output.apks --output=/path/to/ --device-spec=/path/to/device-spec.json

这应该会在“输出”下提到的文件夹中为您提供一个 universal.apk 文件。最后,转到命令提示符,打开存储 adb.exe 的文件夹(即 android sdk 下的 platform-tools)并运行以下命令。

adb install /path/to/universal.apk

瞧,您的应用程序将安装到您的 Android 设备上,您可以随意使用设备上的 apk。

© www.soinside.com 2019 - 2024. All rights reserved.