Cordova/Phonegap應用構建環境搭建
2014-12-31 Wed By youngsterxyf
混合(Hybrid)移動開發將Web開發與原生開發優勢互補,之后應該是一個不錯的方向。Phonegap是混合移動開發的一個方案,
開發者可以使用標準的Web技術進行開發,然后使用Phonegap打包成原生APP,也可以為Phonegap開發插件來擴展APP功能。
Cordova是Apache的頂級項目,起于Adobe貢獻給Apache基金會的Phonegap源碼,之后Phonegap官方貌似則專注于提供Phonegap應用的云構建服務。
Phonegap官網提供的文檔與Apache Cordova文檔是相同的,所以從技術上可以將Phonegap與Cordova視為同一個東西。
雖然Phonegap官方提供免費的開放(public)應用以及一個私有應用構建服務。但對于應用調試或插件開發來說, 使用云構建服務上傳源碼下載APP還是挺耗時間的,不太方便,所以搭建本地的應用構建環境是必要的。
依據Cordova文檔的The Command-Line Interface 部分,針對Android應用,在Ubuntu上搭建Cordova應用構建環境的步驟如下所示:
1. 安裝Node.js和git客戶端
</h4>
<ul>
<li>
從<a href="/misc/goto?guid=4959551690286885335">NodeJS官網</a>下載Linux二進制壓縮包,解壓縮后將bin路徑加入PATH環境變量,即可從命令行執行node、npm命令。
</li>
<li>
sudo apt-get install git
</li>
</ul>
<h4>
2. 安裝Cordova:
</h4>
<ul>
<li>
sudo npm install -g cordova
</li>
</ul>
<h4>
3. 下載JDK:
</h4>
<ul>
<li>
sudo apt-get install default-jdk default-jre
</li>
</ul>
<h4>
4. 安裝Android SDK:
</h4>
<ul>
<li>
從Android官網的<a href="/misc/goto?guid=4959628251588792580">這里</a>下載Android Studio或獨立的SDK工具
</li>
</ul>
<p>
如果下載Android Studio,解壓縮后執行bin/android.sh,Android Studio啟動時需要從Google的服務器上獲取一些SDK相關的文件,
1. 安裝Node.js和git客戶端
</h4>
<ul>
<li>
從<a href="/misc/goto?guid=4959551690286885335">NodeJS官網</a>下載Linux二進制壓縮包,解壓縮后將bin路徑加入PATH環境變量,即可從命令行執行node、npm命令。
</li>
<li>
sudo apt-get install git
</li>
</ul>
<h4>
2. 安裝Cordova:
</h4>
<ul>
<li>
sudo npm install -g cordova
</li>
</ul>
<h4>
3. 下載JDK:
</h4>
<ul>
<li>
sudo apt-get install default-jdk default-jre
</li>
</ul>
<h4>
4. 安裝Android SDK:
</h4>
<ul>
<li>
從Android官網的<a href="/misc/goto?guid=4959628251588792580">這里</a>下載Android Studio或獨立的SDK工具
</li>
</ul>
<p>
如果下載Android Studio,解壓縮后執行bin/android.sh,Android Studio啟動時需要從Google的服務器上獲取一些SDK相關的文件,
由于GFW的原因,無法成功獲取,也就無法順利啟動。Android Studio網絡代理設置的方法(參考這里): </p>
在Android Studio首次啟動后,可以在HOME目錄下找到文件~/.AndroidStudio/config/options/other.xml,在該文件中,可以找到如下幾行:
<option name="PROXY_TYPE_IS_SOCKS" value="false" /> <option name="USE_HTTP_PROXY" value="false" /> <option name="USE_PROXY_PAC" value="false" /> <option name="PROXY_HOST" value="" /> <option name="PROXY_PORT" value="80" /> <option name="PROXY_AUTHENTICATION" value="false" /> <option name="PROXY_LOGIN" value="" /> <option name="PROXY_PASSWORD_CRYPT" value="" /> <option name="KEEP_PROXY_PASSWORD" value="false" />
如果使用HTTP協議的代理,則將“USE_HTTP_PROXY”一項的value改為“true”,“PROXY_HOST”、“PROXY_PORT”的value分別設置為代理的域名和端口, 如果代理需要身份認證,則將“PROXY_AUTHENTICATION”的value改為“true”,并設置“PROXY_LOGIN”、“PROXY_PASSWORD_CRYPT”兩項。
重啟Android Studio即可。
如果下載獨立的SDK工具,假設解壓縮后的路徑為~/Android,則添加環境變量ANDROID_HOME=~/Android,并將子目錄tools加入PATH環境變量。
執行命令android打開Android SDK管理器,與Android Studio一樣,也需要設置網絡代理:
- 打開菜單項“Tools -> Options”,填入“HTTP Proxy Server”、“HTTP Proxy Port”兩項的值,重新啟動Android SDK管理器即可。
由于當前Cordora構建Android應用依賴于Android API 19,即Android 4.4.2,所以需要在“Android Studio”或“Android SDK管理器” 下載“Android API 19”相關的依賴包。
注:下載速度很慢,請耐心等待...
5. 安裝ant
</h4>
<p>
當前Cordora構建Android應用也依賴于ant。從<a href="/misc/goto?guid=4959628251801951091">Apache Ant</a>官網下載二進制包,
5. 安裝ant
</h4>
<p>
當前Cordora構建Android應用也依賴于ant。從<a href="/misc/goto?guid=4959628251801951091">Apache Ant</a>官網下載二進制包,
解壓縮后,將子目錄bin加入PATH環境變量。 </p>
6. 測試
</h4>
<p>
依次執行以下命令:
</p>
<ul>
<li>
cordova create hello com.example.hello HelloWorld,該命令會在當前目錄下創建hello子目錄;
</li>
<li>
cd hello,進入該示例工程目錄;
</li>
<li>
cordova platform add android,為該工程添加Android平臺支持;
</li>
<li>
cordova build android,將該工程構建成原生Android應用;
</li>
<li>
cordova emulate android,打開Android模擬器運行示例應用;
</li>
</ul>
<p>
模擬器啟動后如下圖所示:
</p>
<p>
<img style="width:100%;" alt="cordova-demo" src="https://simg.open-open.com/show/4b06785460b6d72effe1fc0168e25610.png" /> </p>
<hr />
<p>
最終生成的apk文件在hello/platforms/android/ant-build/路徑下,默認名為“CordovaApp-debug.apk”。
</p>
<p>
對于Cordora項目來說,源碼目錄即項目的www子目錄。<br />
6. 測試
</h4>
<p>
依次執行以下命令:
</p>
<ul>
<li>
cordova create hello com.example.hello HelloWorld,該命令會在當前目錄下創建hello子目錄;
</li>
<li>
cd hello,進入該示例工程目錄;
</li>
<li>
cordova platform add android,為該工程添加Android平臺支持;
</li>
<li>
cordova build android,將該工程構建成原生Android應用;
</li>
<li>
cordova emulate android,打開Android模擬器運行示例應用;
</li>
</ul>
<p>
模擬器啟動后如下圖所示:
</p>
<p>
<img style="width:100%;" alt="cordova-demo" src="https://simg.open-open.com/show/4b06785460b6d72effe1fc0168e25610.png" /> </p>
<hr />
<p>
最終生成的apk文件在hello/platforms/android/ant-build/路徑下,默認名為“CordovaApp-debug.apk”。
</p>
<p>
對于Cordora項目來說,源碼目錄即項目的www子目錄。<br />
</p>
</div>