0

提前为提出这些愚蠢的问题道歉,但是:在为移动设备创建 AIR 应用程序的工作流中,他们说

  1. 创建一个 AIR 应用程序描述符文件(使用 2.5 或更高版本的命名空间)。
  2. 编译应用程序。
  3. 将应用程序打包为 Android 包 (.apk)。

AIR 应用程序描述符文件是什么意思?他们的意思是application.xml吗?

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

编译应用程序是什么意思?我正在使用 Aptana 并且没有编译菜单选项,所以他们的意思是使用“导出 Adob​​e AIR 包”按钮。

将应用程序打包为 Android 包是什么意思?那是同一个“导出 Adob​​e AIR 包”按钮吗?我在 Aptana 的任何地方都没有看到 .apk。

4

1 回答 1

4

假设您有一个空中应用程序:HelloWorld.

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

他们所说的 2.5 命名空间意味着您必须拥有当前的空气(2.5 或更高版本)运行时。当前的 sdk 版本是 2.6,可从此处下载。
我建议您使用(当前最新的)Flex Hero SDK,它已经与 air2.5 运行时绑定,这样您就不需要手动合并 flex 和 air SDK。
然后设置环境以使用这个新的 air sdk,从那时起,在应用程序描述符 xml 中将生成新版本。

通过编译,它们的意思是……好吧:编译。让你的机器可以理解你的代码。此时应使用 mxmlc(而不是 compc)。更多关于它的信息。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>
于 2011-04-22T16:52:58.540 回答