簡介開發運作於Android的AIR程式
最近終於有一些時間來玩玩,透過Flash CS5撰寫一些AIR的程式放置到Android系統上,不過因為很久也沒有去仔細看過
相關ActionScript在AIR SDK上的支援程度,所以發現有蠻多有趣的東西是在自己還在撰寫AIR 1.3版的時候不存在的API。
不過今天要介紹是是相關如何撰寫一個簡單的AIR程式,並且發佈在Android模擬器上。
(1) 開發前的準備工作
a. 下載並安裝Android SDK,建立一個Android 2.2版(內含256MB記憶體)的AVD,並且啟動它;
[註] 上述的參數,在Resolution裡,可以根據撰寫AIR程式的大小來調整。
b. 下載AIR的APK,並且透過Command-line安裝於Emulator中;
b-1. 下載AIR runtime的APK(在AIR SDK下載包裡,AdobeAIRSDK\runtimes\air\android\emulator),並放置於platform-tool資料夾
b-2. 啟動命令提示字元(cmd),進入到Android SDK的目錄,找到adb.exe(在SDK資料夾中的platform-tool資料夾裡);
b-2. 下達”adb install Runtime.apk”指定,安裝AIR Runtime於Emulator;
c. 安裝Flash CS5支援開發AIR For Android的套件:Adobe Flash Professional CS5 Extension for Adobe AIR 2.5;
這個項目的安裝,如果你是Win7的OS,記得使用系統管理員身份的權限先開啟Extension Manager再進行安裝。
完成上述主要三個步驟之後,Android Emulator就具有AIR runtime了,當然,如果有實際手機的話,可以直接透過Market下載,
而且透過實機的測試感覺會比較明顯,因為模擬器究竟Mouse與Finger是有差異的,在功能上的使用者體驗也會有所不同。
(2) 開發工作
如果有寫過AIR程式的話,其實對於撰寫支援Android上的程式是比較容易上手的。最大的差別,是在於AIR究竟在Android平台上
開放了那些用於Mobile上的功能。在現在的AIR SDK是到了2.6的版本,它針對iOS與Android系統的支援增加了相當豐富的功能,
包括:
‧GPU_VECTOR rendering model
‧Owned native windows
‧Asynchronous decoding of bitmaps
‧…
還有很多東西,大家可以參考<Adobe AIR for Android>這一篇的內容,目前我也還在熟讀寫當中,由於撰寫AIR程式對於會寫
ActionScript與設計Flash的人員,是相對去了解Object-C來的容易理解(但也有些強者二者都能全懂)。
那以下就簡單做了一個例子,把自己實作好的AIR程式,佈署到Android平台上。
a. 使用AIR for Android範本建立一個新的fla檔;
b. 設定AIR Android發佈的設定;
b-1. 設定發佈的APK檔,是否需要包含其他外部檔案、APK版本號、APK名稱、呈現的模式(縱/橫向)等;
b-2. 設定發佈的憑證檔案(撰寫AIR程式一定要建議的部分),並且選擇發佈的對象是device、emulator或debug,這裡選emulator;
b-3. 設定發佈的APK是否有需要告知使用者,該APK將會用到的元素;
b-4. 發佈進行測試,此時會出現一個「Publishing …」的字樣,成功會出現如下訊息:
b-5. 在發佈完成後,回到Android Emulator,可以發現它自動幫我們啟動剛發佈的APK程式
--
以上是簡介自己在練習撰寫AIR程式至Android平台上的做法,雖然有人問我寫Android程式透過Android SDK與第三方元件,
就一樣能做到很好的App,為何還會需要透過AIR呢?但我自己的看法比較在於,不同的設計工具,對應是不同的內容與使用對象,
AIR的出現,是把RIA帶入Mobile的一個開始,但並非是要取代某一個平台,因為撰寫AIR程式我們可以把一些以前只能在網頁上,
或是透過App需要重新設計與開發的部分,直接將ActionScript以相對成本比較低的方式加以移轉,當然UI與UX的設計就另當別論了,
所以了解一項開發的作法,可以為自己未來設計Mobile App時,多增加一個選擇項,說不定未來Silverlight也支援安裝於手持平台上。
References:
‧flash cs5 與 android 2.2,產生 apk
‧Adobe Flash Professional CS5 Extension for Adobe AIR 2.5
‧[教程&心得] 【心得】在Flash CS5里开发Android应用 2011年最新更新
‧Adobe AIR開發Android Application的流程簡介
‧Installing Adobe AIR runtime on Android 2.1 emulator
‧How to install Adobe Air applications on Android Emulator?
‧Adobe AIR for Android (重點資料)
‧Packaging a mobile AIR application (必讀)
Video:
‧Publishing AIR for Android Applications
‧Developing for iOS with AIR 2.6
‧iOS features in Adobe AIR2.6 (撰寫相關AIR 2.6支援於iOS上的新功能)