android - 由于使用 bundletool 的 java 堆空间,从 App Bundle 中提取 APK 失败

标签 android unity-game-engine android-app-bundle

我们正在从 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/

相关文章:

java - Android 弹出倒计时

java - audioRecord 如何以指定的采样率检索数据

android - 我可以使用 android app bundle 在我的服务器上生成所需的 APK 吗?

android - 在 Unity 中使用 Play Asset 交付后应用程序大小翻倍

Android App Bundle 构建错误 : <fusing> element is missing the 'include' attribute

android - Location.distanceTo 在近似距离计算中使用误差参数?

android - 如何使用 Intent 将表情符号和文本从 Activity 传递到下一个

animation - 如何在运行时向角色添加动画 Controller ?

javascript - 4 个配备 Unity3D 的 Wii Remote

c# - 线程导致应用程序在 iOS 上滞后,但在 Android 上不会