将AIR编译为iOS会引发java错误

时间:2010-12-17 09:43:46

标签: ios air flash-cs5

我有一个Flash应用程序,我们正在重新定位iPad。我可以愉快地编译它到AIR 2,并可以将其调试为iOS应用程序(ctrl + enter,和ctrl + shift + enter) - 但是当我尝试实际发布它时,我得到一个Java错误 - 不是编译器错误,而是如果有意义的话,编译器本身会出错。错误如下 - 抱歉任何拼写错误,但您无法复制并粘贴错误消息:

Error creating files.

Exception in thread "main" java.lang.Error: Method 1207 is referenced more than once.
    at abobe.abc.LLVMEmitter.referenceMethod(LLVMEmitter.java:3440)
    at abobe.abc.LLVMEmitter.access$2300(LLVMEmitter.java:44)
    at abobe.abc.LLVMEmitter$MethodEmitter.emitBlock(LLVMEmitter.java:2854)
    at abobe.abc.LLVMEmitter$MethodEmitter.emit(LLVMEmitter.java:1426)
    at abobe.abc.LLVMEmitter.emitMethods(LLVMEmitter.java:3963)
    at abobe.abc.LLVMEmitter.emit(LLVMEmitter.java:3835)
    at abobe.abc.LLVMEmitter.processABCs(LLVMEmitter.java:206)
    at abobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:174)
    at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcode(AOTCompiler.jav a:329)
    at com.adobe.air.ipa.AOTCompiler.GenerateMacBinary(AOTCompiler.java:600)
    at com.adobe.air.ipa.IPAOutputStream.compileRootSwf(IPAOutputStream.java :196)
    at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:35 5)
    at com.adobe.air.ADTPackager.createPackage(ADTPackager.java:65)
    at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:165)
    at com.adobe.air.ADTEntrypoint.parseArgsAndGo(ADTEntrypoint.java:132)
    at com.adobe.air.ipa.PFI.parseArgsAndGo(PFI.java:152)
    at com.adobe.air.ADTEntrypoint.run(ADTEntrypoint.java:68)
    at com.adobe.air.ipa.PFI.main(PFI.java:112)

无论部署类型或呈现选项如何,都会发生这种情况。我知道证书和配置文件是正确的,因为当我删除.fla本身的类时,它编译得很开心,可以放到我们的开发iPad上(显然它什么也没做)。

任何人都可以对此有所了解,因为我不确定从哪里开始。

编辑:这是在XP64上运行的Flash CS5,如果有任何帮助的话。

3 个答案:

答案 0 :(得分:1)

尝试使用ADT.BAT命令,它对我们有用。

答案 1 :(得分:0)

首先,确保您的Flash Pro CS5是最新的:http://www.adobe.com/support/flash/downloads.html

您可以在Adobe论坛中发帖提问:http://www.AdobeAssistance.com

阅读适用于iOS的Adobe常见问题解答(确保您没有使用不受支持的库等等):http://labs.adobe.com/wiki/index.php/Packager_for_iPhone:Developer_FAQ

我会阅读常见问题解答并确保我的Flash与最新版本保持同步并再次尝试。如果失败,我会在Adobe论坛上发布此问题。

答案 2 :(得分:0)

它与SWF中存在的调试信息有关。唯一的解决方案是通过命令行和include libraries参数编译AIR应用程序:

  

“c:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4 \ sdks \ 4.1.0 \ bin \ amxmlc”。\ src \ YourApp.mxml -compiler.include-libraries