PhoneGap說明
PhoneGap,一早就聽說有這麼一個神奇的應用,它可以把WEB項目打包成各種移動平台的應用程式。這裡我就研究一下,把之前開發的WebRTC項目打包成Android平台的apk檔案試一下。正好公司現在比較缺少Android應用開發人員,看來web應用還是很有前景的。不過在網上看過不少評論說PhoneGap打包的程式運作比較慢,使用者體驗差,和native應用沒的一比,這裡也算是是做個小實驗,自己看看到底怎麼樣。
PhoneGap與cordova
後面會講到cordova,主要用這個生成項目。為了不至混淆,這裡解釋一下。
PhoneGap是一個用基于HTML,CSS和JavaScript的,建立移動跨平台移動應用程式的快速開發平台。它使開發者能夠利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手機的核心功能——包括地理定位,加速器,聯系人,聲音和振動等,此外PhoneGap擁有豐富的插件,可以調用。
Phonegap是一款開源的開發架構,旨在讓開發者使用HTML、Javascript、CSS等Web APIs開發跨平台的移動應用程式。原本由Nitobi公司開發,現在由Adobe擁有。它需要特定平台提供的附加軟體,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套開發。使用PhoneGap隻比為每個平台分别建立應用程式好一點點,因為雖然基本代碼是一樣的,但是你仍然需要為每個平台分别編譯應用程式。
Cordova提供了一組裝置相關的API,通過這組API,移動應用能夠以JavaScript通路原生的裝置功能,如攝像頭、麥克風等。Cordova還提供了一組統一的JavaScript類庫,以及為這些類庫所用的裝置相關的原生背景代碼。Cordova支援如下移動作業系統:iOS, Android,ubunto phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
Cordova是貢獻給Apache後的開源項目,是從PhoneGap中抽出的核心代碼,是驅動PhoneGap的核心引擎。你可以把他想象成類似于Webkit和Google Chrome的關系。
安裝JAVA和ADT
- 首先要安裝java運作環境jdk,這個可以自行到官網下載下傳。百度也有下載下傳連接配接:( http://www.baidu.com/s?tn=baidu&ie=utf-8&f=8&wd=jdk ),這個主意要将java安裝路徑的bin目錄加入系統或使用者的環境變量path中,安裝完可以在cmd指令行視窗輸入java -version,看是否有反應。
- 然後下載下傳ADT(Android Development Tools),這個到官網下載下傳:(http://developer.android.com/sdk/index.html ),這個網站打開慢,下載下傳還是比較快的。下載下傳後解壓ADT,這個裡面主要包含兩個檔案夾,一個是裝好插件的eclipse,用于開發Android應用,另外一個是android開發sdk目錄。需要将sdk/platform-tools這個路徑加入系統環境變量path中,為了以後調試用到adb。
- 下載下傳安裝ant,這個是在用phonegap的cordova工具生成android項目時,需要的編輯工具。下載下傳位址:(http://ant.apache.org/bindownload.cgi ),安裝完之後要注意,一定要在cmd指令行視窗輸入 ant 指令,看是否報錯。我的這個就報錯:在jre目錄找不到tools.jar。解決方法很簡單,自己看了一下jre目錄是沒有,在jdk目錄下lib目錄有tools.jar,于是拷貝一個過去就解決了。
安裝NodeJS插件
這個之前介紹過如何安裝,這裡就不說明了,參考:(http://www.haomou.net/2014/07/29/2014_nodejs_1/ )
接着安裝pnonegap和cordova,如下:
| |
安裝完成之後,我們就可以使用phonegap生成一個android項目檔案。執行如下指令:
| |
上面的倒數第二步,cordova platform add android這個可能會報錯。
| |
這個主要是沒有安裝和目前cordova對應要求的android平台sdk,這個可以通過2種方法解決,
- 打開ADT,打開Android SDK manager,安裝對應平台的SDK。(參考下一小節)
- 打開如下目錄,可能其中的版本号不一,
| |
修改
| |
可以把這個修改成你現在已安裝的平Andriod台,或者想要指定的Android平台。
這個問題解決後,上面的示例項目即可生成,然後使用ADT Eclipse導入該項目即可,同意通過運作,檢視在AVD中的運作效果。
Android開發平台搭建技巧
SDK無法更新可以使用翻牆或網上下載下傳相關資源,推介使用國内的鏡像,可參考:
SDK資源-鏡像 http://www.androiddevtools.cn/
技巧一:Android SDK Manager打開非常慢,總是失敗。解決方法:
通路站長工具網站(http://tool.chinaz.com/ ),選擇 其他工具/超級PING ,把域名dl-ssl.google.com粘貼進去,然後勾選海外的,點選查詢,會列出一些可以ping通的IP位址。
使用cmd指令行ping 對應的ip位址,修改系統的host檔案,具體位置在(C:\Windows\System32\drivers\etc),在最後一行增加域名解析記錄:
| |
然後重新打開Android SDK Manager,試一下。如果不行,就換一個ip,重新修改host,總有可以的。我用的這個是英國的ip,速度還不錯。
技巧二:manage AVD裡面建立Android虛拟機的時候,報錯:
| |
解決方法:在Android SDK Manager中下載下傳對應平台的ARM EABI v7a System image。
技巧三:打開eclipse時,卡在Android sdk content loader 0%,解決辦法:
方法1:遇到Eclipse右下角一直顯示“Android sdk content loader 0%”的情況時,直接關掉Eclipse,有ADB程序在運作時通過程序管理器結束程序,然後重新開機Eclipse。通過這種方法多數情況下問題會得到解決。
方法2:關閉Eclipse,删掉C:\Users\使用者名.android檔案夾下的所有内容,再重新開機Eclipse。
轉載:http://www.haomou.net/2014/08/06/2014_phonegap_android/