自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Chrome DevTools 遠(yuǎn)程調(diào)試安卓網(wǎng)頁(yè)的原理

開(kāi)發(fā) 前端
Chrome DevTools 和 Chrome 是分離的架構(gòu),兩者通過(guò) WebSocket 通信,通信協(xié)議是 Chrome DevTools Protocol,可以在金絲雀版本的 Protocol Monitor 里看到 CDP 的數(shù)據(jù)交互。

作為前端開(kāi)發(fā),我們每天都會(huì)用 Chrome DevTools 調(diào)試 Chrome 的網(wǎng)頁(yè),但其實(shí)它還可以遠(yuǎn)程調(diào)試安卓手機(jī)的網(wǎng)頁(yè)。

那 Chrome Devtools 如何遠(yuǎn)程調(diào)試安卓網(wǎng)頁(yè)呢?它的實(shí)現(xiàn)原理是什么?

今天我們就來(lái)了解一下:

遠(yuǎn)程調(diào)試安卓網(wǎng)頁(yè)

用數(shù)據(jù)線把安卓手機(jī)和電腦連接起來(lái),在手機(jī)設(shè)置里打開(kāi) USB 調(diào)試:

圖片

然后在 chrome 打開(kāi) chrome://inspect 頁(yè)面,勾選 Discover USB devices(默認(rèn)是勾選的):

圖片

這時(shí)候下面就會(huì)出現(xiàn)一個(gè)提示:請(qǐng)?jiān)谠O(shè)備上接受 debugging 會(huì)話

圖片

在手機(jī)上點(diǎn)擊確定,就會(huì)建立調(diào)試會(huì)話:

圖片

下面就會(huì)列出所有可以調(diào)試的網(wǎng)頁(yè):

圖片

瀏覽器里的網(wǎng)頁(yè),或者 APP 調(diào)試包的 webview 的網(wǎng)頁(yè)都會(huì)列出來(lái)。

點(diǎn)擊 inspect 就可以調(diào)試了:

可以審查元素:

圖片

可以打斷點(diǎn):

圖片

也可以用 Performance 分析性能:

圖片

各種調(diào)試 PC 網(wǎng)頁(yè)的功能基本都支持。這樣就可以愉快的調(diào)試安卓的移動(dòng)端網(wǎng)頁(yè)了。

不過(guò)這個(gè)過(guò)程你可能會(huì)遇到這樣的問(wèn)題,打開(kāi)的窗口是空白的或者是 404:

圖片

圖片

這是因?yàn)檎{(diào)試的目標(biāo)可能是任意 chrome 版本,那么 Chrome Devtools 自然也要用相應(yīng)的版本才行,所以就需要?jiǎng)討B(tài)下載。

而動(dòng)態(tài)下載的 devtools 網(wǎng)頁(yè)是在 google 域名下的,需要科學(xué)上網(wǎng)才行。

科學(xué)上網(wǎng)之后,就可以正常的下載 Chrome DevTools 來(lái)做調(diào)試,也就不會(huì)白屏或 404 了。

但也不是每次都要科學(xué)上網(wǎng),一個(gè)調(diào)試目標(biāo)只需要下載一次 Chrome Devtools 的代碼,之后就可以一直用了。

我們了解了 Chrome DevTools 怎么調(diào)試安卓的網(wǎng)頁(yè),那它的原理是什么呢?

Chrome DevTools 的原理

Chrome DevTools 被設(shè)計(jì)成了和 Chrome 分離的架構(gòu),兩者之間通過(guò) WebSocket 通信,設(shè)計(jì)了專(zhuān)門(mén)的通信協(xié)議:Chrome DevTools Protocol。

圖片

這樣只要實(shí)現(xiàn)對(duì)接 CDP 協(xié)議的 ws 服務(wù)端,就可以用 Chrome DevTools 來(lái)調(diào)試,所以 Chrome DevTools 可以用來(lái)調(diào)試瀏覽器的網(wǎng)頁(yè)、調(diào)試 Node.js,調(diào)試 Electron 等。

那自然也就可以遠(yuǎn)程調(diào)試安卓手機(jī)的網(wǎng)頁(yè)了,只要開(kāi)啟了 USB 調(diào)試,那手機(jī)和電腦就可以做網(wǎng)絡(luò)通信,從而實(shí)現(xiàn)基于 CDP 的調(diào)試。

這個(gè) CDP 的調(diào)試協(xié)議是 json 格式的,如果想看它傳輸了什么也是可以的:

下載金絲雀版本的 chrome:

圖片

在 Chrome DevTools 的 more tools 里打開(kāi) Protocol Monitor 面板:

圖片

然后你就可以在 Protocol Monitor 面板里看到所有的 CDP 協(xié)議的數(shù)據(jù)交互了:

圖片

這就是調(diào)試的實(shí)現(xiàn)原理。

總結(jié)

Chrome DevTools 和 Chrome 是分離的架構(gòu),兩者通過(guò) WebSocket 通信,通信協(xié)議是 Chrome DevTools Protocol,可以在金絲雀版本的 Protocol Monitor 里看到 CDP 的數(shù)據(jù)交互。

因?yàn)檫@樣的實(shí)現(xiàn)原理,Chrome DevTools 可以調(diào)試很多目標(biāo),其中就包括 USB 設(shè)備。

打開(kāi) USB 調(diào)試之后,在 chrome://inspect 頁(yè)面就可以看到可調(diào)試的網(wǎng)頁(yè)了,點(diǎn)擊對(duì)應(yīng)的網(wǎng)頁(yè)就可以調(diào)試。

要注意的是調(diào)試的目標(biāo)瀏覽器要和用的 Chrome DevTools 版本一一對(duì)應(yīng)才行,所以第一次調(diào)試會(huì)先下載 Chrome DevTools,這需要訪問(wèn) google 的域名,如果沒(méi)有科學(xué)上網(wǎng),會(huì)有白屏和 404 的問(wèn)題。

理解了調(diào)試的原理,Chrome DevTools 調(diào)試安卓網(wǎng)頁(yè)的流程,就可以愉快的遠(yuǎn)程調(diào)試安卓手機(jī)的網(wǎng)頁(yè)了。

責(zé)任編輯:武曉燕 來(lái)源: 神光的編程秘籍
相關(guān)推薦

2017-10-09 10:04:48

JavaScriptChrome DevT調(diào)試

2022-09-02 09:01:36

ChromeWeb調(diào)試

2022-07-29 09:01:20

Chrome試源代碼調(diào)試技巧

2017-09-12 15:11:12

Chrome

2025-03-03 00:00:00

Chrome工具前端

2022-08-21 14:05:54

調(diào)試工具CDP

2022-08-26 08:17:32

Sidekick開(kāi)源

2022-08-23 23:19:12

ChromeCoverage

2022-10-28 19:19:11

ChromeNetwork網(wǎng)絡(luò)

2022-09-23 15:01:00

JavaScripChrome技巧

2021-05-11 10:03:06

性能優(yōu)化工具Performance

2022-04-27 20:52:48

JSChrome元素

2021-12-17 00:10:00

ChromeDevtools功能

2021-05-21 10:24:52

AngularDevTools擴(kuò)展

2022-11-10 09:00:41

2021-12-25 22:30:27

Chrome DevTJavaScript調(diào)試工具

2017-04-11 14:12:07

Snippets工具JavaScript

2022-01-10 13:27:11

Chrome DevtMemory內(nèi)存分配

2020-06-28 08:21:07

Chrome瀏覽器Chrome瀏覽器

2016-09-27 21:38:44

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)