0

Distriqt Facebook ANE for Android のコンパイルに問題があります。iOS では正常に動作しますが、Android では動作しません。
エラーメッセージは次のとおりです。

dx ツールが失敗しました:

予期しないトップレベル エラー: java.lang.OutOfMemoryError: com.android.dx.cf.code.ExecutionStack.copy(ExecutionStack.java:66) の Java ヒープ スペース 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.アンドロイド。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.ジャワ:106)android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) com.android.dx.command.dexer. com.android.dx.command.dexer.Main.processAllFiles(Main.java:510) の Main.processOne(Main.java:632) 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)android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) com.android.dx.command.dexer. com.android.dx.command.dexer.Main.processAllFiles(Main.java:510) の Main.processOne(Main.java:632) 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)com.android.dx.command.dexer.Main.run(Main.java:246) の dexer.Main.runMonoDex(Main.java:280) com.android.dx.command.dexer.Main.main(Main. java:215) com.android.dx.command.Main.main(Main.java:106) でcom.android.dx.command.dexer.Main.run(Main.java:246) の dexer.Main.runMonoDex(Main.java:280) 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 の初期化時にアプリがクラッシュします。

更新された dx.jarなしで AIR16 を使用すると、起動時にアプリが直接クラッシュします。カタログには、次の例外が記載されています。

08-23 14:53:14.793 E/AndroidRuntime(3178): java.lang.RuntimeException: プロバイダー com.facebook.FacebookContentProvider を取得できません: java.lang.ClassNotFoundException: ローダー dalvik.system.PathClassLoader の com.facebook.FacebookContentProvider[ /data/app/air.my.com.zas.lefiner-1.apk]

08-23 14:53:14.793 E/AndroidRuntime(3178): 原因: java.lang.ClassNotFoundException: ローダー dalvik.system.PathClassLoader の com.facebook.FacebookContentProvider[/data/app/air.my.com.zas. lefiner-1.apk]

奇妙なことに、Core と GooglePlayServices を使用する Distriqt GooglePlusANE は、両方のプラットフォームで正常に動作します。したがって、FacebookAPI 拡張機能に何か問題があると強く思います。

どんな助けでも大歓迎です!

4

1 に答える 1

0

&コンパイラでIntellij IDEA増加Compiler heap sizeを使用している場合。これで問題は解決しました。ActionscriptFlex

于 2015-09-15T17:51:14.010 に答える