我试图弄清楚如何使用 Adobe Air 为 Android 编写应用程序。我选择了 Axel Framework(基于 Stage3D 的简单游戏引擎)和 FlashDevelop 作为我的工具。我写了我的第一个应用程序,它应该在屏幕上显示图像和一些文本。当我在桌面模式下运行这个应用程序时,它可以工作。不幸的是,当我在 Android 模拟器上安装它时,它只显示空白屏幕(在 [SWF] 标签中指定颜色)。我真的不知道怎么了。
附加编译参数: -swf-version=13
目标框架: AIR mobile 3.3
应用程序.xml
<?xml version="1.0" encoding="utf-8"?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>air.TestAndroidAxl</id>
<versionNumber>0.1</versionNumber>
<supportedProfiles>mobileDevice</supportedProfiles>
<filename>TestAndroidAxl</filename>
<name>TestAndroid_Axl</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>TestAndroid_Axl</title>
<content>TestAndroidAxl.swf</content>
<visible>true</visible>
<fullScreen>false</fullScreen>
<!--<autoOrients>false</autoOrients>-->
<!--<aspectRatio>landscape</aspectRatio>-->
<renderMode>direct</renderMode>
<systemChrome>standard</systemChrome>
<aspectRatio>landscape</aspectRatio>
</initialWindow>
<icon>
<image48x48>icons/icon_48.png</image48x48>
<image57x57>icons/icon_57.png</image57x57>
<image72x72>icons/icon_72.png</image72x72>
<image114x114>icons/icon_114.png</image114x114>
<image512x512>icons/icon_512.png</image512x512>
</icon>
</application>
主文件
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 game : AxlGame = new AxlGame();
addChild(game);
}
private function deactivate(e:Event) : void {
NativeApplication.nativeApplication.exit();
}
}
AxllGame.as
import org.axgl.Ax;
public class AxlGame extends Ax {
public function AxlGame() {
super(PlayState);
}
}