我正在寻找一种从 Android App Bundle 生成 APK 的解决方案,这将帮助我共享该应用程序以进行内部测试,而不是在 Google Play Beta 测试上发布。
有没有使用bundletool的方法或命令?
我认为最好的选择是使用内部应用程序共享,它可以轻松测试您的应用程序包和APK,包括调试版本:
通过内部应用程序共享,您可以通过在内部应用程序共享上传页面上传 APK 或应用程序包,快速与内部团队和测试人员共享应用程序包或 APK。
如果你想走bundletool路线,你需要生成一个通用的apk。看看这个答案如何做。
pfmaggi 提到内部应用程序共享,这确实是准确测试用户将获得什么的最佳方法。
另一种方法是通过将标志
--mode=universal
传递给bundletool 中的 build-apks
命令来构建通用 APK,这种方法不太准确,并且在某些边缘情况下并不总是有效。它仍然会生成一个 .apks 文件,但您可以从中提取单个 .apk 文件(使用 unzip 或 bundletool 的 extract-apks
命令)。
您可以尝试此命令而不是生成新的 APK 文件。 这使用
bundletool
来安装从bundletool build-apks
生成的APKS文件
bundletool install-apks --apks=文件名.apks
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。