本文PC環境:
Chrome: 版本 33.0.1750.22 dev
MAC OS:OS X 10.9.1
特別注意:Chrome DevToolsl使用時會聯接到appspot.com,而此網址被牆,以下教程需要先在本機使用翻--牆代理,否則在chrome://inspect中無法點擊網頁的inspect鏈接打開Deleloper Tools。
Mac上使用goagent教程:http://maolihui.com/goagent-mac-detail.html
其他操作系統如何使用goagent請自行google
- 對於web頁面的:Android 4.0+ ,並在Android設備上安裝chrome瀏覽器。
- 對於Android Apps:Android 4.4+ 和調試做需要的網頁視圖配置
- USB線用於接入你的Android設備
- 開發設備上需安裝Chrome32 以后的版本
- 在中國你還需要翻牆
不使用代理的方式(這個IP沒被封),在hosts配置:203.208.46.178 chrome-devtools-frontend.appspot.com
前置條件:
1、PC(MAC\WINDOWS\LINUX)上安裝Chrome 31或以上版本。
2、如果是Windows,需先安裝USB設備驅動程序,用來連接安卓移動手機或PAD,對於MAC、LINUX則已安裝好。(Windows上可安裝碗豆夾或手機助手,用USB連接線接上手機后,會自動檢測並安裝相應的USB設備驅動程序)
3、成功進行翻--牆,能在Chrome打開appspot.com即可。
遠程調試概述:
網頁內容在移動設備上的用戶體驗與PC的相比有很大的區別。Google Chrome DevTools 有一整套已經熟悉的工具允許用來 inspect, debug, 以及 analyze 在移動設備上的網頁,這意味着可以使用PC上的Chrome DevTools來調試一個移動設備上打開的頁面。
只要移動設備通過 USB 連接到PC,就可以開始調試,可以查看甚至修改HTML,script和CSS,直到得到一個在所有移動設備上表現完美的沒有 bug 的頁面。
在開始調試之前,需要做以下准備:
o一台安裝了Chrome 31或更新版本的 Android 手機或平板。(Beta版本V32需要ADB-free connectivity)(實測30版本也是可用的,再老版本沒試過)
o一條 USB 連接線(Windows用戶還需要先安裝相應的USB設備驅動程序)。
oPC上已安裝31或更新版本的Chrome,並且翻--牆成功能正常訪問www.appspot.com。
1. 啟用移動設備上的USB調試功能
為了能通過 USB 進行調試,需要設置Android移動設備為開發環境。
啟用USB調試:
o在大多數運行Android 3.2或更早版本的設備中,可以找到以下選項“設置” > “應用” > “開發環境”。不過Chrome好像只能在4.0以上android中才能使用,所以這個不用管了。
o在Android 4.0和4.1版本中,是“設置” > “開發者選項”。
o在Android 4.2及以后,開發者選項默認被隱藏。前往“設置” > “關於手機”,根據提示點擊版本號7次,直到開啟“開發者選項”。返回上一屏查找“開發者選項”。
2.1 通過USB直連移動設備
Chrome M32及以上(指PC):
對於這些Chrome版本,DevTools對連接的設備支持 native USB debugging。不再需要通過配置ADB或ADB plugin查看移動設備上的Chrome和WebView連接實例(老版本的方式)。
在Chrome中訪問 about:inspect ,並且檢查“Discover USB Devices”已勾選。
注:此說明適用於Mac以及ChromeOS台式機, Windows用戶還需要安裝設備驅動程序,以使設備之間進行通信。
注:PC Chrome和移動設備之間的這種USB直接方式可能會中斷一個”ADB連接”,你可能會試圖重建立連接。如果因為其他原因需要使用`ADB`命令,在執行`adb devices`之前,取消選中的“Discover USB Devices”復選框,拔出設備,並插回。
Chrome M31和更早:(指PC)
舊版本的Chrome仍然需要ADB Chrome擴展,以便遠程調試設備。(不推薦使用,不在本文介紹范圍)
2.2、連接到移動設備
用USB連接線將移動設備連接到PC。
當移動設備連接到PC上,可能會在移動設備上看到在PC的設備請求權限USB調試警報。為了避免每次調試時都看到此警示,檢查總是允許從這台計算機,然后單擊確定。
在移動設備上,啟動Chrome。打開“設置” > “高級” > “開發工具”,確認啟動USB網頁調試,如圖所示(高版本不用設置,也沒此設置項):
現在PC打開Chrome,“Chrome菜單>工具>檢查設備”,看到所有連接的設備,界面如下:
如果沒有此菜單是因為Chrome版本原因,也可以在PC上Chrome地址欄輸入 about:inspect 進入。
此頁面會顯示每個連接的設備及其選項卡。可以同時連接多個設備,以及在不同設備中打開不同版本的Chrome,可調試WebViews也是出現在頁面下方。
查找感興趣的標簽,然后單擊inspect鏈接,就可以打開DevTools。在此界面也可以重新載入頁面,頁面放置在最前面,或者關閉。最后,可以通過一個文本輸入框在設備上打開新鏈接。
故障排除:
在設備上檢查開發人員選項→USB調試被勾選。
如果希望使用native USB debugging功能,檢查使用的是Chrome為32或更高版本。
如果已打開USB調試,但 about:inspect 沒有顯示所期望的設備,請檢查 Discover USB devices是否被勾選。如果有勾選,請拔出設備,並嘗試撤消USB authorizations的開發人員選項,並重試。
調試應用:
例如,查看所選中頁面中的元素,在移動設備上的Chrome中這個元素對應的頁面結構會立即高亮顯示。
同樣,在DevTools的控制台中編寫腳本或者執行命令,都會影響移動設備中檢查的頁面。也可以使用所有其他面板,例如Timeline和Profiles。
注意:
o你可能會注意到在遠程調試過程中你可訪問與你的PC上的版本不同的DevTools。這是因為工具會同步Android設備上使用的Chrome版本。
o因為我們通過USB連接PC,所以你可以讓你的設備處於一個真實的網絡中,並且在Network面板中查看真實網絡條件下的網絡瀑布流。
o移動設備上的硬件運行你的網頁通常會比PC更慢,因此使用Timeline面板來分析如何優化渲染和CPU來達到最佳效果。
o如果在PC上運行一個web服務器,並且網絡限制阻止你的移動設備向這台服務器發送請求,請參看reverse port forwarding。
oChrome瀏覽器在遠程調試時會阻止移動設備屏幕進入休眠狀態。雖然有用,但會使設備安全性降低。
Screencast:
Screencast可以把移動設備的屏幕映射體驗到PC。這可以讓你不用來回在移動設備和PC DevTools之間切換。目前, Chrome for Android Beta版(M32)支持此功能。
點擊PC DevTools工具欄上圖標打開screencast面板,在PC上顯示移動設備的屏幕。當瀏覽,點擊,滾動,screencast面板將顯示移動設備上的實時視圖。
當在使用screencast功能時,可以控制移動設備上chrome的前進和后退按鈕,重新載入,並可直接更改URL並載入。
與screencast互動:
可以通過多種方式與移動設備的screencast互動。
PC鍵盤上的按鍵動作將被發送到移動設備
點擊將被發送到移動設備作為適當的觸摸事件。
滾動鼠標滾輪,觸控板。
選擇工具欄上“放大鏡”或按Command+ Shift+ C可檢查元素
注:截屏功能會反復捕捉設備,以便實時取得移動設備的截圖,但會有性能開銷。如果你正在測試性能敏感的情況,可以禁止截屏。