android - Android 上的 AIR 应用程序崩溃

标签 android air crash adobe

我使用 Adob​​e AIR 和 FlashDevelop 为 Android 开发了一个应用程序。不幸的是,我的应用程序在启动后崩溃(标准的“process has air.HelloWorld stopped”消息)并且我无法设置调试器(卡住在“等待 Flash Player 连接到调试器”)。

当我尝试在 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

如果有人可以在他的设备上检查这个文件或知道这个问题,我将不胜感激:) 问候。

最佳答案

这可能与您的网络连接速度有关。

如果您通过慢速连接运行调试器,例如来自您设备的 WIFI 连接,调试器似乎跟不上通过网络发送的数据量。当您遇到断点时,堆栈跟踪和局部变量都会通过网络发送。

如果您的连接造成瓶颈,它可能会减慢速度,以至于应用认为它已崩溃,然后退出。

在更快的网络连接上运行调试器可能会解决您的问题。

关于android - Android 上的 AIR 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363368/

相关文章:

java - 从 Android Studio 中的 java 类获取资源

android - 如何从 strings.xml 中的字符串数组中获取字符串

android-studio - 应用程序崩溃 : FATAL EXCEPTION: main

iphone - 使用发布版本有效测试 iPhone 应用程序

android - java.lang.RuntimeException : Unable to instantiate receiver (Didn't find class) 错误

android - 我可以在 C 代码中调用 `Log.*` 吗?我想使用 LogCat 进行调试

android - 当屏幕/CPU 关闭时,广播接收器 onReceive 方法不会被调用

apache-flex - 我需要担心 Flex/AIR 代码中的并发问题吗?

apache-flex - 使用带有 native 扩展的 ant mxmlc 任务

ios - 如何在 Flash Professional CS5.5 中更改 renderMode=direct?