偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

今天我們就來了解一下:

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

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

圖片

然后在 chrome 打開 chrome://inspect 頁面,勾選 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)頁:

圖片

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

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

可以審查元素:

圖片

可以打斷點(diǎn):

圖片

也可以用 Performance 分析性能:

圖片

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

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

圖片

圖片

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

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

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

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

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

Chrome DevTools 的原理

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

圖片

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

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

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

下載金絲雀版本的 chrome:

圖片

在 Chrome DevTools 的 more tools 里打開 Protocol Monitor 面板:

圖片

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

圖片

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

總結(jié)

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

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

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

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

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

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

2017-10-09 10:04:48

JavaScriptChrome DevT調(diào)試

2022-07-29 09:01:20

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

2022-09-02 09:01:36

ChromeWeb調(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開源

2022-09-23 15:01:00

JavaScripChrome技巧

2022-10-28 19:19:11

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

2022-08-23 23:19:12

ChromeCoverage

2022-04-27 20:52:48

JSChrome元素

2021-05-11 10:03:06

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

2021-12-17 00:10:00

ChromeDevtools功能

2022-11-10 09:00:41

2021-12-25 22:30:27

Chrome DevTJavaScript調(diào)試工具

2021-05-21 10:24:52

AngularDevTools擴(kuò)展

2020-05-27 11:30:54

Chrome DevT前端命令

2017-04-11 14:12:07

Snippets工具JavaScript

2022-01-10 13:27:11

Chrome DevtMemory內(nèi)存分配

2011-07-28 09:58:31

Web
點(diǎn)贊
收藏

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