设置桌面应用程序属性

设置应用程序描述符文件中的基本应用程序属性。本节涵盖了与桌面 AIR 应用程序相关的属性。 AIR 应用程序描述符文件 全面描述了应用程序描述符文件的元素。

所需的 AIR 运行时版本

使用应用程序描述符文件的命名空间指定应用程序所需的 AIR 运行时版本。

application 元素中分配的命名空间,很大程度上决定了应用程序可以使用哪些功能。例如,如果应用程序使用 AIR 1.5 命名空间,而用户已经安装了 AIR 3.0,那么应用程序将参照 AIR 1.5 的行为(即使该行为在 AIR 3.0 中发生了更改)。只有当您更改命名空间并发布更新时,应用程序才会访问新的行为和功能。安全性和 WebKit 更改是该策略的主要例外项。

使用根 application 元素的 xmlns 属性指定命名空间:

<application xmlns="http://ns.adobe.com/air/application/3.0">

应用程序标识

对于发布的每个应用程序,以下几个设置应该是唯一的。唯一的设置包括 ID、名称和文件名。

<id>com.example.MyApplication</id> 
<name>My Application</name> 
<filename>MyApplication</filename>

应用程序版本

在早于 AIR 2.5 的版本中,可以在 version 元素中指定应用程序。可以使用任何字符串。AIR 运行时不会解释字符串;“2.0”不是比“1.0”更高的版本。

<!-- AIR 2 or earlier --> 
<version>1.23 Beta 7</version>

在 AIR 2.5 和更高版本中,可以在 versionNumber 元素中指定应用程序版本。不能再使用 version 元素。当为 versionNumber 指定值时,必须使用由点分隔的最多三个数字组成的序列,例如:“0.1.2”。版本号的每段最多可以具有三个数字。(即,“999.999.999”是允许的最大版本号)。不必将所有三段都包含在号码中;“1”和“1.0”都是合法的版本号。

也可以使用 versionLabel 元素来指定版本标签。添加版本标签时,在诸如 AIR 应用程序安装程序对话框之类的位置中显示的是标签,而不是版本号。

<!-- AIR 2.5 and later --> 
<versionNumber>1.23.7<versionNumber> 
<versionLabel>1.23 Beta 7</versionLabel>

主窗口属性

当 AIR 启动桌面上的应用程序时,会创建一个窗口,并在窗口中加载主 SWF 文件或 HTML 页。AIR 使用 initialWindow 元素的子元素来控制该初始应用程序窗口的初始外观和行为。

  • content initalWindow 元素的 content 子级中的主应用程序 SWF 文件。当以桌面配置文件中的设备为目标时,可以使用 SWF 或 HTML 文件。

    <initialWindow> 
        <content>MyApplication.swf</content> 
    </initialWindow>

    必须包括 AIR 包中的文件(使用 ADT 或 IDE)。如果只是引用应用程序描述符中的名称,不会自动将此文件包括进包中。

  • depthAndStencil — 指定使用深度或模板缓冲区。通常在处理 3D 内容时使用这些缓冲区。

    <depthAndStencil>true</depthAndStencil>
  • height — 初始窗口的高度。

  • maximizable — 是否显示最大化窗口的系统镶边。

  • maxSize — 允许的最大尺寸。

  • minimizable — 是否显示用于最小化窗口的系统镶边。

  • minSize — 允许的最小尺寸。

  • renderMode — 在 AIR 3 或更高版本中,对于桌面应用程序,渲染模式可设置为 auto cpu direct gpu 。在更早版本的 AIR 中,桌面平台上会忽略此设置。renderMode 设置在运行时无法更改。

    • auto — 基本上与 cpu 模式相同。

    • cpu — 呈现显示对象并将其复制到软件的显示内存中。仅在窗口处于全屏模式时,StageVideo 才可用。Stage3D 使用软件渲染器。

    • direct — 运行时软件将呈现显示对象,但将呈现的帧复制到显示内存中(块传输)采用硬件加速。StageVideo 可用。Stage3D 使用硬件加速(如果以其他方式可用)。如果窗口透明度设置为 true,则窗口“回退”到软件呈现和块传输。

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

  • requestedDisplayResolution — 在具有高分辨率屏幕的 MacBook Pro 计算机中,您的应用程序是应该使用 standard 分辨率模式还是应该使用 high 分辨率模式。在所有其他平台上,将忽略此值。如果值为 standard ,则每个舞台像素在屏幕上显示为 4 个像素。如果值为 high ,则每个舞台像素在屏幕上对应于一个单独的物理像素。此指定值用于所有应用程序窗口。在 AIR 3.6 和更高版本中,支持对桌面 AIR 应用程序使用 requestedDisplayResolution 元素(作为 intialWindow 元素的子元素)。

  • resizable — 是否显示用于调整窗口大小的系统镶边。

  • systemChrome — 是否使用标准操作系统窗口样式。窗口的 systemChrome 设置在运行时无法更改。

  • title — 窗口的标题。

  • transparent — 窗口是否是 alpha 混合的,以区别于背景。如果开启了透明度,窗口就不能使用系统镶边。窗口的透明设置在运行时无法更改。

  • visible — 窗口是否在创建后即可见。默认情况下,窗口最初是不可见的,以便应用程序可以先绘制内容,然后再使其可见。

  • width — 窗口的宽度。

  • x — 窗口的水平位置。

  • y — 窗口的垂直位置。

桌面功能

以下元素控制桌面安装和更新功能。

  • customUpdateUI — 允许提供自己的对话框来更新应用程序。如果设置为 false (默认),则使用标准 AIR 对话框。

  • fileTypes — 指定应用程序将注册为其默认打开程序的文件类型。如果其他应用程序已经是某种文件类型的默认打开程序,则 AIR 不会覆盖现有注册。但是,应用程序可以使用 NativeApplication 对象的 setAsDefaultApplication() 方法在运行时覆盖注册。在覆盖用户现有的文件类型关联前,最好征求用户同意。

    注: 当将应用程序打包为捕获运行时捆绑(使用 -bundle 目标)时,会忽略文件类型注册。要注册指定文件类型,必须创建一个执行注册的安装程序。
  • installFolder — 指定相对于标准应用程序安装文件夹(应用程序安装在其中)的路径。可以使用此设置来提供自定义文件夹名称和将多个应用程序组合在通用文件夹中。

  • programMenuFolder — 为 Windows 的“所有程序”菜单指定菜单层次结构。可以使用该设置将多个应用程序组合在同一菜单中。如果未指定菜单文件夹,会直接将应用程序快捷方式添加到主菜单中。

支持的配置文件

如果应用程序只有在桌面上才有意义,则可以防止将其安装在其他配置文件中的设备上,方法是通过将该配置文件从支持的配置文件列表中排除。如果应用程序使用 NativeProcess 类或本机扩展,则系统必须支持 extendedDesktop 配置文件。

如果应用程序描述符不包括 supportedProfile 元素,则会假定应用程序支持所有定义的配置文件。若要将应用程序限制在特定的配置文件列表中,请列出这些配置文件,用空格分隔:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

有关 desktop extendedDesktop 配置文件中支持的 ActionScript 类列表,请参阅 不同配置文件的功能

必需的本机扩展

支持 extendedDesktop 配置文件的应用程序可以使用本机扩展。

在应用程序描述符中声明 AIR 应用程序使用的所有本机扩展。下面的例子说明了用于指定两个所需本机扩展的语法:

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

extensionID 元素的值与扩展描述符文件中的 id 元素的值相同。扩展描述符文件是一个名为 extension.xml 的 XML 文件。已打包在从本机扩展开发人员处接收到的 ANE 文件中。

应用程序图标

在桌面上,会将应用程序描述符中指定的图标用作应用程序文件、快捷方式和程序菜单的图标。应用程序图标应作为 16x16、32x32、48x48 和 128x128 像素的 PNG 图像集来提供。指定应用程序描述符文件的图标元素中图标文件的路径:

<icon> 
    <image16x16>assets/icon16.png</image16x16> 
    <image32x32>assets/icon32.png</image32x32> 
    <image48x48>assets/icon48.png</image48x48> 
    <image128x128>assets/icon128.png</image128x128> 
</icon> 

如果未提供指定尺寸的图标,则使用第二大尺寸并缩放至适合的大小。如果未提供任何图标,系统会使用默认系统图标。

忽略的设置

桌面应用程序会忽略应用到移动配置文件功能的应用程序设置。忽略的设置包括:

  • android

  • aspectRatio

  • autoOrients

  • fullScreen

  • iPhone

  • renderMode(AIR 3 之前)

  • requestedDisplayResolution

  • softKeyboardBehavior