Distriqt Facebook ANE不会为Android编译

时间:2015-08-23 14:57:28

标签: facebook air air-native-extension ane distriqt

我无法编译适用于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扩展有问题。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果您在Intellij IDEA中使用Compiler heap size增加Actionscript&amp; Flex编译器。这为我解决了这个问题。