我使用bundle工具1.7.0版本从bundle文件(.aab(中提取apk,之后它给了我一个toc.pb和拆分文件夹。在splits文件夹上有apk base.af、base.en、base-master.apk、base-master 2.apk等,但当我试图在设备上安装它时,它说应用程序没有安装,但在bluestack版本5上可以工作。你们觉得我该怎么办?
您不应该手动提取APK。您应该使用bundletool来选择适合设备的APK。
首先,使用设备规范创建一个JSON文件,然后将其传递给bundletool的extract-apks
命令。
发件人https://developer.android.com/studio/command-line/bundletool:
生成并使用设备规范json文件
bundletool能够生成针对设备的APK集JSON文件指定的配置。首先生成JSON文件对于连接的设备,运行以下命令:
bundletool get-device-spec --output=/tmp/device-spec.json bundletool
在工具所在的目录中为设备创建一个JSON文件位于。
[…]
然后,您可以将此JSON传递给bundle
extract-apks
命令,如下所示如前一节所述。从现有apk集中提取设备特定的apk
如果您有一个现有的APK集,并且您想从中提取针对特定设备配置的APK子集,您可以使用extract-APKs命令并指定设备规范JSON,如下所示:
bundletool extract-apks --apks=/MyApp/my_existing_APK_set.apks --output-dir=/MyApp/my_pixel2_APK_set.apks --device-spec=/MyApp/bundletool/pixel2.json
如果在安装APK之前不需要查看APK,另一种较短的方法是直接调用install-apks
。
请参阅文档的"部署到已连接的设备"部分。