## (1) weinre遠程實時調試
Web開發者經常使用Firefox的firebug或者Chrome的開發人員工具進行Web調試,包括針對JavaScript,DOM元素和CSS樣式的調試。但是,當我們期望為移動Web站點或應用進行調試時,這些工具就很難派上用場。
[weinre](http://people.apache.org/~pmuellr/weinre/docs/latest/Home.html "weinre")就是一個幫助我們在桌面來遠程調試運行在移動設備瀏覽器內的Web頁面或應用的調試工具。weinre是WEb INspector REmote的簡寫,現在是Apache的一個開源項目,托管在[github](https://github.com/apache/incubator-cordova-weinre "weinre @ github")。
下面將介紹如此在日常工作使用它。
首先,我們要下載weinre的jar包——項目官方已經找不到該jar文件,網上能夠找到,這里建議搭建個獨立的web服務器,jar運行后是一個本地的服務器,和web服務器差不多~~
然后通過運行dos命令來啟動它(**請注意在你的電腦上已經安裝有JDK**)。運行命令如下,需要把路徑改成你的實際文件位置:
java -jar d:\tools\weinre-jar\weinre.jar –httpPort 8081 –boundHost -all- (httpPort是指定服務端口,boundHost參數說明可以使用IP訪問,all參數代表支持所有的host)。

訪問localhost:8081,如果看到如下的頁面,說明weinre已經啟動成功:

輸入debug client user interface地址(調試客戶端UI地址)。本例中即:http://localhost:8081/client/#anonymous,其中#anonymous是默認的調試id(debug id)。如果這個weinre調試服務器只是由你一個人使用,那么你可以使用默認的debug id:anonymous。 啟動的weinre調試客戶端ui如下圖:

在需要調試的頁面加入中以下腳本:,注意把localhost換成手機能夠訪問的真實IP地址。當手機訪問這個頁面時,weinre客戶端就會檢測到目標設備,然后就可以對它進行調試了。

因為手機上不方便截圖,我這里就用兩個瀏覽器窗口來展示效果,其實手機上的效果跟右邊是一樣的。
## (2) AVD模擬器調試
靜態頁面并不能滿足我們的需求,很多實際效果比如touch事件,滾動事件,鍵盤輸入事件等,都需要在真實的環境下測試,這時就需要用到模擬器。就像我們測試ie6一樣,AVD模擬器可以類比于PC上的虛擬機,當我們需要測試某一特定的機型時,我們可以新建一個AVD,進行一系列的測試。不過使用AVD的前提是已經部署好android的開發環境,這個需要JDK + android SDK + Eclipse + ADT,還是稍微有點繁瑣。
## (3)手機抓包與配host
在PC上,我們可以很方便地配host,但是手機上如何配host,這是一個問題。
這里主要使用fiddler和遠程代理,實現手機配host的操作,具體操作如下:
1. 首先,保證PC和移動設備在同一個局域網下;
2. PC上開啟fiddler,并在設置中勾選“allow remote computers to connect”

3. 手機上設置代理,代理IP為PC的IP地址,端口為8888(這是fiddler的默認端口)。通常手機上可以直接設置代理,如果沒有,可以去下載一個叫ProxyDroid的APP來實現代理的設置。
4. 此時你會發現,用手機上網,走的其實是PC上的fiddler,所有的請求包都會在fiddler中列出來,配合willow使用,即可實現配host,甚至是反向代理的操作。