2012-05-23 2 views
0

Adobe AIR를 사용하여 일부 플래시 게임을 만들고 있습니다. 내가. ipa 파일 (iPad 장치에서 실행)로 컴파일하려고합니다.iOS 용 Adobe AIR 앱 (.IPA) 포장시 FDT에 Java 힙 오류가 표시되는 이유

프로젝트 규모는 크지 않지만 작지도 않습니다 (미리 컴파일 된 코드가 아닌 6 개의 swc 라이브러리와 많은 것을 사용합니다). ; 작동 확인을하지만, 성능은 끔찍한 -

  • 빠른 : 나는 두 가지 방법을 사용하여 플래시 FDT 5.5 내 게임을 패키지로 시도
  • 표준 - 내 컴파일은 다음과 같은 오류와 함께 완료 :

Packaging failed! Packaging error message: Picked up JAVA_TOOL_OPTIONS: -Xmx3072M Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.TreeMap.put(Unknown Source) at adobe.abc.Algorithms$SetMap.get(Algorithms.java:225) at adobe.abc.Algorithms.addUses(Algorithms.java:164) at adobe.abc.Algorithms.findUses(Algorithms.java:186) at adobe.abc.GlobalOptimizer.cp(GlobalOptimizer.java:9381) at adobe.abc.GlobalOptimizer.dce(GlobalOptimizer.java:9627) at adobe.abc.GlobalOptimizer.sccp(GlobalOptimizer.java:4638) at adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:3514) at adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:2215) at adobe.abc.LLVMEmitter.optimizeABCs(LLVMEmitter.java:527) at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:337) at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcodeImpl(AOTCompiler.java:510) at com.adobe.air.ipa.BitcodeGenerator.main(BitcodeGenerator.java:80) Picked up JAVA_TOOL_OPTIONS: -Xmx3072M Compilation failed while executing : ADT Picked up JAVA_TOOL_OPTIONS: -Xmx3072M Picked up JAVA_TOOL_OPTIONS: -Xmx3072M

내가이 이클립스으로 개발되어 일반 문제가 있음을 알고있다. 나는 표준 방식으로이를 해결하려고 노력했다. -> 자바 힙 크기를 늘린다. 보시다시피, 나는 충분해야하는 3072M을 설정했습니다.

작은 프로젝트를 컴파일하려고하면 잘 동작합니다.

답변

1

심도있는 조사를 통해 해결책을 찾았습니다. 어떤 환경 @Alan이 말했듯이 어도비의 포장업자는 문제를 겪고 있었다. 내가 가정 하듯이 '최적화'단계에서 문제를 해결하고있었습니다. http://forums.adobe.com/message/4445973#4445973

내 프로젝트는 NAPE의 심령 엔진을 사용했다 :

여기에 정말로 유용한 포럼 주제입니다. 내가 거기에서 발견했던 것에 따라 http://deltaluca.me.uk/forum/index.php/m/2148/0ce4c49cc2c79979154c56737d2978a4/ 사람은 컴파일 시간에 관한 문제를 만난다. 내 경우에는 컴파일 시간이 무한대;), Java가 메모리 부족 예외로 끝났습니다. 해결책은 저자가 약간 최적화 한 최신 NAPE 빌드를 사용하는 것이 었습니다. 이 '작은 최적화'덕분에 프로젝트가 효과적이었습니다.

요약 : 비슷한 문제가있는 경우 코드를 확인하십시오. Adobe의 패키지 작성자가 최적화하기 힘든 몇 가지 큰 기능/방법을 찾아보십시오.

0

-Xmx3072M은 유효한 Eclipse 인수가 아닙니다. 'eclipse.ini'설정 및 기타 Java 설정을 기본값으로 복원하면 올바르게 작동합니다. 당신은 현재 어떻게 해야할지 잘 모르겠습니다. JVM의 다른 부분에서 메모리가 부족해질 정도로 높게 설정했을 수 있습니다.

스택 트레이스에서 볼 수 있듯이 이클립스 또는 FDT 문제가 아닙니다. 어도비의 패키지 도구는 문제가 있습니다. Java가 일반적으로 더 많은 메모리를 제공하는 것에 대해 살펴보십시오. 작동하지 않는다면 Eclipse의 메모리를 천천히 늘려 작동하는지 확인하십시오.

+0

감사합니다. 하지만 다른 조합 (기본 자바 옵션, Window 환경 변수에서 증가 된 Java 메모리를 사용하여 Eclipse 인수 등을 설정 함)을 시도했지만 도움이되지 않았습니다. 나는이 문제를 해결하는 방법을 모른다. 어도비가 iOS 패키지 도구에 버그가있는 것 같습니다. 그러나 나는 그것을 직면 한 구글의 유일한 사람이다;). – ncreated

+0

다른 AIR SDK를 사용해보십시오. 과거에는 일부 Adobe AIR SDK에는 Adobe에서 인식하지 못하는 버그가 있지만 다음 버전에서는 수정되었습니다. 사용중인 AIR SDK는 무엇입니까? 3.3 베타 버전입니다. –

+0

3.2를 사용했지만 3.3 베타를 내 Flex 4.6 SDK에 병합했습니다. 불행히도 도움이되지 않았습니다. 패키저는 언급 된 "java.lang.OutOfMemoryError"로 끝내고있다. – ncreated