Cordova/Phonegap 升級至 2.8.1

相關連接
Apache Cordova 項目首頁: http://cordova.apache.org/
Apache Cordova 歷史版本列表: http://archive.apache.org/dist/cordova/
Adobe Phonegap 下載頁面: http://phonegap.com/download/
本貼首發於: http://xuekaiyuan.com/forum.php?mod=viewthread&tid=9 php


下載
下載 Cordova 2.8.1 版本的源代碼包 $ /usr/bin/wget http://archive.apache.org/dist/cordova/cordova-2.8.1-src.zip
下載 Cordova 2.8.1 版本的源代碼包的 PGP 簽名 $ /usr/bin/wget http://archive.apache.org/dist/cordova/cordova-2.8.1-src.zip.asc
下載 Cordova 2.8.1 版本的源代碼包的 MD5 摘要 $ /usr/bin/wget http://archive.apache.org/dist/cordova/cordova-2.8.1-src.zip.md5
下載 Cordova 2.8.1 版本的源代碼包的 SHA 摘要 $ /usr/bin/wget http://archive.apache.org/dist/cordova/cordova-2.8.1-src.zip.sha
下載 Phonegap 2.8.1 版本的源代碼包 # /usr/bin/wget --no-check-certificate https://github.com/phonegap/phonegap/archive/2.8.1.zip html



使用 PGP 驗證下載的 Cordova 的源代碼包
查看 Cordova 2.8.1 版本的源代碼包的 PGP 簽名的鑰匙號android

$ /usr/bin/gpg --verify cordova-2.8.1-src.zip.asc
    gpg: 警告:正在使用不安全的內存!
    gpg: 請訪問 http://www.gnupg.org/documentation/faqs.html 以得到更詳細的信息
    gpg: 於 2013年06月13日  6:50:50 CST 建立的簽名,使用 RSA,鑰匙號 D5B20C87
    gpg: 沒法檢查簽名:找不到公鑰

下載 Cordova 的源代碼包的做者的公鑰git

$ /usr/bin/gpg --keyserver pgpkeys.mit.edu --recv-key D5B20C87
    gpg: 警告:正在使用不安全的內存!
    gpg: 請訪問 http://www.gnupg.org/documentation/faqs.html 以得到更詳細的信息
    gpg: 鑰匙環‘/home/Hu Zhenghui/.gnupg/secring.gpg’已創建
    gpg: 下載密鑰‘D5B20C87’,從 hkp 服務器 pgpkeys.mit.edu
    gpg: /home/Hu Zhenghui/.gnupg/trustdb.gpg:創建了信任度數據庫
    gpg: 密鑰 41D3E0F8:公鑰「Steven Gill <stevengill97@gmail.com>」已導入
    gpg: 合計被處理的數量:1
    gpg:           已導入:1  (RSA: 1)

信任 Cordova 的源代碼包的做者的公鑰程序員

$ /usr/bin/gpg --edit-key stevengill97@gmail.com trust
    gpg (GnuPG) 1.4.13; Copyright (C) 2012 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    gpg: 警告:正在使用不安全的內存!
    gpg: 請訪問 http://www.gnupg.org/documentation/faqs.html 以得到更詳細的信息
    pub  2048R/41D3E0F8  建立於:2012-02-10  有效至:2016-02-10  可用於:SCEA
                         信任度:未知          有效性:未知
    sub  2048R/D5B20C87  建立於:2012-02-10  有效至:2016-02-10  可用於:SEA
    [ 未知 ] (1). Steven Gill <stevengill97@gmail.com>
    pub  2048R/41D3E0F8  建立於:2012-02-10  有效至:2016-02-10  可用於:SCEA
                         信任度:未知          有效性:未知
    sub  2048R/D5B20C87  建立於:2012-02-10  有效至:2016-02-10  可用於:SEA
    [ 未知 ] (1). Steven Gill <stevengill97@gmail.com>
    您是否相信這位用戶有能力驗證其餘用戶密鑰的有效性(查對身份證、經過不一樣的渠道檢查
    指紋等)?
      1 = 我不知道或我不做答
      2 = 我不相信
      3 = 我勉強相信
      4 = 我徹底相信
      5 = 我絕對相信
      m = 回到主菜單
    您的決定是什麼?5
    您真的要把這把密鑰設成絕對信任?(y/N)y
    pub  2048R/41D3E0F8  建立於:2012-02-10  有效至:2016-02-10  可用於:SCEA
                         信任度:絕對          有效性:未知
    sub  2048R/D5B20C87  建立於:2012-02-10  有效至:2016-02-10  可用於:SEA
    [ 未知 ] (1). Steven Gill <stevengill97@gmail.com>
    請注意,在您重啓程序以前,顯示的密鑰有效性未必正確,

使用 PGP 驗證下載的 Cordova 的源代碼包github

$ /usr/bin/gpg --verify cordova-2.8.1-src.zip.asc
    gpg: 警告:正在使用不安全的內存!
    gpg: 請訪問 http://www.gnupg.org/documentation/faqs.html 以得到更詳細的信息
    gpg: 於 2013年06月13日  6:50:50 CST 建立的簽名,使用 RSA,鑰匙號 D5B20C87
    gpg: 正在檢查信任度數據庫
    gpg: 須要 3 份勉強信任和 1 份徹底信任,PGP 信任模型
    gpg: 深度:0 有效性:  1 已簽名:  0 信任度:0-,0q,0n,0m,0f,1u
    gpg: 下次信任度數據庫檢查將於 2016-02-10 進行
    gpg: 無缺的簽名,來自於「Steven Gill <stevengill97@gmail.com>」

使用 MD5 驗證下載的 Cordova 的源代碼包
查看 Cordova 的源代碼包的 MD5 摘要web

$ /usr/bin/md5sum cordova-2.8.1-src.zip
0837c9c7e41a673d37d5d54a769a9136 *cordova-2.8.1-src.zip

比較 Cordova 的源代碼包的 MD5 摘要redis

$ /usr/bin/cat cordova-2.8.0-src.zip.md5
cordova-2.8.1-src.zip: 08 37 C9 C7 E4 1A 67 3D  37 D5 D5 4A 76 9A 91 36

使用 SHA 驗證下載的 Cordova 的源代碼包
查看 Cordova 的源代碼包的 SHA 摘要shell

$ /usr/bin/sha512sum cordova-2.8.0-src.zip
357c02dfda321f1884c2b2510e362ae3a1aa4eb1fa75320f2df4ce17e1a4060bb7d9a5aa920d73a402f8a4f1cffde19bc101e5e1a3de1f7ba4e892acd38383ba *cordova-2.8.1-src.zip

比較 Cordova 的源代碼包的 SHA 摘要數據庫

$ /usr/bin/cat cordova-2.8.0-src.zip.sha
cordova-2.8.1-src.zip: 357C02DF DA321F18 84C2B251 0E362AE3 A1AA4EB1 FA75320F
                       2DF4CE17 E1A4060B B7D9A5AA 920D73A4 02F8A4F1 CFFDE19B
                       C101E5E1 A3DE1F7B A4E892AC D38383BA

解壓縮源代碼包
解壓縮 Cordova 的源代碼包

$ /usr/bin/unzip cordova-2.8.1-src.zip

解壓縮 Phonegap 的源代碼包

$ /usr/bin/unzip 2.8.1.zip

Apache Cordova 項目源於 Phonegap 項目。


Phonegap 是一款開源的開發框架,旨在讓開發者可使用 HTML、Javascript 和 CSS 等標準的 Web 開發技術開發跨平臺的移動終端原生應用程序的工具。最初由 Nitobi 公司開發,如今由 Adobe 擁有。


最先的 Phonegap 起源於 2008 年在舊金山召開的 iPhoneDevCamp, Nitobi 的工程師 Brock Whitten、Rob Ellis 和 Andre Charland 在 iOS 系統內架起 web 接口和 Objective-C 之間的橋樑,讓開發人員可使用 HTML五、JavaScript 和 CSS 等標準的 web 開發技術開發快速開發 iOS 原生應用程序。實現 written once, run everywhere 一次編譯處處運行,其「Bridging the gap between the web and the iphone SDK 在 web 與 iPhone SDK 的缺口之間架設橋樑」的理念獲得歡迎。早期的 PhoneGap 須要使用蘋果電腦開發 iOS 應用程序,早期的 Windows Mobile 應用程序則是用 Windows 平臺開發出來的。
2009年2月25日,PhoneGap 0.6 發佈,支持 iOS、Android 和 BlackBerry 平臺。
2010年中IBM也開始參與投入研發。
2011年10月4日, Adobe 正式宣佈收購 Nitobi 軟件。PhoneGap 的代碼貢獻給了 Apache 軟件基金會,但保留了 PhoneGap 的商標全部權,命名爲Apache Callback。1.4版發佈後,接着 Apache Callback 的名稱變動爲 Apache Cordova。Cordova 是街道的名字,在開發團隊附近。Adobe Dreamweaver 5.5 版本爲 phonegap 提供開發環境。
2012年9月後,「PhoneGap Build PhoneGap構建」服務推出,可讓程序員將他的源代碼上傳到「雲編譯器」,生成應用程序每個所支持平臺的安裝包。


PhoneGap 是一簇移動終端的 API 接口集,經過 Javascript 訪問這些接口能夠調用諸如攝像頭、羅盤等硬件/系統資源。配合上一些基於 HTML五、CSS3 技術的 UI 框架,如 jQuery Mobile、Dojo Mobile 或 Sencha Touch,開發者得以便捷地開發跨平臺 app 而不須要編寫任何的原生(native)代碼。
注意到由於 PhoneGap 自己還是一個原生程序,爲 app 打包時依然須要用到這些系統平臺的 SDK。
PhoneGap framework 能夠用多種移動終端應用程序平臺開發,例如 ViziApps, Worklight, Convertigo 以及Tiggr, appMobi ,也能夠選擇PhoneGap Build 編譯工具。
Phonegap 不能取代 Native APP。有評論 Phonegap 程序的加載和 UI 界面的反應都比原生的程序慢。操做系統資源的使用不夠靈活。PhoneGap消耗內存也較大。Adobe 警告開發者基於 PhoneGap 框架開發的程式可能會因爲太慢或體驗起來不夠「原生」而被蘋果應用商店拒絕上架。


支援平臺
PhoneGap的發展目前支持的操做系統包含,HP 的webOS,蘋果的iOS,谷歌的Android,微軟的Windows Phone,諾基亞的Symbian OS,以及RIM黑莓機 。

特性 iPhone
iPhone 3G
iPhone 3GS及新版本 Android
1.0~4.2
Windows Phone
7+8
Blackberry
4.6~4.7
Blackberry
5.x~6.0+
Bada Symbian HP WebOS Tizen
定位
網絡
提醒框
提醒聲音
提醒振動 不適用
加速計 不適用
照相機 不適用
羅盤   不適用 不適用 不適用
通信薄 不適用 不適用 不適用
檔案 不適用 不適用 不適用 不適用 不適用
多媒體 不適用 不適用 不適用 不適用 不適用
存儲 不適用 不適用
掃描條碼 不適用 不適用 不適用 不適用 不適用

 


Cordova 及 Phonegap 中對 Windows 桌面操做系統的支持
Phonegap 1.2.0~2.1.0 中不支持 Windows 桌面操做系統
Phonegap 2.2.0~2.8.1 在 Windows 桌面操做系統中僅支持 Windows 8
Cordova 2.3.0~2.8.1 在 Windows 桌面操做系統中支持 Windows 7 和 Windows 8。其中 Windows 7 版僅限於使用 Visual Studio 2012 編譯,不支持 Visual Studio 2010 編譯。


修改 Cordova for Windows 7 的首頁面地址
Cordova for Windows 7 的首頁面地址爲 www\index.html,定義在 shell.c 文件中的第91行。

#define BASE_URL L"www\\index.html"

在 shell.c 文件中的第1386行使用。

GetFullPathName(BASE_URL, _MAX_PATH, full_path, 0); // Possible failure if the base directory has a very long name

若是須要修改首頁面地址,看取值的狀況,若是是固定值的話,建議修改第9行。

#define BASE_URL L"www\\index.html"

若是是變量的話,建議修改第1386行。

 

GetFullPathName(BASE_URL, _MAX_PATH, full_path, 0); // Possible failure if the base directory has a very long name

 


運行 Cordova Android 測試項目
訪問 http://archive.apache.org/dist/commons/codec/binaries/ 下載 commons-codec-1.7-bin.zip
解壓縮 android 版源代碼

# /usr/bin/unzip -d 2.8.1-android cordova-2.8.1/cordova-android.zip

運行 Eclipse Android
File 菜單,Import 菜單項
Existing Projects into Workspace
在Projects 中選中 Cordova 和 CordovaViewTestActivity
在 framework 中建立 libs 文件夾
移動 commons-codec-1.7.jar 到 framework\libs  
建立 framework\gen
刷新 Cordova 工程
Project 菜單,Properties 菜單項
Android 選項卡,選中 4.2.2
調試 CordovaViewTestActivity 查看是否有輸出
若是沒有輸出,多是 cordova.js 版本不一致
重命名 test\assets\www\cordova.android.js
複製 framework\assets\www\cordova.js 爲 test\assets\www\cordova.android.js

相關文章
相關標籤/搜索