開發Android平臺的Cordova應用

本文承接上篇《Cordova開發技巧》。html

以前的全部例子用到的平臺主要是Android,本次詳細說明一下在Cordova框架中開發Android應用的過程。它和通常的Android應用開發相似,若是是Android開發者基本能夠跳過不看,另外須要在其餘平臺中開發暫請參考Cordova和相關平臺開發的文檔和參考資料。android

Google爲Android開發者提供了一套強大的平臺開發工具,雖然Cordova CLI包攬了大部分建立、管理、測試應用的工做,但調試應用遇到問題時,想要知道更多的信息仍是要藉助ADT。下面說明如何配置ADT並用它測試和調試Cordova應用。若是隻是使用CLI或者PhoneGap Build構建和測試應用,這部分就能夠略過不看了。另外如今Google有自家的Android開發工具Android Studio,建議有條件仍是改用它吧。web


用Android開發工具(ADT)開發

ADT附加在預配置的開源Eclipse上,用它能夠編輯、編譯、運行和調試Android的Java應用,能夠在Android開發者網站(http://developer.android.com/sdk/index.html)上了解更多或者下載。若是已經在使用Eclispe開發,能夠按照以下網址的說明添加ADT:http://developer.android.com/sdk/installing/installing-adt.html。注意ADT和Eclipse的兼容。框架

ADT也有命令行工具用來和設備或模擬器交互,它也是Cordova CLI用來和Android平臺交互的工具之一。eclipse

使用ADT IDE

打開Android SDK文件夾中的Eclipse文件夾的Eclipse就啓動了ADT。截圖以下:編輯器

![ADT](img/14.png)

處理ADT IDE的內存問題

有時在打開Cordova項目或向Eclispe安裝插件時會出現IDE崩潰的狀況。默認狀況下,Eclipse配置使用有限的內存,崩潰有時就是由於沒有足夠的內存。工具

有幾種方法增長Eclipse不一樣部分的可用的內存。能夠在Eclipse啓動時以命令行選項的形式傳遞內存配置設置,或者簡單的對eclipse.ini作一些改動。用後一種方法,打開eclipse.ini,修改以下幾處內存設置。若是還有問題,試着增長直到問題消失。開發工具

...
--launcher.XXMaxPermSize
256m
...
-Xms512m
-Xmx1024m

編輯Cordova應用內容文件

Android應用使用Java語言,ADT中也沒有專門設計用來調試運行在Cordova容器中的Web應用的工具。所以也不能按步調試JavaScript代碼、設置斷點、配置監視表達式,這裏最好仍是用上一篇講到調試方法。但以後也會使用ADT的一些工具進行調試。測試

編輯Cordova應用的web內容有一些優秀的編輯器,若是要使用ADT編輯Cordova應用的內容就須要安裝web編輯功能。具體方法是打開Help菜單,選擇"New Software會顯示安裝嚮導,在其中的Work With下拉列表中選擇Juno選項,選好後下面會顯示一個選項列表,拖動找到Eclipse Web Developer Tools,選中後一路點擊完成安裝。網站

導入Cordova項目

在導入Cordova項目以前使用prepare命令確保Web內容從www文件夾複製到Anroid項目文件夾中。打開ADT的File菜單,選擇Import,顯示導入嚮導。展開Android選項並選擇Existing Android Code Into Workspace,點下一步。嚮導下一頁指定Root Directory即項目根目錄,嚮導自動添加Cordova項目到可用工程列表。截圖以下:

![](img/15.png)

導入後的項目結構包括原生的Java Android應用和在應用內執行的web內容,即默認的Android項目結構和Cordova www文件夾。

在Android項目的www文件夾中對web內容做修改並不會反映Cordova項目根目錄的www文件夾中,Cordova並無這樣一種同步機制。調試過程當中對web內容做了修改,須要手動複製。方便起見,能夠添加一個外部工具用來處理向Cordova www文件夾中的複製工做。

運行Cordova應用

導入後就能夠運行項目了,ADT沒有爲Android應用設置默認的運行配置,須要自行添加。在ADT中,打開Run菜單,選擇Run Configurations,在彈出的對話框中選擇Android Applications,點擊New按鈕(如圖中標識處),指定一個應用,設定一個或多個啓動模擬器的參數,若是沒有定義模擬器,點擊Manage按鈕打開Android虛擬設備(AVD)管理器建立和管理一個模擬器。

![](img/16.png)

一個或多個運行配置定義完成後,點底部的Run按鈕加載模擬器運行應用。也能夠關閉對話框在Run菜單上選擇或右鍵單擊項目,選擇Run As而後選擇Android Application。ADT就會加載選中的模擬器,而後編譯、打包和部署應用。

ADT調試工具

ADT有監視在模擬器或設備上活動的工具,即ConsoleLogcat視圖。Logcat是IDE的一部分,但能夠經過命令行運行或做爲一個獨立的工具運行。若是不當心關閉了Logcat能夠在Window菜單的Show View中選擇Other,ADT IDE會顯示對話框,在列表中選擇Logcat。

console窗口顯示了由ADT在準備Cordova應用並部署到模擬器上時產生的信息。若是ADT在構建、打包和部署應用時遇到問題就經過console顯示出來。

Logcat則直接同Android模擬器或設備交互,在模擬器完成啓動過程後,同Android系統交互時Logcat窗口會顯示大量消息。使用模擬器或設備運行應用遇到問題時能夠在其中查找錯誤信息。

以前咱們講過經過Cordova應用向console對象寫信息;就Android來講這些console對象消息顯示在Logcat窗口中。

Logcat窗口中能夠按照消息類型過濾消息。以下圖所示,注意右上角的debug按鈕點擊能夠按消息級別篩選。

![Logcat圖](img/17.png)


在ADT IDE外部調試

若是不想用ADT,能夠在IDE外部運行ADT調試工具。獨立的Logcat和相關工具能夠在Android Debug Monitor(ADM)工具中找到,而ADM是由Android SDK Tools文件夾中的monitor.bat啓動的。

ADM窗口以下圖,提供許多有用的信息,其中就有Logcat窗口。

![ADM圖](img/18.png)


抓屏

從模擬器或設備上抓屏雖然不是很要緊的功能但有時頗有用。上圖ADM窗口中的左上角的Device區能夠看見小相機圖標。設備鏈接後能夠點擊它抓取屏幕。點擊後會出現一個窗口,上面有refreshrotatesavecopy按鈕。它在寫文檔或支持工做時能提供快速簡單的屏幕圖像。


在物理設備上調試

ADM也能夠與物理設備交互,在應用發佈前仍是應該在典型的樣機上測試。首先要用USB線把設備和PC鏈接,記得打開設備上的USB調試,怎麼打開因設備而異。一些設備中啓用開發者選項只須要在Android的設置上選擇。另外一些可能會複雜些請自行查找緣由。

在設備上測試前有時還要解決識別問題。像三星設備可能要求安裝驅動;有時要在SDK模擬器上安裝Google USB驅動。

接下來再說說PhoneGap buid。

相關文章
相關標籤/搜索