AIR Android:了解應(yīng)用程序描述文件
了解應(yīng)用程序描述文件
使用FlashDevelop創(chuàng)建AIR AS3 Projector for Android項(xiàng)目后,會(huì)在項(xiàng)目文件夾下自動(dòng)生成一個(gè)應(yīng)用程序描述文件,名為application.xml。其中包含了一些常見(jiàn)的屬性設(shè)置項(xiàng),比如程序的id、name、版本號(hào)等。FlipIt項(xiàng)目中修改后的文件內(nèi)容如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <application xmlns="http://ns.adobe.com/air/application/3.1">
- <id>org.fluidea.FlipIt</id>
- <versionNumber>0.0.1</versionNumber>
- <versionLabel>1.0</versionLabel>
- <filename>FlipIt</filename>
- <name>FlipIt</name>
- <initialWindow>
- <content>FlipIt.swf</content>
- <visible>true</visible>
- <fullScreen>false</fullScreen>
- <aspectRatio>portrait</aspectRatio>
- <renderMode>cpu</renderMode>
- <autoOrients>false</autoOrients>
- </initialWindow>
- <icon>
- <image36x36>icons/icon_36.png</image36x36>
- <image48x48>icons/icon_48.png</image48x48>
- <image72x72>icons/icon_72.png</image72x72>
- </icon>
- <android>
- <manifestAdditions>
- <![CDATA[<manifest>
- <uses-permission android:name="android.permission.INTERNET"/>
- </manifest>]]>
- </manifestAdditions>
- </android>
- </application>
根節(jié)點(diǎn)application的xmlns屬性定義了默認(rèn)的命名空間,一般來(lái)說(shuō),每當(dāng)AIR的版本號(hào)發(fā)生了較大變化時(shí),命名空間的值也會(huì)隨著變化。尾部的“3.1”表示運(yùn)行程序所需AIR運(yùn)行時(shí)的最小版本號(hào)。
id:程序的標(biāo)識(shí)名,必須保證其唯一性。它由字母、數(shù)字、–和點(diǎn)號(hào)組成,按照約定,一般使用和域名類似的格式,使用點(diǎn)號(hào)間隔的方式來(lái)命名,比如org.fluidea.FlipIt,以和其他程序區(qū)別開(kāi)來(lái)。id僅僅起標(biāo)識(shí)作用,和域名并沒(méi)有任何聯(lián)系。AIR程序在id前面會(huì)加上air.前綴。
versionNumber:也就是Flash CS5設(shè)置面板上的ersion,這個(gè)參數(shù)非常重要,用來(lái)標(biāo)識(shí)程序的開(kāi)發(fā)版本,每次程序發(fā)布新版本時(shí),必須將這個(gè)值向上升。在發(fā)布程序到Google電子市場(chǎng),即上傳apk包時(shí),系統(tǒng)會(huì)審核其中的versionNumber,只有確認(rèn)該值為比該程序上一個(gè)版本的值大才被允許發(fā)布。Android系統(tǒng)也是通過(guò)比較這個(gè)值,才能檢測(cè)到程序被更新。
注意 versionNumber采用000.000.000格式來(lái)表示整數(shù),1.0.0表示是1.000.000,而不是1。
versionLabel:這個(gè)設(shè)置項(xiàng)很容易和versionNumber混淆,它也是表示版本號(hào),但只是顯示在程序的信息面板上,不影響程序的使用,而且對(duì)格式?jīng)]有要求,開(kāi)發(fā)者可以根據(jù)自己的習(xí)慣來(lái)定,比如V1.0、Ver1.2.0322等。
filename:表示apk包的名稱,在安裝程序時(shí)作為apk包的名稱,建議使用英文字母和數(shù)字。
name:程序標(biāo)題,在Android系統(tǒng)顯示時(shí)使用,不宜太長(zhǎng),最好控制在20個(gè)字符以內(nèi)。
initialWindow:該節(jié)點(diǎn)包含了和程序外觀相關(guān)的屬性:root指明主SWF文件路徑;visible節(jié)點(diǎn)必須為true;fullScreen表示程序是否全屏顯示;aspectRatio則表示程序的初始屏幕朝向,可選值為portrait和landscape,分別是豎屏和橫屏;renderMode為渲染模式,可選值有auto、cpu、gpu和direct。auto等同于CPU,不使用硬件加速,GPU表示如果可用,就用硬件加速,direct選項(xiàng)在AIR 3.0后可用,結(jié)合使用CPU和GPU;autoOrients設(shè)備的屏幕朝向發(fā)生變化時(shí),是否派發(fā)StageOrientationEvent事件,這一選項(xiàng)并不影響屏幕的朝向。
和桌面開(kāi)發(fā)不同的是,我們并不需要設(shè)置程序的尺寸。在Android中,AIR程序只有兩種顯示方式:全屏和非全屏,非全屏?xí)r,程序尺寸為設(shè)備支持的最大長(zhǎng)寬值。
icon:定義程序的顯示圖標(biāo),包括不同尺寸,比如48×48、57×57、72×72、114×114等,主要是為了兼容不同分辨率的設(shè)備。icon節(jié)點(diǎn)是可選項(xiàng),如果省略,AIR打包程序會(huì)使用內(nèi)置的默認(rèn)圖標(biāo)。
android:放置和Android系統(tǒng)相關(guān)的設(shè)置項(xiàng),比如程序是否允許其他程序調(diào)用、訪問(wèn)系統(tǒng)資源的權(quán)限聲明等。詳細(xì)說(shuō)明請(qǐng)看下一節(jié)。如果要支持iOS平臺(tái),對(duì)應(yīng)的會(huì)有一個(gè)iPhone節(jié)點(diǎn)來(lái)設(shè)置iOS平臺(tái)相關(guān)選項(xiàng)。