AIR应用描述文件详解

Air应用描述文件是设置AIR应用各项基本属性的一个XML文件.在使用FLEX开发时,它位于”项目文件夹/src/主文件名-app.xml”;在使用Flash CS3 开发时也会在创建AIR项目时自动生成,可以通过菜单Commands > AIR - Application and Installer Settings来可视化编辑,也可以手动编辑该XML文档.

应用描述文件包含AIR应用的各项属性,影响整个AIR应用,如它的名称,版本,版权,等等。理论上,应用描述文件可使用任意文件名。当我们使用Flash cs3创建一个空文件,并使用默认设置,应用描述文件会自动更名为application.xml并放进AIR项目的一个特殊目录中。

这个描述文件的结构是这样的: org.mousebomb.TestApp 2.0 Hello World Mousebomb Test Application The Hello World sample file from Mousebomb.org. Copyright (c) 2008 Mousebomb.org Hello World HelloWorld.swf none true true true false false 640 480 320 240 1280 960 Mousebomb Air Mousebomb Air icons/smallIcon.png icons/mediumIcon.png icons/bigIcon.png icons/biggestIcon.png true false adobe.VideoFile avf Adobe Video File application/vnd.adobe.video-file icons/avfIcon_16.png icons/avfIcon_32.png icons/avfIcon_48.png icons/avfIcon_128.png

AIR应用属性

xmlns: AIR命名空间,必须定义为默认的XML名字空间。命名空间随着AIR主版本号变化(但不包括次版本号). 如“1.0”显示运行环境所需要的版本为1.0。

**minimumPatchLevel:**与AIR命名空间一起,指示运行环境所需要的版本. AIR应用安装程序会提示用户下载所需版本的补丁.

基本应用信息

这段声明了程序的ID,版本,文件名,程序名,描述,版权

org.mousebomb.TestApp 2.0 TestApp Mousebomb Test Application An MP3 player. Copyright (c) 2008

**id:[**必须] 该AIR应用的唯一标识符字符串.该元素必须,长度为1~212字符,限使用以下字符:

  • 0-9
  • a-z
  • A-Z
  • . (点)
  • - (连字符)

为了使该标识的”唯一”,我们常常把作者所持有的域名倒写作前缀,比如org.mousebomb.TestApp前缀org.mousebomb就是mousebomb.org的倒写.

**version:[****必须]**设置AIR应用的版本号,这个版本号和AIR运行环境没有任何关系. 且AIR运行环境不解析这个版本号. 比如写: “1.0”, “.4”, “0.5”, “4.9”, “1.3.4a”.

**filename:[**必须] 这玩意就是AIR应用的主程序文件名(不用写扩展名),比如设置为”main”,那么AIR在安装时会生成一个可执行文件,文件名就是”main”. 该值可以设置为除以下字符以外的任何UTF-8字符:

字符

十六进制码

various

0x00 - x1F

*

x2A

x22

:

x3A

>

x3C

<

x3E

?

x3F

x5C

x7C

**name:[****可选,**但推荐] AIR安装程序执行时显示的标题;如果没有在installFolder元素中设置安装文件夹的话,name的值也被作为安装文件夹的名字.

**description:[**可选] AIR应用安装时显示的描述.

**copyright:[**可选] 版权信息. 在MAC系统中,该版权信息文字将显示在已安装的AIR 应用的About对话框中,也在Info.plist文件中作为NSHumanReadableCopyright的键值.

安装文件夹和开始菜单路径

Mousebomb AIR

Mousebomb AIR/Applications

**installFolder[**可选]: 确定默认安装目录下的子目录.

在Windows环境下,默认安装的子目录是Program Files目录下。在Mac OS, 它是/Applications目录。例如,如果installFolder属性设置为”Mousebomb AIR”,而AIR应用名为”ExampleApp”,那么该AIR应用是安装在”C:Program FilesMousebomb AIRExampleApp”(WINDOWS),或” /Applications/Mousebomb AIR/Example.app”(MacOS). 你也可以在installFolder中使用”/”来再建子目录.

这个元素为可选,如果没有设置,则AIR应用安装时将使用name的值作为安装子目录名.

**programMenuFolder:[**可选] 仅对windows有效,用来设置AIR应用在开始菜单中的目录.字符限制规则和installFolder一样.

初始化应用窗体的属性

AIR.swf AIR Test none true true true true true 400 600 150 150 300 300 800 800

当AIR程序加载后,运行环境根据initialWindow里的相关设置创建一个最初的窗体,将指定的SWF或者HTML文件装入窗体.

initialWindow的子元素值将用来设置最初的窗体属性,直到顶级文件加载完成.

content: 设置主要内容文件的URL,可以是一个SWF或者HTML文件.这个值是AIR应用安装目录为参照的相对路径.

注意:因为content元素的值要当作URL处理,所以这个内容的文件名必须符合RFC 1738规则编码. 比如空格符要表示为%20.

**title[**可选]: 窗体的标题.

**systemChrome[**可选]: 如果设置此属性值为standard,则显示系统风格的窗体,如果设置为none,则不显示系统风格窗体.这个属性在运行时不能改变.

**transparent[**可选]: 是否透明. true为透明,false为不透明,透明将时绘图速度变慢,并消耗更多内存.这个属性在运行时不能改变.

注意:当systemChrome为none时, transparent只能设置为true.

**visible[**可选]: 窗体是否可见,true为可见,false反之.官方说默认是false,可是我怎么建立项目默认是true呢…. 这个参数可以在运行时通过stage.nativeWindow.visible来设置.

**x, y, width, height[**可选]: 四个属性这么直白不用说了,如果不设置这些值,那么这些值将取决于SWF的设置(SWF),或者操作系统根据内容自动决定(HTML).

**minSize, maxSize[**可选]: 最小尺寸,最大尺寸.不设置的话将由操作系统决定.

**minimizable, maximizable, resizable[**可选]: 设置窗体是否可以最小化,最大化,缩放大小. 默认都是true.

设置图标文件(常用!)

你可以设置4种尺寸的图标文件,如果不设置,系统就用默认图标.

icons/smallIcon.png icons/mediumIcon.png icons/bigIcon.png icons/biggestIcon.png

每个元素对应的图标文件大小须要与之符合,如果不符合,则操作系统会自动根据最接近的大小缩放图片.

注意:发布AIR包的时候需要把图标文件打包.

为达到最好效果,设计的图标最好能在32位和16位色下都正常显示.

为AIR应用的更新提供自定义的用户界面

虽然AIR是使用默认对话框来安装和更新AIR应用程序.但是你可以定制自己的程序更新用户界面,要显示你自定义的应用,得处理好更新程序本身.

true

假设你已安装了设置customUpdateUI为ture的AIR应用程序, 然后双击一个包含更新的.air安装包或者安装一个使用无缝安装功能的更新程序时,运行环境将打开你已经安装的版本让它来更新,而你的AIR应用程序逻辑上得决定如何正确进行更新操作(新版的application ID和publisher ID得和旧版的相互吻合). 这玩意没搞过,详细看官方http://livedocs.adobe.com/air/1/devappsflash/updating_apps_1.html#1032597

允许浏览器调用AIR应用

true

你是否使用过QQ,EMULE或者淘宝的wangwang?他们从网页上可以点击某个链接直接打开这个程序执行相关操作.如果设置为true,那么我们的AIR也可以被网页调用.实现这个功能一定要考虑安全问题,参见http://livedocs.adobe.com/air/1/devappsflash/app_launch_1.html#1039401(浏览器调用).

声明文件关联

adobe.VideoFile avf Adobe Video File application/vnd.adobe.video-file icons/AIRApp_16.png icons/AIRApp_32.png icons/AIRApp_48.png icons/AIRApp_128.png

[可选] 这个设置可以让AIR应用程序在安装后在系统种关联文件格式.如果已被其他程序关联了某种你要关联的格式,你可以覆盖掉这个关联:运行时使用NativeApplication.setAsDefaultApplication()方法.不过最好先得到用户的同意哦.

注意: NativeApplication.setAsDefaultApplication()这个方法只能关联在fileTypes中声明的格式. 参见http://livedocs.adobe.com/air/1/devappsflash/runtime_os_info_1.html#1036812(管理文件关联)  http://livedocs.adobe.com/air/1/devappsflash/app_launch_1.html#1038002(捕捉命令行参数)


技术内容转载请注明来源,个人日记不允许转载,欢迎指出任何有错误或不够清晰的表达。可以邮件至 mousebomb@gmail.com