簡體   English   中英

為什么FDT在打包適用於iOS的Adobe AIR應用程序(.IPA)時顯示Java堆錯誤

[英]Why Does FDT Show A Java Heap Error While Packaging an Adobe AIR app for iOS (.IPA)

我正在使用Adobe AIR創建一些Flash游戲。 我嘗試將其編譯成.ipa文件(以在iPad設備上運行)。

該項目不大,但也不小(它使用6個swc庫和許多未預編譯的代碼)。 我嘗試使用兩種方法使用Flash FDT 5.5打包我的游戲:

  • 快速 -可以,但是性能很差;
  • 標准 -我的編譯完成並出現以下錯誤:

包裝失敗! 打包錯誤消息:拾取JAVA_TOOL_OPTIONS:-Xmx3072M線程“主”中的異常java.lang.OutOfMemoryError:adobe.abc.Algorithms $ SetMap.get(算法)處java.util.TreeMap.put(未知源)處的Java堆空間。 java:225)位於adobe.abc.Algorithms.addUses(Algorithms.java:164)位於adobe.abc.Algorithms.findUses(Algorithms.java:186)位於adobe.abc.GlobalOptimizer.cp(GlobalOptimizer.java:9381)位於adobe.abc.GlobalOptimizer.sccp(GlobalOptimizer.java:4638)位於adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:3514)位於adobe.abc.GlobalOptimizer.dce(GlobalOptimizer.java:9627)網址為adobe.abc.LLVMEmitter的.optimize(GlobalOptimizer.java:2215),網址為com.adobe.air.ipa.AOTCompiler的adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:337)的optimizeABCs(LLVMEmitter.java:527) com.adobe.air.ipa.BitcodeGenerator.main(BitcodeGenerator.java:80)上的convertAbcToLlvmBitcodeImpl(AOTCompiler.java:510)在執行時拾取JAVA_TOOL_OPTIONS:-Xmx3072M失敗: ADT拾取JAVA_TOOL_OPTIONS:-Xmx3072M

我知道這是Eclipse開發中的常見問題。 我試圖以標准方式解決->增加Java堆大小。 如您所見,我已經設置了3072M,應該足夠了。

當我嘗試編譯較小的項目時,它可以正常工作。 我不知道現在該怎么辦:(。有任何想法嗎?

經過深入調查,我找到了解決方案。 這不是由於任何環境配置引起的,但是,正如@Alan所說,Adobe的打包程序遇到了問題。 如我所料,它在“優化”階段遇到了問題。

這是一個非常有用的論壇主題: http : //forums.adobe.com/message/4445973#4445973

我的項目是使用NAPE物理引擎。 正如我在那找到的那樣: http : //deltaluca.me.uk/forum/index.php/m/2148/0ce4c49cc2c79979154c56737d2978a4/人們在編譯時遇到了問題。 在我的情況下,編譯時間是無窮大;),以Java的內存不足異常結束。 解決方案是使用最新的NAPE構建,作者對此進行了一些優化。 這種“小的優化”使我的項目得以開展。

總結一下:如果您有類似的問題,只需檢查您的代碼即可。 嘗試找到一些巨大的功能/方法,Adobe的打包器很難優化這些功能/方法。

-Xmx3072M不是有效的Eclipse參數。 將您的“ eclipse.ini”設置和其他Java設置恢復為默認設置,它應該可以工作。 您可能將其設置得太高,以致JVM的其他部分內存不足。

從堆棧跟蹤可以看出,這不是Eclipse或FDT問題。 Adobe的打包程序遇到了問題。 如果默認值仍然不起作用,請參見一般為Java提供更多內存。 如果那不起作用,請慢慢增加Eclipse的內存以查看它是否起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM