我们正在从 Android APK 转向 Android bundle。 Android studio 成功创建了 bundle,但是当我尝试使用 bundletool 从 bundle 中提取 APK 时,由于 Heap out of memory 而失败。
我尝试在 Play 管理中心上传应用程序包以进行内部测试,但没有显示任何错误就失败了。
我的包的大小几乎是 125mb,小于允许的 150mb。
我删除了一些测试代码,当应用程序包小于 100mb 时一切正常。
如何增加堆的大小以使用更大的应用程序包。
仅供引用:我们将 Unity 项目导出到 Android。
最佳答案
您可以使用 java 命令从命令行调用 bundletool .jar 并将最大堆大小作为参数(例如 -Xms64m)传递给它。 获得 bundletool .jar 后,您可以使用以下命令运行它: OBS:将.....替换为您的项目信息
java -Xmx5G -jar bundletool-all-0.7.1.jar build-apks --bundle=../..../app.aab --output=bundleapks.apks --ks=../..../keystore --ks-pass=pass:..... --ks-key-alias=.... --key-pass=pass:....
来源:
https://github.com/google/bundletool/issues/37
https://alvinalexander.com/blog/post/java/java-xmx-xms-memory-heap-size-control
关于android - 由于使用 bundletool 的 java 堆空间,从 App Bundle 中提取 APK 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856658/