【问题标题】:Distriqt Facebook ANE won't compile for AndroidDistriqt Facebook ANE 无法为 Android 编译
【发布时间】:2015-08-23 14:57:28
【问题描述】:

我在为 Android 编译 Distriqt Facebook ANE 时遇到问题。 它在 iOS 上运行良好,但在 Android 上却不行。
错误信息是:

dx 工具失败:

意外的顶级错误:java.lang.OutOfMemoryError:Java 堆 空间在 com.android.dx.cf.code.ExecutionStack.copy(ExecutionStack.java:66) 在 com.android.dx.cf.code.Frame.copy(Frame.java:98) 在 com.android.dx.cf.code.Ropper.processBlock(Ropper.java:786) 在 com.android.dx.cf.code.Ropper.doit(Ropper.java:742) 在 com.android.dx.cf.code.Ropper.convert(Ropper.java:349) 在 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) 在 com.android.dx.command.dexer.Main.processFileBytes(Main.java:673) 在 com.android.dx.command.dexer.Main.access$300(Main.java:83) 在 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) 在 com.android.dx.command.dexer.Main.processAllFiles(Main.java:510) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:280) 在 com.android.dx.command.dexer.Main.run(Main.java:246) 在 com.android.dx.command.dexer.Main.main(Main.java:215) 在 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 扩展有问题。

非常感谢任何帮助!

【问题讨论】:

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


    【解决方案1】:

    如果您在ActionscriptFlex 编译器中使用Intellij IDEA,则增加Compiler heap size。这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-05
      • 2015-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多