一、可以使用命令行 MXML 编译器 (amxmlc) 来编译 AIR 应用程序的 Adobe® ActionScript® 3.0 和 MXML 资源:
amxmlc [compiler options] -- MyAIRApp.mxml
其中 [compiler options] 指定编译 AIR 应用程序所使用的命令行选项。
amxmlc 命令通过附加参数 +configname=air 调用标准 Flex mxmlc 编译器。该参数指示编译器使用 air-config.xml 文件,而不是 flex-config.xml 文件。在其他方面,使用 amxmlc 与使用 mxmlc 相同。Flex 3 文档库中的《构建 和部署 Flex 3 应用程序 》介绍了 mxmlc 编译器和配置文件格式。
编译器加载的 air-config.xml 配置文件指定编译 AIR 应用程序通常所需的 AIR 和 Flex 库。您还可以使用本地项目级配置文件覆盖或添加全局配置的其他选项。通常,创建本地配置文件的最简便方式是编辑全局版本的副本。通过 -load-config 选项可以加载本地文件:
-load-config=project-config.xml 覆盖全局选项。
-load-config+=project-config.xml 向采用多个值的全局选项(例如 -library-path 选项)添加其它值。仅采用一个值的全局选项将被覆盖。
如果对本地配置文件使用特定命名约定,amxmlc 编译器会自动加载本地文件。例如,如果主 MXML 文件为 RunningMan.mxml ,则将本地配置文件命名为 RunningMan-config.xml 。 现在,您只需键入以下内容即可编译应用程序:
amxmlc RunningMan.mxml
由于 RunningMan-config.xml 的文件名与编译的 MXML 文件的文件名匹配,因此将自动加载该文件。
amxmlc 示例
下面的示例演示如何使用 amxmlc 编译器。(只能编译应用程序的 ActionScript 和 MXML 资源。)
编译 AIR MXML 文件:
amxmlc myApp.mxml
编译和设置输出名称:
amxmlc –output anApp.swf -- myApp.mxml
编译 AIR ActionScript 文件:
amxmlc myApp.as
指定编译器配置文件:
amxmlc –load-config config.xml -- myApp.mxml
从其他配置文件添加其他选项:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
在命令行中添加库(除了配置文件中的已有库以外):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
在不使用配置文件的情况下编译 AIR MXML 文件 (Win):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^ [AIR SDK]/frameworks/libs/air/airframework.swc, ^ -library-path [Flex 3 SDK]/frameworks/libs/framework.swc ^ -- myApp.mxml
在不使用配置文件的情况下编译 AIR MXML 文件(Mac OS X 或 Linux):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \ [AIR SDK]/frameworks/libs/air/airframework.swc, \ -library-path [Flex 3 SDK]/frameworks/libs/framework.swc \ -- myApp.mxml
编译 AIR MXML 文件以便使用运行时共享库:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
使用 Java 编译(将类路径设置为包含 mxmlc.jar ):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
flexlib 选项标识 Flex SDK 框架目录的位置,并使编译器能够查找 flex_config.xml 文件。
使用 Java 编译(未设置类路径):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml