我无法编译适用于Android的Distriqt Facebook ANE。 它适用于iOS但不适用于Android 错误消息是:
dx工具失败:
意外的顶层错误:java.lang.OutOfMemoryError:Java堆 空间 com.android.dx.cf.code.ExecutionStack.copy(ExecutionStack.java:66)at com.android.dx.cf.code.Frame.copy(Frame.java:98)at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:786)at at com.android.dx.cf.code.Ropper.doit(Ropper.java:742)at com.android.dx.cf.code.Ropper.convert(Ropper.java:349)at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:280) 在 com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137) 在com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93) 在com.android.dx.command.dexer.Main.processClass(Main.java:729)at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)at at com.android.dx.command.dexer.Main.access $ 300(Main.java:83)at com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:602) 在 com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) 在 com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) 在 com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) 在com.android.dx.command.dexer.Main.processOne(Main.java:632)at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)at at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)at at com.android.dx.command.dexer.Main.run(Main.java:246)at com.android.dx.command.dexer.Main.main(Main.java:215)at com.android.dx.command.Main.main(Main.java:106)
ADT命令行: ...
尝试使用AIR18和AIR 16(从distriqt教程更新了dx.jar)。 我的清单包括所有3个必需的扩展名:
<extensionID>com.distriqt.Core</extensionID>
<extensionID>com.distriqt.GooglePlayServices</extensionID>
<extensionID>com.distriqt.FacebookAPI</extensionID>
删除GooglePlayServices可以进行编译,但在初始化FacebokAPI时应用程序崩溃。
使用AIR16 不带更新的dx.jar也会在启动时直接崩溃应用程序。 catlog声明了以下异常:
08-23 14:53:14.793 E / AndroidRuntime(3178):java.lang.RuntimeException: 无法获得提供者com.facebook.FacebookContentProvider: java.lang.ClassNotFoundException:com.facebook.FacebookContentProvider 在装载机中 dalvik.system.PathClassLoader [/data/app/air.my.com.zas.lefiner-1.apk]
08-23 14:53:14.793 E / AndroidRuntime(3178):引起: java.lang.ClassNotFoundException:com.facebook.FacebookContentProvider 在装载机中 dalvik.system.PathClassLoader [/data/app/air.my.com.zas.lefiner-1.apk]
奇怪的是,使用Core和GooglePlayServices的Distriqt GooglePlusANE在两个平台上都能正常运行。所以我强烈认为FacebookAPI扩展有问题。
非常感谢任何帮助!
答案 0 :(得分:0)
如果您在Intellij IDEA
中使用Compiler heap size
增加Actionscript
&amp; Flex
编译器。这为我解决了这个问题。