使用 Flex SDK 创建您的第一个 AIR for Android 应用程序

若要开始,必须已安装并设置 AIR 和 Flex SDK。此教程使用 Flex SDK 中的 AMXMLC 编译器和 AIR Debug Launcher (ADL),以及 AIR SDK 中的 AIR Developer Tool (ADT)。请参阅 安装 Flex SDK

同时还必须从 Android 网站下载并安装 Android SDK,如 Android 开发人员:安装 SDK 中所述。

注: 有关 iPhone 开发的信息,请参阅 使用 Flash Professional CS5 创建 Hello World iPhone 应用程序

创建 AIR 应用程序描述符文件

本节介绍如何创建应用程序描述符,它是具有以下结构的 XML 文件:

<application xmlns="..."> 
    <id>...</id> 
    <versionNumber>...</versionNumber> 
    <filename>…</filename> 
    <initialWindow> 
        <content>…</content> 
    </initialWindow> 
    <supportedProfiles>...</supportedProfiles> 
</application>
  1. 创建名为 HelloWorld-app.xml 的 XML 文件,并将其保存到项目目录中。

  2. 添加 <application> 元素,并在其中包含 AIR 命名空间属性:

    <application xmlns="http://ns.adobe.com/air/application/2.7"> 命名空间的最后一段“2.7”指定应用程序所需的运行时版本。

  3. 添加 <id> 元素:

    <id>samples.android.HelloWorld</id> 应用程序 ID 与发行商 ID(由 AIR 派生自用于对应用程序包进行签名的证书)一起用于唯一地标识应用程序。建议采用的形式为以点分隔的反向 DNS 样式的字符串,如 "com.company.AppName"

  4. 添加 <versionNumber> 元素:

    <versionNumber>0.0.1</versionNumber> 可帮助用户确定安装哪个版本的应用程序。

  5. 添加 <filename> 元素:

    <filename>HelloWorld</filename> 用作操作系统中应用程序可执行文件、安装目录和类似引用的名称。

  6. 添加包含下列子元素的 <initialWindow> 元素,从而为初始应用程序窗口指定属性:

    <content>HelloWorld.swf</content> 标识 AIR 要加载的 HTML 根文件。

  7. 添加 <supportedProfiles> 元素。

    <supportedProfiles>mobileDevice</supportedProfiles> 指定应用程序仅在移动配置文件中运行。

  8. 保存该文件。完整的应用程序描述符文件应如下所示:

    <?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="http://ns.adobe.com/air/application/2.7"> 
        <id>samples.android.HelloWorld</id> 
        <versionNumber>0.0.1</versionNumber> 
        <filename>HelloWorld</filename> 
        <initialWindow> 
            <content>HelloWorld.swf</content> 
        </initialWindow> 
        <supportedProfiles>mobileDevice</supportedProfiles> 
    </application>

此示例仅设置了几个可能的应用程序属性。应用程序描述符文件中还有其他可以使用的设置。例如,您可以将 <fullScreen>true</fullScreen> 添加到 initialWindow 元素以构建全屏应用程序。若要在 Android 上启用远程调试和访问控制功能,还必须将 Android 权限添加到应用程序描述符。此简单应用程序不需要权限,因此您现在不需要添加这些权限。

有关详细信息,请参阅 设置移动应用程序属性

编写应用程序代码

创建名为 HelloWorld.as 的文件并使用文本编辑器添加以下代码:

package 
{ 
    import flash.display.Sprite; 
    import flash.text.TextField; 
     
    public class HelloWorld extends Sprite 
    { 
        public function HelloWorld() 
        { 
            var textField:TextField = new TextField(); 
            textField.text = "Hello, World!"; 
            stage.addChild( textField ); 
        } 
    } 
}

编译应用程序

在运行和调试应用程序之前,需要先使用 amxmlc 编译器将 MXML 代码编译成 SWF 文件。可以在 Flex SDK 的 bin 目录中找到 amxmlc 编译器。如果需要,可以将计算机的路径环境设置为包含 Flex SDK bin 目录。设置路径后,可以更方便地在命令行下运行实用程序。

  1. 打开命令解释程序或终端并导航到 AIR 应用程序的项目文件夹。

  2. 输入以下命令:

    amxmlc HelloWorld.as 

运行 amxmlc 会生成 HelloWorld.swf ,它包含应用程序的编译代码。

注: 如果应用程序无法编译,请修正语法或拼写错误。错误和警告显示在用于运行 amxmlc 编译器的控制台窗口中。

有关详细信息,请参阅 为 AIR 编译 MXML 和 ActionScript 源文件

测试应用程序

若要从命令行运行和测试应用程序,请使用 AIR Debug Launcher (ADL) 启动使用其应用程序描述符文件的应用程序。(可以在 AIR 和 Flex SDK 的 bin 目录中找到 ADL。)

在命令提示符下,输入以下命令:
adl HelloWorld-app.xml 

有关详细信息,请参阅 使用 ADL 的设备模拟

创建 APK 包文件

在成功运行应用程序后,可以使用 ADT 实用程序将应用程序打包到 AIR 包文件中。APK 包文件是可以分发给用户的本机 Android 应用程序文件格式。

所有 Android 应用程序都必须进行签名。与 AIR 文件不同,它通常使用自签名的证书对 Android 应用程序进行签名。Android 操作系统不会尝试建立应用程序开发人员的身份。您可以使用由 ADT 生成的证书对 Android 包进行签名。用于提交到 Android Market 的应用程序的证书必须至少具有 25 年的有效期。

生成自签名证书和密钥对

在命令提示符下,输入以下命令(可以在 Flex SDK 的 bin 目录中找到 ADT 可执行文件):
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

此示例使用了证书允许设置的最少数量的属性。密钥类型必须是 1024-RSA 2048-RSA (请参阅 ADT certificate 命令 )。

创建 AIR 包

在命令提示符下,输入以下命令(在一行中):
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf

系统将提示您输入 keystore 文件密码。键入密码并按 Enter。

有关详细信息,请参阅 打包移动 AIR 应用程序

安装 AIR 运行时

您可以通过 Android Market 在您的设备上安装 AIR 运行时的最新版本。也可以在设备或 Android 仿真器上安装您的 SDK 中包括的运行时。

在命令提示符下,输入以下命令(在一行中):
adt -installRuntime -platform android -platformsdk

-platformsdk 标志设置为您的 Android SDK 目录(指定工具文件夹的父级)。

ADT 会安装 SDK 中包括的 Runtime.apk。

有关详细信息,请参阅 安装用于开发的 AIR 运行时和应用程序

安装 AIR 应用程序

在命令提示符下,输入以下命令(在一行中):
adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app

-platformsdk 标志设置为您的 Android SDK 目录(指定工具文件夹的父级)。

有关详细信息,请参阅 安装用于开发的 AIR 运行时和应用程序

您可以通过点击设备或仿真器屏幕上的应用程序图标来启动应用程序。