【问题标题】:IPA setup creation FAILEDIPA 设置创建失败
【发布时间】:2013-05-20 06:01:17
【问题描述】:

我正在尝试为 iOS 构建 AwayPhysics。 但是当我在 FD 下编译 release/ad-hoc 甚至(慢速调试)时:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.Integer.valueOf(Unknown Source)
at adobe.abc.GlobalOptimizer.merge(GlobalOptimizer.java:9985)
at adobe.abc.GlobalOptimizer$InputAbc.readCode(GlobalOptimizer.java:1265
)
at adobe.abc.GlobalOptimizer$InputAbc.readBody(GlobalOptimizer.java:685)

at adobe.abc.GlobalOptimizer$InputAbc.readBodies(GlobalOptimizer.java:40
4)
at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:331)
at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcodeImpl(AOTCompiler
.java:611)
at com.adobe.air.ipa.BitcodeGenerator.main(BitcodeGenerator.java:104)
Compilation failed while executing : ADT

我已经测试过: Adobe Air 3.4 (Flex SDK) Adobe Air 3.5 (Flex SDK) Adobe Air 3.6 (Flex SDK) Adobe Air 3.7 (Flex SDK) Adobe Air 3.8 测试版(Flex SDK)

Adobe Air 3.7 (ASCSDK) Adobe Air 3.8 (ASCSDK)

我也尝试过“-optimize=false”,但没有任何帮助。

只有快速解释器模式才能工作,这真的很慢!

重现步骤:

  1. 下载 AwayPhysics(flascc 之上的子弹物理) https://github.com/away3d/awayphysics-core-fp11/tree/dev 或Oimophysics
  2. 构建任何示例或仅包含 AWPDynamicWorld

更新:

将堆内存大小增加到 -Xms1024m -Xmx1524m 后:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.HashSet.<init>(Unknown Source)
at adobe.abc.Algorithms$SetMap.get(Algorithms.java:226)
at adobe.abc.Algorithms.addUses(Algorithms.java:165)
at adobe.abc.Algorithms.findUses(Algorithms.java:187)
at adobe.abc.GlobalOptimizer.sccp(GlobalOptimizer.java:4731)
at adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:3615)
at adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:2309)
at adobe.abc.LLVMEmitter.optimizeABCs(LLVMEmitter.java:532)
at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:341)
at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcodeImpl(AOTCompiler
.java:611)
at com.adobe.air.ipa.BitcodeGenerator.main(Bitcod

eGenerator.java:104)
    Compilation failed while executing : ADT

【问题讨论】:

  • 我怀疑您在这个项目中有许多 SWF 文件作为资产。他们在时间线上是否有 ActionScript(即 stop()、gotoAndPlay 等)?如果没有,也许您可​​以以一种可以避免 iOS 交叉编译步骤的方式打包它们(这是占用所有时间/内存的原因)。此外,ADT 启动了许多 Java 子进程。用ps -aef | grep -i java 观察这些进程,看看Java 堆大小参数在子进程上是否正确。如果没有,请尝试设置全局环境变量JAVA_OPTS='-Xms1024m -Xmx2048m',而不是使用 jvm.config 文件。
  • 您还可以在 Eclipse 中为给定的 SDK 设置 java 内存参数 (-Xms512m -Xmx1024m -XX:MaxPermSize=512m):Window-&gt;Preference-&gt;Java-&gt;Installed JREs-&gt;Your JRE-&gt;Default VM Arguments
  • 什么都试过了。还是不行。
  • 正如我所说,它很容易重现错误。没有额外的库 swc 或 swf。

标签: ios actionscript-3 air


【解决方案1】:

您可以尝试增加 Java 虚拟机的“最大堆大小”(保留的最大内存量)。

您可以在 jvm.config 中配置此设置,该文件位于 sdk_install_dir/bin

要更改最大堆大小,请更改 Xmx 属性的值。以下示例将初始堆大小设置为 256M,将最大堆大小设置为 512M:

java.args=-Xms256m -Xmx512m -Dsun.io.useCanonCaches=false

来源:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fd9.html

【讨论】:

  • 我试过这个。同样的错误。我不确定这个错误与 Java 或内存有关。我有 32 GB 内存。 Java 版本:1.6 32、64 位、1.7。尝试了所有方法和不同的 SDK。
  • 您发布的错误消息强烈指出堆大小不足。您将 -Xms 设置为什么值?
猜你喜欢
  • 2017-09-08
  • 2015-07-06
  • 2020-07-02
  • 1970-01-01
  • 2011-03-31
  • 2022-09-30
  • 2013-01-24
  • 2012-09-10
  • 1970-01-01
相关资源
最近更新 更多