Adobe AIR for Android Hello World

时间:2011-04-22 15:47:16

标签: android air aptana air-android

提前道歉,问这些愚蠢的问题,但是: 在Workflow for creating AIR applications for mobile devices中,他们对

  1. 创建AIR应用程序描述符文件(使用2.5或更高版本的命名空间)。
  2. 编译应用程序。
  3. 将应用程序打包为Android程序包(.apk)。
  4. AIR应用程序描述符文件的含义是什么?它们是指application.xml吗?

    2.5命名空间的含义是什么? 我在application.xml中看到了应用程序xmlns =“http://ns.adobe.com/air/application/2.0”。 如何获取最新的命名空间?

    编译应用程序意味着什么?我正在使用Aptana并且没有编译菜单选项,所以它们是否意味着使用Export Adob​​e AIR包按钮。

    将应用程序打包为Android程序包是什么意思?这是相同的导出Adobe AIR包按钮吗?我没有在Aptana的任何地方看到.apk。

1 个答案:

答案 0 :(得分:4)

假设你有一个航空应用程序:HelloWorld

通过应用程序描述符文件,它们表示HelloWorld-app.xml文件,您可以在其中配置应用程序的行为和基本显示(大小,图标等)

以2.5命名空间表示,您必须拥有current air (2.5 or higher) runtime。当前的sdk版本是2.6,downloadable from here. 我建议您使用(当前最新的)Flex Hero SDK,它已经与air2.5运行时绑定,这样您就不需要手动合并flex和air SDK。
然后设置环境以使用这个新的空气sdk,从那时起,在应用程序描述符xml中将生成新版本。

通过编译他们的意思是......好吧:编译。使您的机器可以理解您的代码。此时应使用mxmlc(不是compc)。 More about it here。 IDE通常在后台执行此操作,例如。在每次保存操作时,或在运行之前,所以可能你不应该打扰。
在编译代码之后,您将在bin或bin-release或bin-debug文件夹中拥有正确的swf(启用或不启用调试)。

通过将应用程序打包到Android包中,它们意味着您必须创建一个.apk文件(由android使用的文件和应用程序包)。您可以使用adt命令创建apk文件:

adt -package 
    -target apk 
    -storetype [yourstoretyp] 
    -keystore [yourkeystore] HelloWorld.apk HelloWorld-app.xml HelloWorld.swf 

注意

在您的应用程序描述符中,visible标志应设置为true:

<visible>true</visible>

您的androidManifest.xml文件必须嵌入到您的空中应用程序描述符xml中。示例嵌入式Android清单是:

<application>
    [...]
    <android>
        <manifestAdditions>
            <![CDATA[
                <manifest android:installLocation='auto'>
                    <uses-permission android:name="android.permission.INTERNET" />
                    <supports-screens android:normalScreens="true"/>
                    <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
                    <application android:enabled="true">
                        <activity android:excludeFromRecents="false">
                            <intent-filter>
                                <action android:name="android.intent.action.MAIN" />
                                <category android:name="android.intent.category.LAUNCHER" />
                            </intent-filter>
                        </activity>
                    </application>
                </manifest>
            ]]>
        </manifestAdditions>
    </android>
    [...]
</application>