4

AdobeAIRとFlashDevelopを使用してAndroid用のアプリケーションを開発しています。残念ながら、起動後にアプリがクラッシュし(標準の「プロセスにair.HelloWorldが停止しました」というメッセージが表示されます)、デバッガーをセットアップできません(「FlashPlayerがデバッガーに接続するのを待っています」でフリーズします)。

FlashDevelopで起動しようとすると、動作します。エミュレータに.apkをインストールして起動しようとすると、問題が発生します。

Main.as

import flash.desktop.NativeApplication;
import flash.events.Event;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;

public class Main extends Sprite {

    public function Main() : void {
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;
        stage.addEventListener(Event.DEACTIVATE, deactivate);

        // touch or gesture?
        Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

        // entry point
        var main : FlixelMain = new FlixelMain();
        addChild(main);
    }

    private function deactivate(e:Event) : void {
        // auto-close
        NativeApplication.nativeApplication.exit();
    }

}

FlixelMain.as

import org.flixel.*;

public class FlixelMain extends FlxGame {

    public function FlixelMain() {
        FlxG.mobile = true;
        super(480, 800, MenuState, 1, 60);
    }

}

application.xml

    <?xml version="1.0" encoding="utf-8"?>
<application xmlns="http://ns.adobe.com/air/application/3.1">

  <id>air.HelloWorld</id>
  <versionNumber>0.1</versionNumber>
  <supportedProfiles>mobileDevice</supportedProfiles>
  <filename>HelloWorld</filename>
  <name>HelloWorld</name>

<android>
    <manifestAdditions><![CDATA[<manifest android:installLocation="auto">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch" />
    </manifest>]]>
    </manifestAdditions>

  </android>

  <initialWindow>
    <title>HelloWorld</title>
    <content>HelloWorld.swf</content>
    <visible>true</visible>
    <fullScreen>true</fullScreen>
    <!--<autoOrients>false</autoOrients>-->
    <!--<aspectRatio>landscape</aspectRatio>-->
    <renderMode>cpu</renderMode>
    <systemChrome>standard</systemChrome>
    <aspectRatio>portrait</aspectRatio>
  </initialWindow>

  <icon>
    <image72x72>icons/icon_72.png</image72x72>
    <image114x114>icons/icon_114.png</image114x114>
    <image512x512>icons/icon_512.png</image512x512>
  </icon>
</application>

エクスポートされたAPKファイル

http://dynax.boo.pl/HelloWorld.apk

誰かが彼のデバイスでこのファイルをチェックできるか、この問題を知っているなら、私は感謝します:)ご挨拶。

4

1 に答える 1

0

ネットワーク接続の速度に関係している可能性があります。

デバイスからの WIFI 接続などの低速接続でデバッガーを実行すると、デバッガーはネットワーク経由で送信されるデータの量に追いついていないように見えます。ブレークポイントに到達すると、スタック トレースとローカル変数がすべてネットワーク経由で送信されます。

接続がボトルネックになると、アプリがクラッシュしたと判断して終了するほど速度が低下する可能性があります。

より高速なネットワーク接続でデバッガーを実行すると、問題が解決する場合があります。

于 2012-09-19T19:53:41.697 に答える