AIR 应用程序描述符元素

下面的元素列表描述了 AIR 应用程序描述符文件的各个合法元素。

allowBrowserInvocation

启用 AIR 浏览器内置 API 来检测和启动应用程序。

如果将该值设置为 true ,请务必考虑安全隐患。 从浏览器调用 AIR 应用程序 (针对 ActionScript 开发人员)和 从浏览器调用 AIR 应用程序 (针对 HTML 开发人员)中将对这些进行介绍。

有关详细信息,请参阅 从浏览器启动安装的 AIR 应用程序

父元素: application

子元素:

内容

true false (默认)

示例

<allowBrowserInvocation>true</allowBrowserInvocation>

android

可以将元素添加到 Android 清单文件。AIR 为每个 APK 包创建了 AndroidManifest.xml 文件。您可以使用 AIR 应用程序描述符中的 android 元素将其他项目添加到其中。除 Android 外,忽略所有平台。

父元素: application

子元素:

内容

用于定义特定于 Android 的属性以添加到 Android 应用程序清单的元素。

示例

<android> 
    <manifestAdditions> 
        ... 
    </manifestAdditions> 
</android>

application

AIR 应用程序描述符文档的根元素。

父元素:

子元素:

属性

minimumPatchLevel — 此应用程序必需的 AIR 运行时最低修补级别。

xmlns — XML 命名空间属性决定应用程序所需的 AIR 运行时版本。

该命名空间因每个 AIR 主版本而异(但不会因次要修补程序而异)。命名空间的最后一段(如“3.0,”)指示应用程序所需的运行时版本。

针对 AIR 版本的 xmlns 值为:

xmlns="http://ns.adobe.com/air/application/1.0" 
xmlns="http://ns.adobe.com/air/application/1.1" 
xmlns="http://ns.adobe.com/air/application/1.5" 
xmlns="http://ns.adobe.com/air/application/1.5.2" 
xmlns="http://ns.adobe.com/air/application/1.5.3" 
xmlns="http://ns.adobe.com/air/application/2.0" 
xmlns="http://ns.adobe.com/air/application/2.5" 
xmlns="http://ns.adobe.com/air/application/2.6" 
xmlns="http://ns.adobe.com/air/application/2.7" 
xmlns="http://ns.adobe.com/air/application/3.0" 
xmlns="http://ns.adobe.com/air/application/3.1" 
xmlns="http://ns.adobe.com/air/application/3.2" 
xmlns="http://ns.adobe.com/air/application/3,3" 
xmlns="http://ns.adobe.com/air/application/3.4" 
xmlns="http://ns.adobe.com/air/application/3.5" 
xmlns="http://ns.adobe.com/air/application/3.6" 
xmlns="http://ns.adobe.com/air/application/3.7"

对基于 SWF 的应用程序,应用程序描述符中指定的 AIR 运行时版本决定了可以作为应用程序初始内容加载的 SWF 最高版本。指定 AIR 1.0 或 AIR 1.1 的应用程序只能使用 SWF9 (Flash Player 9) 文件作为初始内容。即使运行应用程序时采用了 AIR 2 运行时也是如此。指定 AIR 1.5(或更高版本)的应用程序可以使用 SWF9 或 SWF10 (Flash Player 10) 文件作为初始内容。

SWF 版本决定了 AIR 和 Flash Player API 的哪个版本可供使用。如果将 SWF9 文件用作 AIR 1.5 应用程序的初始内容,则应用程序将只能访问 AIR 1.1 和 Flash Player 9 API。此外,AIR 2.0 或 Flash Player 10.1 中对现有 API 行为的更改将不会生效。(此原则有一个例外,在运行时当前或今后的修补程序中,可以追溯应用对 API 在安全方面的重要更改。)

对于基于 HTML 的应用程序,在应用程序描述符中指定的运行时版本确定了可供该应用程序使用的 AIR 和 Flash Player API 版本。HTML、CSS 和 JavaScript 的行为始终由已安装 AIR 运行时中所用 Webkit 版本决定,而非由应用程序描述符决定。

AIR 应用程序加载 SWF 内容时,可供该内容使用的 AIR 和 Flash Player API 的版本取决于内容的加载方式。有效版本有时取决于应用程序描述符命名空间,有时取决于正在加载内容的版本,有时取决于已加载内容的版本。下表展示了如何根据加载方法决定 API 版本:

加载内容的方式

决定 API 版本的方式

初始内容, 基于 SWF 的应用程序

已加载 文件的 SWF 版本

初始内容, 基于 HTML 的应用程序

应用程序描述符命名空间

由 SWF 内容加载的 SWF

正在加载 的内容的版本

由 HTML 内容使用 <script> 标签加载的 SWF 库

应用程序描述符命名空间

由 HTML 内容使用 AIR 或 Flash Player API(如 flash.display.Loader)加载的 SWF

应用程序描述符命名空间

由 HTML 内容使用 <object> 或 <embed> 标签(或等效的 JavaScript API)加载的 SWF

已加载 文件的 SWF 版本

当正在加载的 SWF 文件与正在加载的内容具有不同的版本时,可能会遇到两种问题:

  • 早期版本的 SWF 加载更新版本的 SWF — 将取消解析所加载内容中对更新版本的 AIR 和 Flash Player 中添加的 API 的引用

  • 更新版本的 SWF 加载早期版本的 SWF — 更新版本的 AIR 和 Flash Player 中更改的 API 可能不会按所加载内容的预期方式工作。

内容

应用程序元素包含定义 AIR 应用程序属性的子元素。

示例

<?xml version="1.0" encoding="utf-8" ?> 
<application xmlns="http://ns.adobe.com/air/application/3.0"> 
    <id>HelloWorld</id> 
    <version>2.0</version> 
    <filename>Hello World</filename> 
    <name>Example Co. AIR Hello World</name> 
     <description> 
        <text xml:lang="en">This is an example.</text> 
        <text xml:lang="fr">C'est un exemple.</text> 
        <text xml:lang="es">Esto es un ejemplo.</text> 
    </description> 
    <copyright>Copyright (c) 2010 Example Co.</copyright> 
    <initialWindow> 
        <title>Hello World</title> 
        <content> 
            HelloWorld.swf 
        </content> 
        <systemChrome>none</systemChrome> 
        <transparent>true</transparent> 
        <visible>true</visible> 
        <minSize>320 240</minSize> 
    </initialWindow>  
    <installFolder>Example Co/Hello World</installFolder> 
    <programMenuFolder>Example Co</programMenuFolder> 
    <icon> 
        <image16x16>icons/smallIcon.png</image16x16> 
        <image32x32>icons/mediumIcon.png</image32x32> 
        <image48x48>icons/bigIcon.png</image48x48> 
        <image128x128>icons/biggestIcon.png</image128x128>  
    </icon> 
    <customUpdateUI>true</customUpdateUI> 
    <allowBrowserInvocation>false</allowBrowserInvocation> 
    <fileTypes> 
        <fileType> 
            <name>adobe.VideoFile</name> 
            <extension>avf</extension> 
            <description>Adobe Video File</description> 
            <contentType>application/vnd.adobe.video-file</contentType> 
            <icon> 
                <image16x16>icons/avfIcon_16.png</image16x16> 
                <image32x32>icons/avfIcon_32.png</image32x32> 
                <image48x48>icons/avfIcon_48.png</image48x48> 
                <image128x128>icons/avfIcon_128.png</image128x128> 
            </icon> 
        </fileType> 
    </fileTypes> 
</application>

aspectRatio

指定应用程序的高宽比。

如果未指定,则应用程序会以设备的“自然”高宽比和方向打开。自然方向因设备而异。通常,在小屏幕设备(如手机)上是以纵向高宽比打开。在某些设备(如 iPad 平板电脑)上,应用程序会以当前的方向打开。在 AIR 3.3 和更高版本中,它应用于整个应用程序,而不仅仅是初始显示中。

父元素: initialWindow

子元素:

内容

portrait, landscape any

示例

<aspectRatio>landscape</aspectRatio>

autoOrients

指定应用程序中的内容的方向是否随设备自身更改物理方向而自动重新取向。有关详细信息,请参阅 舞台方向

使用自动定向时,请考虑将舞台的 align scaleMode 属性设置为以下值:

stage.align = StageAlign.TOP_LEFT; 
stage.scaleMode = StageScaleMode.NO_SCALE;

这些设置可以使应用程序沿左上角旋转并防止应用程序内容自动缩放。其他的缩放模式在对内容进行调整以适应旋转的舞台尺寸,同时还会剪辑、扭曲或过度收缩该内容。通常您自己可以通过重绘或转播内容实现更佳的效果。

父元素: initialWindow

子元素:

内容

true false (默认)

示例

<autoOrients>true</autoOrients>

colorDepth

指定是使用 16 位颜色还是 32 位颜色。

使用 16 位颜色可提高渲染性能,但是会牺牲颜色保真度。在 AIR 3 之前,Android 上始终使用 16 位颜色。在 AIR 3 中,默认使用 32 位颜色。

注: 如果您的应用程序使用 StageVideo 类,则必须使用 32 位颜色。

父元素: android

子元素:

内容

以下值之一:

  • 16 位

  • 32 位

示例

<android> 
    <colorDepth>16bit</colorDepth> 
    <manifestAdditions>...</manifestAdditions> 
</android>

containsVideo

指定应用程序是否将包含任何视频内容。

父元素: android

子元素:

内容

以下值之一:

  • true

  • false

示例

<android> 
    <containsVideo>true</containsVideo> 
    <manifestAdditions>...</manifestAdditions> 
</android>

content

content 元素指定的值是应用程序主内容文件的 URL。该文件可以是 SWF 文件,也可以是 HTML 文件。该 URL 是相对于根应用程序安装文件夹指定的。(如果使用 ADL 运行 AIR 应用程序,则该 URL 相对于包含应用程序描述符文件的文件夹。可以使用 ADL 的 root-dir 参数指定其他根目录。)

父元素: initialWindow

子元素:

内容

相对于应用程序目录的 URL。因为将 content 元素的值视为 URL,所以必须根据 RFC 1738 中定义的规则对内容文件名称中的字符进行 URL 编码。例如,空格字符必须编码为 %20

示例

<content>TravelPlanner.swf</content>

contentType

contentType 是 AIR 1.5 和更新版本所必需的(在 AIR 1.0 和 1.1 中是可选的)。该属性可以帮助某些操作系统寻找最好的应用程序来打开文件。该值应为文件内容的 MIME 类型。注意,如果文件类型已注册,且具有已分配的 MIME 类型,则在 Linux 中将忽略该值。

父元素: fileType

子元素:

内容

MIME 类型和子类型。有关 MIME 类型的详细信息,请参阅 RFC2045

示例

<contentType>text/plain</contentType>

copyright

AIR 应用程序的版权信息。在 Mac OS 中,版权文本会显示在已安装应用程序的“关于”对话框中。在 Mac OS 中,在应用程序的 Info.plist 文件中的 NSHumanReadableCopyright 字段内也使用版权信息。

父元素: application

子元素:

内容

包含应用程序版权信息的字符串。

示例

<copyright>© 2010, Examples, Inc.All rights reserved.</copyright>

customUpdateUI

指示应用程序是否会提供自己的更新对话框。如果是 false ,则 AIR 会向用户提供标准更新对话框。只有作为 AIR 文件发布的应用程序才可以使用内置 AIR 更新系统。

如果应用程序的已安装版本将 customUpdateUI 元素设置为 true ,则当用户双击新版本的 AIR 文件或使用无缝安装功能安装应用程序的更新时,运行时将打开应用程序的已安装版本。运行时不会打开默认的 AIR 应用程序安装程序。那么,您的应用程序逻辑可以确定如何继续执行更新操作。(AIR 文件中的应用程序 ID 和发行商 ID 必须与已安装应用程序中的值匹配才能继续进行升级。)

注: 仅当应用程序已经安装并且用户双击包含更新的 AIR 安装文件或使用无缝安装功能安装应用程序的更新时, customUpdateUI 机制才能发挥作用。无论 customUpdateUI 是否为 true ,您都可以通过您自己的应用程序逻辑下载并启动更新,并在必要时显示自定义 UI。

有关详细信息,请参阅 更新 AIR 应用程序

父元素: application

子元素:

内容

true false (默认)

示例

<customUpdateUI>true</customUpdateUI>

depthAndStencil

表示应用程序要求使用深度或模板缓冲区。通常在处理 3D 内容时使用这些缓冲区。默认情况下,此元素的值是 false ,以禁用深度和模板缓冲区。此元素非常必要,因为缓冲区必须在应用程序启动时,加载任何内容之前分配。

此元素的设置必须匹配为 enableDepthAndStencil 参数传递到 Context3D.configureBackBuffer() 方法的值。如果值不匹配,AIR 将发出一个错误。

仅当 renderMode = direct 时,才适用此元素。如果 renderMode 不是 direct ,ADT 将引发错误 118:

<depthAndStencil> element unexpected for render mode cpu.  It requires "direct" render mode.

父元素: initialWindow

子元素:

内容

true false (默认)

示例

<depthAndStencil>true</depthAndStencil>

description

显示在 AIR 应用程序安装程序中的应用程序说明。

如果指定单个文本节点(而非多个文本元素),则无论系统语言为哪种语言,AIR 应用程序安装程序都将使用此说明。否则,AIR 应用程序安装程序会使用与用户操作系统的用户界面语言最匹配的说明。例如,假如在某一安装中,应用程序描述符文件的 description 元素包含适用于 en(英语)区域设置的值。如果用户系统将 en(英语)标识为用户界面语言,则 AIR 应用程序安装程序将使用此 en 说明。如果系统用户界面语言为 en-US(美式英语),则该应用程序也使用此 en 说明。但是,如果系统用户界面语言为 en-US,而应用程序描述符文件同时定义了 en-US 名称和 en-GB 名称,则 AIR 应用程序安装程序将使用相应的 en-US 值。如果应用程序定义的任何说明与系统用户界面语言均不匹配,则 AIR 应用程序安装程序将使用在应用程序描述符文件中定义的第一个 description 值。

有关开发多语言应用程序的详细信息,请参阅 本地化 AIR 应用程序

父元素: application

子元素: text

内容

AIR 1.0 应用程序描述符架构只允许为该名称定义一个简单文本节点(而非多个 text 元素)。

在 AIR 1.1(或更高版本)中,您可以在 description 元素中指定多种语言。每个文本元素的 xml:lang 属性用于指定语言代码,有关具体定义,请参阅 RFC4646 (http://www.ietf.org/rfc/rfc4646.txt)。

示例

使用简单文本节点的说明:

<description>This is a sample AIR application.</description> 

使用针对英语、法语和西班牙语的本地化文本元素的说明(AIR 1.1 和更新版本中有效):

<description> 
    <text xml:lang="en">This is an example.</text> 
    <text xml:lang="fr">C'est un exemple.</text> 
    <text xml:lang="es">Esto es un ejemplo.</text> 
</description> 

description

操作系统向用户显示文件类型说明。文件类型说明不可本地化。

另请参阅 description ,它是 application 元素的子元素

父元素: fileType

子元素:

内容

描述文件内容的字符串。

示例

<description>PNG image</description>

embedFonts

允许您在 AIR 应用程序中对 StageText 使用自定义字体。此元素可选。

父元素: application

子元素: font

内容

元素 embedFonts 可以包含任意数目的 字体元素。

示例

<embedFonts> 
   <font> 
      <fontPath>ttf/space age.ttf</fontPath>
      <fontName>space age</fontName> 
   </font>
   <font> 
      <fontPath>ttf/xminus.ttf</fontPath>
      <fontName>xminus</fontName> 
   </font>
</embedFonts>

Entitlements

iOS 使用名为“Entitlements”的属性使应用程序能够访问其他资源和功能。使用 Entitlements 元素在移动 iOS 应用程序中指定该信息。

父元素: iPhone

子元素: iOS Entitlements.plist 元素

内容

包含的子元素可指定用作应用程序的 Entitlements.plist 设置的键值对。Entitlements 元素的内容应该包括在 CDATA 区块中。有关更多信息,请参阅 iOS 开发人员库中的 权限密钥参考

示例

<iphone> 
... 
   <Entitlements> 
      <![CDATA[ 
         <key>aps-environment</key> 
         <string>development</string> 
      ]]> 
   </Entitlements> 
</iphone>

extension

文件类型的扩展字符串。

父元素: fileType

子元素:

内容

标识文件扩展字符的字符串(没有“.”)

示例

<extension>png</extension>

extensionID

指定应用程序所使用的 ActionScript 扩展的 ID。该 ID 是在扩展名描述符文档中定义的。

父元素: extensions

子元素:

内容

标识 ActionScript 扩展 ID 的字符串。

示例

<extensionID>com.example.extendedFeature</extensionID>

extensions

标识应用程序所使用的 ActionScript 扩展。

父元素: application

子元素: extensionID

内容

extensionID 子元素,其中包含扩展描述符文件中的 ActionScript 扩展 ID。

示例

<extensions> 
    <extensionID>extension.first</extensionID> 
    <extensionID>extension.next</extensionID> 
    <extensionID>extension.last</extensionID> 
</extensions>

externalSwfs

指定这样一个文本文件的名称,该文件包含要由 ADT 配置用来进行远程托管的 SWF 列表。若想将初始应用程序下载大小降至最低,您可以对应用程序所使用的 SWF 子集进行打包,并在运行时使用 Loader.load() 方法加载剩余的(仅包含资源)外部 SWF。要使用此功能,您在打包应用程序时,必须让 ADT 将所有 ActionScript 字节码 (ABC) 从外部加载的 SWF 文件移动到主应用程序 SWF,留下只包含资源的 SWF 文件。这是为了遵守 Apple Store 禁止在安装应用程序之后再下载任何代码的这一规则。

有关详细信息,请参阅 通过加载仅包含资源的外部 SWF 将下载大小降至最低

父元素: iPhone initialWindow

子元素:

内容

一个文本文件的名称,该文件包含要远程托管的 SWF 行分隔列表。

属性:

无。

示例

iOS:

<iPhone> 
    <externalSwfs>FileContainingListofSWFs.txt</externalSwfs> 
</iPhone>

filename

该字符串在安装应用程序时用作应用程序的文件名(不带扩展名)。该应用程序文件将在运行时中启动 AIR 应用程序。如果未提供 name 值,则 filename 也将用作安装文件夹的名称。

父元素: application

子元素:

内容

filename 属性可包含任何 Unicode (UTF-8) 字符,但以下字符(在各种文件系统中都禁止将这些字符用作文件名)除外:

字符

十六进制代码

因系统而异

0x00 - x1F

*

x2A

"

x22

:

x3A

>

x3C

<

x3E

?

x3F

\

x5C

|

x7C

filename 值不能以句点结尾。

示例

<filename>MyApplication</filename>

fileType

描述应用程序可以注册的单一文件类型。

父元素: fileTypes

子元素:

内容

描述文件类型的元素。

示例

<fileType> 
    <name>foo.example</name> 
    <extension>foo</extension> 
    <description>Example file type</description> 
    <contentType>text/plain</contentType> 
    <icon> 
        <image16x16>icons/fooIcon16.png</image16x16> 
        <image48x48>icons/fooIcon48.png</imge48x48> 
    <icon> 
</fileType>

fileTypes

利用 fileTypes 元素可声明 AIR 应用程序可以与其关联的文件类型。

当安装某个 AIR 应用程序时,会在操作系统中注册任何已声明的文件类型。如果这些文件类型尚未与其他应用程序关联,则它们将与该 AIR 应用程序关联。若要覆盖某个文件类型和其他应用程序之间的现有关联,请在运行时使用 NativeApplication.setAsDefaultApplication() 方法(最好使用用户权限)。

注: 运行时方法只能管理应用程序描述符中声明的文件类型的关联。

fileTypes 元素为可选元素。

父元素: application

子元素: fileType

内容

fileTypes 元素可以包含任何数量的 fileType 元素。

示例

<fileTypes> 
    <fileType> 
        <name>adobe.VideoFile</name> 
        <extension>avf</extension> 
        <description>Adobe Video File</description> 
        <contentType>application/vnd.adobe.video-file</contentType> 
        <icon> 
            <image16x16>icons/AIRApp_16.png</image16x16>       
            <image32x32>icons/AIRApp_32.png</image32x32>       
            <image48x48>icons/AIRApp_48.png</image48x48>      
            <image128x128>icons/AIRApp_128.png</image128x128> 
        </icon> 
    </fileType> 
</fileTypes>

font

描述一种单独的可以在 AIR 应用程序中使用的自定义字体。

父元素: embedFonts

子元素: fontName fontPath

内容

指定自定义字体名称和其路径的元素。

示例

<font> 
   <fontPath>ttf/space age.ttf</fontPath>
   <fontName>space age</fontName> 
</font>

fontName

指定自定义字体的名称。

父元素: font

子元素:

内容

要在 StageText.fontFamily 中指定的自定义字体的名称

示例

<fontName>space age</fontName> 

fontPath

指定自定义字体文件的位置。

父元素: font

子元素:

内容

自定义字体文件的路径(相对于源路径)。

示例

<fontPath>ttf/space age.ttf</fontPath> 

forceCPURenderModeForDevices

对指定系列的设备强制采用 CPU 渲染模式。此功能可以有效地让您对剩余的 iOS 设备有选择性地启用 GPU 渲染模式。

您应将其作为 iPhone 标记的子标记来添加,并指定设备型号名称,各名称之间以空格分隔。有效的设备型号名称如下所示:

iPad1,1

iPhone1,1

iPod1,1

iPad2,1

iPhone1,2

iPod2,1

iPad2,2

iPhone2,1

iPod3,3

iPad2,3

iPhone3.1

iPod4,1

iPad2,4

iPhone3,2

iPod5,1

iPad2,5

iPhone4,1

iPad3,1

iPhone5,1

iPad3,2

iPad3,3

iPad3,4

父元素: iPhone initialWindow

子元素:

内容

设备型号名称的空格分隔列表。

属性:

无。

示例

iOS:

... 
<renderMode>GPU</renderMode> 
... 
<iPhone> 
... 
   <forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2 iPod1,1 
   </forceCPURenderModeForDevices> 
</iPhone>

fullScreen

指定是否用全屏模式启动应用程序。

父元素: initialWindow

子元素:

内容

true false (默认)

示例

<fullscreen>true</fullscreen>

height

应用程序的主窗口的初始高度。

如果您没有设置高度,则高度会由根 SWF 文件中的设置来确定,如果是基于 HTML 的 AIR 应用程序,则由操作系统来确定。

在 AIR 2 中,窗口的最大高度范围是 2048 像素至 4096 像素。

父元素: initialWindow

子元素:

内容

最大值为 4095 的正无穷整数。

示例

<height>4095</height>

icon

icon 属性指定一个或多个要用于应用程序的图标文件。包含图标是可选的。如果未指定 icon 属性,则操作系统将显示默认图标。

指定路径相对于应用程序的根目录。图标文件必须为 PNG 格式。可以指定以下所有图标尺寸:

如果存在用于指定一定尺寸的元素,则文件中的图像必须与指定尺寸完全相同。如果所有尺寸都未提供,则操作系统会将图像缩放为适合图标给定用途的最接近的大小。

注: 指定图标不会自动添加到 AIR 包中。打包应用程序时,图标文件必须包含在其正确的相对位置中。

为获得最佳效果,为每种可用尺寸都提供一个图像。此外,请确保图标在 16 位和 32 位颜色模式下看上去都像一回事。

父元素: application

子元素: imageNxN

内容

针对每个所需的图标大小的 imageNxN 元素。

示例

<icon> 
    <image16x16>icons/smallIcon.png</image16x16> 
    <image32x32>icons/mediumIcon.png</image32x32> 
    <image48x48>icons/bigIcon.png</image48x48> 
    <image128x128>icons/biggestIcon.png</image128x128>  
</icon>

id

应用程序的标识符字符串,称为应用程序 ID。通常会使用相反的 DNS 样式标识符,但该样式不是必需的。

父元素: application

子元素:

内容

该 ID 值只能使用以下字符:

  • 0 - 9

  • a - z

  • A - Z

  • .(点)

  • -(连字符)

该值必须包含 1 到 212 个字符。此元素是必需的。

示例

<id>org.example.application</id>

imageNxN

定义指向应用程序目录对应图标的路径。

可以使用以下图标图像,每个图像指定一个不同的图标大小:

  • image16x16

  • image29x29 (AIR 2+)

  • image32x32

  • image36x36 (AIR 2.5+)

  • image48x48

  • image50x50 (AIR 3.4+)

  • image57x57 (AIR 2+)

  • image58x58 (AIR 3.4+)

  • image72x72 (AIR 2+)

  • image100x100 (AIR 3.4+)

  • image114x114 (AIR 2.6+)

  • image128x128

  • image144x144 (AIR 3.4+)

  • image512x512 (AIR 2+)

  • image1024x1024 (AIR 3.4+)

图标必须是图像元素指示的确切大小的 PNG 图形。图标文件必须包括在应用程序包中;应用程序描述符文档引用的图标不会自动包括进去。

父元素: application

子元素:

内容

指向图标的文件路径可以包含任何 Unicode (UTF-8) 字符,以下禁止用作各种文件系统中的文件名的字符除外:

字符

十六进制代码

因系统而异

0x00 - x1F

*

x2A

"

x22

:

x3A

>

x3C

<

x3E

?

x3F

\

x5C

|

x7C

示例

<image32x32>icons/icon32.png</image32x32>

InfoAdditions

允许您指定 iOS 应用程序的其他属性。

父元素: iPhone

子元素: iOS Info.plist 元素

内容

包含的子元素可指定用作应用程序的 Info.plist 设置的键值对。InfoAdditions 元素的内容应该包括在 CDATA 区块中。

有关键值对以及在 XML 中如何表达的信息,请参阅 Apple iPhone 参考库中的 信息属性列表键参考

示例

<InfoAdditions> 
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]> 
</InfoAdditions>

initialWindow

定义主要内容文件和初始应用程序外观。

父元素: application

子元素: 以下所有元素可以显示为 initialWindow 元素的子元素。但是,根据 AIR 是否在平台上支持 windows,某些元素会被忽略。

元素

桌面

移动

aspectRatio

忽略

使用

autoOrients

忽略

使用

content

使用

使用

depthAndStencil

使用

使用

fullScreen

忽略

使用

height

使用

忽略

maximizable

使用

忽略

maxSize

使用

忽略

minimizable

使用

忽略

minSize

使用

忽略

renderMode

使用(AIR 3.0 以及更高版本)

使用

requestedDisplayResolution

使用(AIR 3.6 和更高版本)

忽略

resizable

使用

忽略

softKeyboardBehavior

忽略

使用

systemChrome

使用

忽略

title

使用

忽略

transparent

使用

忽略

visible

使用

忽略

width

使用

忽略

x

使用

忽略

y

使用

忽略

内容

定义应用程序外观和行为的子元素。

示例

<initialWindow> 
    <title>Hello World</title> 
    <content> 
        HelloWorld.swf 
    </content> 
    <depthAndStencil>true</depthAndStencil> 
    <systemChrome>none</systemChrome> 
    <transparent>true</transparent> 
    <visible>true</visible> 
    <maxSize>1024 800</maxSize> 
    <minSize>320 240</minSize> 
    <maximizable>false</maximizable> 
    <minimizable>false</minimizable> 
    <resizable>true</resizable> 
    <x>20</x> 
    <y>20</y> 
    <height>600</height> 
    <width>800</width> 
    <aspectRatio>landscape</aspectRatio> 
    <autoOrients>true</autoOrients> 
    <fullScreen>false</fullScreen> 
    <renderMode>direct</renderMode> 
</initialWindow>

installFolder

指定默认安装目录的子目录。

在 Windows 中,默认安装子目录为 Program Files 目录。在 Mac OS 中,默认安装子目录为 /Applications 目录。在 Linux 中为 /opt/。例如,如果将 installFolder 属性设置为 "Acme" ,并将应用程序命名为 "ExampleApp" ,则应用程序在 Windows 中将安装在 C:\Program Files\Acme\ExampleApp 中,在 MacOS 中将安装在 /Applications/Acme/Example.app 中,而在 Linux 中将安装在 /opt/Acme/ExampleApp 中。

installFolder 属性为可选属性。如果未指定 installFolder 属性,则应用程序将根据 name 属性安装在默认安装目录的子目录中。

父元素: application

子元素:

内容

installFolder 属性可以包含任何 Unicode (UTF-8) 字符,但那些禁止在各种文件系统用作文件夹名称的字符除外(有关例外字符的列表,请参阅 filename 属性)。

如果要指定嵌套子目录,请使用正斜杠 (/) 字符作为目录分隔符。

示例

<installFolder>utilities/toolA</installFolder>

manifest

为应用程序指定添加到 Android 清单文件的信息。

父元素: manifestAdditions

子元素: 由 Android SDK 定义。

内容

从技术方面而言,manifest 元素并不是 AIR 应用程序描述符方案的一部分。它是 Android 清单 XML 文档的根。放入 manifest 元素中的任何内容都必须符合 AndroidManifest.xml 方案。当使用 AIR 工具生成 APK 文件时,会将 manifest 元素中的信息复制到所生成的应用程序 AndroidManifest.xml 的相应部分。

如果您指定仅在比 AIR 直接支持的版本更新的 SDK 版本中可用的 Android 清单值,则打包应用程序时必须将 ‑platformsdk 标志设置为 ADT。将标志设置为到您要添加的值支持的 Android SDK 版本的文件系统路径。

manifest 元素自身必须包括在 AIR 应用程序描述符内的 CDATA 块中。

示例

<![CDATA[      
    <manifest android:sharedUserID="1001"> 
        <uses-permission android:name="android.permission.CAMERA"/> 
        <uses-feature android:required="false" android:name="android.hardware.camera"/> 
        <application     android:allowClearUserData="true" 
                    android:enabled="true" 
                    android:persistent="true"/> 
    </manifest> 
]]>

manifestAdditions

指定要添加到 Android 清单文件的信息。

每个 Android 应用程序都包括一个定义基本应用程序属性的清单文件。Android 清单在概念上和 AIR 应用程序描述符相似。AIR for Android 应用程序既具有应用程序描述符也具有自动生成的 Android 清单文件。在对 AIR for Android 应用程序进行打包时,会将此 manifestAdditions 元素中的信息添加到 Android 清单文档的相应部分。

父元素: android

子元素: manifest

内容

manifestAdditions 元素中的信息会添加到 AndroidManifest XML 文档中。

AIR 会在生成的 Android 清单文档中设置多个清单项目,以确保应用程序和运行时功能正确运行。不能覆盖以下设置:

不能设置 manifest 元素的以下属性:

  • package

  • android:versionCode

  • android:versionName

不能设置主 activity 元素的以下属性:

  • android:label

  • android:icon

不能设置 application 元素的以下属性:

  • android:theme

  • android:name

  • android:label

  • android:windowSoftInputMode

  • android:configChanges

  • android:screenOrientation

  • android:launchMode

示例

<manifestAdditions> 
    <![CDATA[      
        <manifest android:installLocation="preferExternal"> 
            <uses-permission android:name="android.permission.INTERNET"/> 
            <application     android:allowClearUserData="true" 
                        android:enabled="true" 
                        android:persistent="true"/> 
        </manifest> 
    ]]> 
</manifestAdditions>

maximizable

指定窗口是否可最大化。

注: 在操作系统(例如 Mac OS X)中,最大化窗口是一种调整大小操作,若要阻止窗口缩放或调整大小,maximizable 和 resizable 必须同时设置为 false

父元素: initialWindow

子元素:

内容

true (默认)或 false

示例

<maximizable>false</maximizable>

maxSize

窗口的最大尺寸。如果您没有设置最大尺寸,将由操作系统来确定。

父元素: initialWindow

子元素:

内容

两个整数分别代表最大宽度和最大高度,以空格分隔。

注: AIR 支持的最大窗口尺寸在 AIR 2 中自 2048x2048 像素增加到 4096x4096 像素。(因为屏幕坐标是基于零的,所以您能使用的最大宽度或最大高度值是 4095)。

示例

<maxSize>1024 360</maxSize>

minimizable

指定窗口是否可最小化。

父元素: initialWindow

子元素:

内容

true (默认)或 false

示例

<minimizable>false</minimizable>

minSize

指定允许的最小窗口尺寸。

父元素: initialWindow

子元素:

内容

两个整数分别代表最小宽度和最小高度,以空格分隔。请注意操作系统强制的最小尺寸会优先于应用程序描述符中设置的值。

示例

<minSize>120 60</minSize>

name

AIR 应用程序安装程序显示的应用程序标题。

如果未指定 name 元素,则 AIR 应用程序安装程序会将 filename 显示为应用程序名称。

父元素: application

子元素: text

内容

如果指定单个文本节点(而非多个 <text> 元素),则无论系统语言为哪种语言,AIR 应用程序安装程序都将使用此名称。

AIR 1.0 应用程序描述符架构只允许为该名称定义一个简单文本节点(而非多个 text 元素)。在 AIR 1.1(或更高版本)中,您可以在 name 元素中指定多种语言。

每个文本元素的 xml:lang 属性用于指定语言代码,有关具体定义,请参阅 RFC4646 (http://www.ietf.org/rfc/rfc4646.txt)。

AIR 应用程序安装程序会使用与用户操作系统的用户界面语言最匹配的名称。例如,假如在某一安装中,应用程序描述符文件的 name 元素包含适用于 en(英语)区域设置的值。如果操作系统将 en(英语)标识为用户界面语言,则 AIR 应用程序安装程序将使用此 en 名称。如果系统用户界面语言为 en-US(美式英语),则该应用程序也使用此 en 名称。但是,如果用户界面语言为 en-US,而应用程序描述符文件同时定义了 en-US 名称和 en-GB 名称,则 AIR 应用程序安装程序将使用相应的 en-US 值。如果应用程序定义的任何名称与系统用户界面语言均不匹配,则 AIR 应用程序安装程序将使用在应用程序描述符文件中定义的第一个 name 值。

name 元素仅定义在 AIR 应用程序安装程序中使用的应用程序标题。AIR 应用程序安装程序支持以下多种语言:繁体中文、简体中文、捷克语、荷兰语、英语、法语、德语、意大利语、日语、韩语、波兰语、巴西葡萄牙语、俄语、西班牙语、瑞典语和土耳其语。AIR 应用程序安装程序将根据系统用户界面语言来选择其显示语言(用于显示应用程序标题和说明之外的文本)。此语言选择与应用程序描述符文件中的设置无关。

name 元素 定义可供运行的已安装应用程序使用的区域设置。有关开发多语言应用程序的详细信息,请参阅 本地化 AIR 应用程序

示例

以下示例使用简单文本节点定义名称。

<name>Test Application</name> 

AIR 1.1 和更新版本中有效的以下示例使用 <text> 元素节点指定三种语言的(英语、法语和西班牙语)名称:

<name> 
    <text xml:lang="en">Hello AIR</text> 
    <text xml:lang="fr">Bonjour AIR</text> 
    <text xml:lang="es">Hola AIR</text> 
</name> 

name

指定文件类型的名称。

父元素: fileType

子元素:

内容

表示文件类型名称的字符串。

示例

<name>adobe.VideoFile</name>

programMenuFolder

(可选)标识应用程序的快捷方式在 Windows 操作系统的“所有程序”菜单中或 Linux 的“应用程序”菜单中放置的位置。(目前在其他操作系统中忽略此设置。)

父元素: application

子元素:

内容

用于 programMenuFolder 值的字符串可以包含任何 Unicode (UTF-8) 字符,但那些禁止在各种文件系统用作文件夹名称的字符除外(有关例外字符的列表,请参阅 filename 元素)。请 将正斜杠 (/) 字符用作此值的最后一个字符。

示例

<programMenuFolder>Example Company/Sample Application</programMenuFolder>

publisherID

标识最初由 AIR 1.5.2 或更早版本创建的用于更新 AIR 应用程序的发行商 ID。

创建应用程序更新时只能指定一个发行商 ID。 publisherID 元素的值必须与 AIR 生成的针对更早版本的应用程序的发行商 ID 相匹配。针对已安装的应用程序,发行商 ID 可以在 META-INF/AIR/publisherid 文件中的安装应用程序的文件夹中找到。

使用 AIR 1.5.3 或更新版本创建的新应用程序不需要指定发行商 ID。

有关详细信息,请参阅 关于 AIR 发行商标识符

父元素: application

子元素:

内容

发行商 ID 字符串。

示例

<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>

renderMode

如果目前的计算设备支持,指定是否使用图形处理单元 (GPU) 加速。

父元素: initialWindow

子元素:

内容

以下值之一:

  • auto (默认) — 目前回退到 CPU 模式。

  • cpu — 未使用硬件加速。

  • direct — CPU 中进行的渲染合成;使用 GPU 进行块传输。在 AIR 3+ 中可用。

    注: 为了利用具有移动平台 AIR Flash 内容的 GPU 加速,Adobe 建议使用 renderMode="direct"(即 Stage3D),而不是 renderMode="gpu"。Adobe 官方支持和建议以下基于 Stage3D 的框架:Starling (2D) 和 Away3D (3D)。有关 Stage3D 和 Starling/Away3D 的更多细节,请参阅 http://gaming.adobe.com/getstarted/
  • gpu — 如果可用的话,使用硬件加速。

    重要说明: 请勿对 Flex 应用程序使用 GPU 渲染模式。

示例

<renderMode>direct</renderMode>

requestedDisplayResolution

指定在具有高分辨率屏幕的设备或计算机的显示屏上,应用程序是希望使用标准分辨率还是高分辨率。当设置为 standard (默认值)时,屏幕将作为标准分辨率屏幕显示给应用程序。当设置为 high 时,应用程序可以处理每一个高分辨率像素。

例如,在 640x960 高分辨率的 iPhone 屏幕上,如果设置为 standard ,则整个屏幕舞台尺寸为 320x480,且使用 4 个屏幕像素来显示每个应用程序像素。如果设置为 high ,则整个屏幕舞台尺寸为 640x960。

在具有标准分辨率屏幕的设备上,无论使用哪一种设置,舞台尺寸都将与屏幕尺寸相匹配。

如果 requestedDisplayResolution 元素嵌套在 iPhone 元素中,则它将应用到 iOS 设备。这时,可使用 excludeDevices 属性来指定不对其应用该设置的设备。

如果 requestedDisplayResolution 元素嵌套在 initialWindow 元素中,则在支持高分辨率显示屏的 MacBook Pro 计算机上,它将应用到桌面 AIR 应用程序。此指定值将应用到应用程序中所用的所有本机窗口。在 AIR 3.6 和更高版本中,支持在 initialWindow 元素中嵌套 requestedDisplayResolution 元素。

父元素: iPhone initialWindow

子元素:

内容

standard (默认值)或 high

属性:

excludeDevices — iOS 型号名称或型号名称前缀的空格分隔列表。这使得开发人员可以指定让某些设备使用高分辨率,某些设备使用标准分辨率。此属性仅在 iOS 上可用( requestedDisplayResolution 元素嵌套在 iPhone 元素中)。 excludeDevices 属性可用在 AIR 3.6 和更高版本中。

对于在此属性中指定了型号名称的任何设备, requestedDisplayResolution 值与指定值相反。换言之,如果 requestedDisplayResolution 值为 high ,则未指定的设备使用标准分辨率。如果 requestedDisplayResolution 值为 standard ,则未指定的设备使用高分辨率。

这些值是 iOS 设备型号名称或型号名称前缀。例如,值 iPad3,1 特指 Wi-Fi 第三代 iPad(而非 GSM 或 CDMA 第三代 iPad),而值 iPad3 则指任何第三代 iPad。有关 iOS 型号名称的非官方列表,请访问 iPhone wiki 型号页面

示例

桌面:

<initialWindow> 
    <requestedDisplayResolution>high</requestedDisplayResolution> 
</initialWindow>

iOS:

<iPhone> 
    <requestedDisplayResolution excludeDevices="iPad3 iPad4">high</requestedDisplayResolution> 
</iPhone>

resizable

指定窗口是否可调整大小。

注: 在操作系统(例如 Mac OS X)中,最大化窗口是一种调整大小操作,若要阻止窗口缩放或调整大小,maximizable 和 resizable 必须同时设置为 false

父元素: initialWindow

子元素:

内容

true (默认)或 false

示例

<resizable>false</resizable>

softKeyboardBehavior

指定当显示虚拟键盘时应用程序的默认行为。默认行为是向上平移应用程序。运行时在屏幕上保持具有焦点的文本字段或交互式对象。如果您的应用程序未提供自己的键盘处理逻辑,请使用 pan 选项。

通过将 softKeyboardBehavior 元素设置为 none ,还可以关闭自动行为。在这种情况下,当软键盘浮现时,文本字段和交互式对象将调度 SoftKeyboardEvent,但运行时不会平移应用程序或调整应用程序大小。您的应用程序负责将文本输入区域保持在可见区域内。

父元素: initialWindow

子元素:

内容

none pan 。默认值为 pan

示例

<softKeyboardBehavior>none</softKeyboardBehavior>

supportedLanguages

识别应用程序支持的语言。此元素仅用于 iOS、Mac 捕获运行时和 Android 应用程序。所有其他应用程序类型将忽略此元素。

如果您不指定此元素,包装程序将默认根据应用程序类型执行以下操作:

  • iOS — AIR 运行时支持的所有语言均作为应用程序的支持语言列在 iOS App Store 中。

  • Mac 捕获运行时 — 使用捕获捆绑打包的应用程序没有本地化信息。

  • Android — 应用程序包包括 AIR 运行时支持的所有语言的资源。

父元素: application

子元素:

内容

所支持语言的空格分隔列表。有效的语言值是 AIR 运行时支持的语言的 ISO 639‑1 值: en de es fr it ja ko pt ru cs nl pl sv tr zh da nb iw

由于 <supportedLanguages> 元素为空值,包装程序将生成错误。

注: 如果您使用了 <supportedLanguages> 标签,而它没有包含某种语言,那么本地化的标签(如名称标签)将忽略此语言值。 如果本机扩展具有某种语言的资源,而 <supportedLangauges> 标签没有指定这种语言,那么将发出警告,并忽略该语言的资源。

示例

<supportedLanguages>en ja fr es</supportedLanguages>

supportedProfiles

标识支持应用程序的配置文件。

父元素: application

子元素:

内容

supportedProfiles 元素可以包括以下任何值:

  • desktop — desktop 是安装在使用 AIR 文件的 desktop 计算机上的 AIR 应用程序的配置文件。这些应用程序无权访问 NativeProcess 类(提供与本机应用程序的通信)。

  • extendedDesktop — 扩展的桌面配置文件是安装在使用本机应用程序安装程序的桌面计算机上的 AIR 应用程序的配置文件。这些应用程序可以访问 NativeProcess 类(提供与本机应用程序的通信)。

  • mobileDevice — 移动设备配置文件用于移动应用程序。

  • extendedMobileDevice — 扩展的移动设备配置文件当前未被使用。

supportedProfiles 属性是可选的。当应用程序描述符文件中不包括此元素时,应用程序可以针对任何配置文件进行编译和部署。

要指定多个配置文件,请使用空格字符将配置文件彼此隔开。例如,以下设置指定此应用程序仅适用于桌面配置文件和扩展配置文件:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>
注: 当您运行带有 ADL 的应用程序,并且未指定 ADL -profile 选项的值时,系统会使用应用程序描述符中的第一个配置文件。(如果应用程序描述符中也没有指定配置文件,系统会使用桌面配置文件)。

示例

<supportedProfiles>desktop mobileDevice</supportedProfiles>

systemChrome

指定是否使用操作系统提供的标准标题栏、边框和控件创建初始应用程序窗口。

系统窗口样式设置在运行时无法更改。

父元素: initialWindow

子元素:

内容

以下值之一:

  • none — 未提供系统窗口样式。应用程序(或者如 Flex 之类的应用程序框架)负责显示窗口样式。

  • standard (默认) — 系统窗口样式由操作系统提供。

示例

<systemChrome>standard</systemChrome>

text

指定本地化字符串。

文本元素的 xml:lang 属性用于指定语言代码,有关具体定义,请参阅 RFC4646 (http://www.ietf.org/rfc/rfc4646.txt)。

AIR 应用程序安装程序使用具有与用户操作系统的用户界面语言最匹配的 xml:lang 属性值的 text 元素。

例如,考虑一种安装, text 元素将针对 en(英语)区域设置的值包括在该安装中。如果操作系统将 en(英语)标识为用户界面语言,则 AIR 应用程序安装程序将使用此 en 名称。如果系统用户界面语言为 en-US(美式英语),则该应用程序也使用此 en 名称。但是,如果用户界面语言为 en-US,而应用程序描述符文件同时定义了 en-US 名称和 en-GB 名称,则 AIR 应用程序安装程序将使用相应的 en-US 值。

如果应用程序定义的任何 text 元素与系统用户界面语言均不匹配,则 AIR 应用程序安装程序将使用在应用程序描述符文件中定义的第一个 name 值。

子元素:

内容

指定区域设置和本地化文本字符串的 xml:lang 属性。

示例

<text xml:lang="fr">Bonjour AIR</text>

title

指定显示在初始应用程序窗口的标题栏内的标题。

如果 systemChrome 元素设置为 standard ,那么只显示一个标题。

父元素: initialWindow

子元素:

内容

包含窗口标题的字符串。

示例

<title>Example Window Title</title>

transparent

指定初始应用程序窗口是否与桌面进行 alpha 混合。

透明窗口绘制起来可能比较慢且需要更多内存。透明设置在运行时无法更改。

重要说明: systemChrome none 时,只能将 transparent 设置为 true

父元素: initialWindow

子元素:

内容

true false (默认)

示例

<transparent>true</transparent>

version

指定应用程序的版本信息。

version 字符串是应用程序定义的指示符。AIR 不会以任何方式解释版本字符串。因此,不会假设版本“3.0”比版本“2.0”更新。示例包括:“ 1.0 ”、“ .4 ”、“ 0.5 ”、“ 4.9 ”和“ 1.3.4a ”。

在 AIR 2.5 和更新版本中, versionNumber versionLabel 元素取代了 version 元素。

父元素: application

子元素:

内容

包含应用程序版本的字符串。

示例

<version>0.1 Alpha</version>

versionLabel

指定一种人类可读的版本字符串。

取代 versionNumber 元素值在安装对话框中显示的是版本标签值。如果未使用 versionLabel ,那么两者都会使用 versionNumber

父元素: application

子元素:

内容

包含公开显示的版本文本的字符串。

示例

<versionLabel>0.9 Beta</versionlabel>

versionNumber

应用程序版本号。

父元素: application

子元素:

内容

版本号可以包含按时期分隔的三个整数组成的序列。每个整数必须是 0 到 999 (两者都包括)间的数字。

示例

<versionNumber>1.0.657</versionNumber> 
 
<versionNumber>10</versionNumber> 
 
<versionNumber>0.01</versionNumber>

visible

指定初始应用程序窗口是否在创建后即可见。

AIR 窗口,包括初始窗口,默认情况下是以不可见的状态创建的。可以通过对此本机窗口对象调用 activate() 方法或将 visible 属性设置为 true 来显示窗口。您可能想要使主窗口最初保持隐藏,以便不显示对窗口位置、窗口大小和其内容的布局所做的更改。

除非在 MXML 定义中将 visible 属性设置为 false ,否则 Flex mx:WindowedApplication 组件会自动显示并激活窗口,然后立即调度 applicationComplete 事件。

在使用移动设备配置文件的设备上(不支持窗口),将忽略 visible 设置。

父元素: initialWindow

子元素:

内容

true false (默认)

示例

<visible>true</visible>

width

应用程序的主窗口的初始宽度。

如果您没有设置宽度,则宽度会由根 SWF 文件中的设置来确定,如果是基于 HTML 的 AIR 应用程序,则由操作系统来确定。

在 AIR 2 中,窗口的最大宽度范围是 2048 像素至 4096 像素。

父元素: initialWindow

子元素:

内容

最大值为 4095 的正无穷整数。

示例

<width>1024</width>

x

初始应用程序窗口的水平位置。

在大多数情况下,让操作系统来决定窗口的初始位置比分配一个固定值更好。

屏幕坐标系统的原点 (0,0) 是顶部,主桌面屏幕的左角(如操作系统决定的那样)。

父元素: initialWindow

子元素:

内容

整型值。

示例

<x>120</x>

y

初始应用程序窗口的垂直位置。

在大多数情况下,让操作系统来决定窗口的初始位置比分配一个固定值更好。

屏幕坐标系统的原点 (0,0) 是顶部,主桌面屏幕的左角(如操作系统决定的那样)。

父元素: initialWindow

子元素:

内容

整型值。

示例

<y>250</y>