利用 Chrome 開發者工具遠程調試 Android 中的原生 WebView

以前寫過一篇關於 Android Studio 斷點調試技巧 的文章,但都是針對 Native 代碼的調試,對於 Hybrid 開發模式下的 WebView 卻無從下手。幸運的是,PC 中的 Chrome 瀏覽器提供的開發者工具可以幫助咱們遠程調試 Android 中的 WebView 加載的網頁。html

Android 4.4 (KitKat) 開始,使用 Chrome 開發者工具能夠幫助咱們在原生 Android 應用中遠程調試 WebView 網頁內容。一塊兒來看看怎麼操做吧。html5

第一步,設置 WebView 調試模式。WebView 類包含一個公共靜態方法,做爲 Debug 開關:java

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WebView.setWebContentsDebuggingEnabled(true);
}複製代碼

注意:這個方法兼容至 Android 4.4 及更高版本,而且只需設置一次,即可應用於項目中的全部 WebView,同時不受 Manifest 文件中 debuggable 屬性的影響。程序員

第二步,確保 USB 鏈接的前提下,打開 PC 中的 Chrome 瀏覽器,輸入網址,打開頁面:chrome

chrome://inspect複製代碼

DevTools 頁面的 Devices 菜單頁自動顯示當前鏈接的遠程設備名和序列號,以及當前原生 App 打開的 WebView 的網頁地址,如圖:瀏覽器

點擊對應網頁下方的 inspect 選項即可以進入開發者工具頁:微信

如圖所示,網頁顯示內容和源代碼、控制檯等均可以看到,供安卓開發人員自由調試。工具

事實上,Chrome 開發者工具也是 H5 開發人員開發手機端網頁的調試利器。ui

打開 PC 中 Chrome 瀏覽器的開發者工具頁面:設置 -> 更多工具 -> 開發者工具,或者直接在 Chrome 瀏覽器的任意網頁上右鍵選擇 檢查。在開發者工具按照下圖方式中打開 Remote devicesurl

一樣,確保 PC 經過 USB 鏈接手機設備的前提下,檢查開啓 Remote devices 頁面左側 Settings 菜單中的 Discover USB devices 選項:

打開手機的 Chrome 瀏覽器 App,在 Remote devices 中選擇對應的手機設備,即可以看到當前 Chrome App 的版本信息,以及一個 URL 輸入框:

在此,咱們能夠輸入任意的 Url 地址,點擊 Open,即可同步打開手機 Chrome 上的網頁,同時在 Remote devices 出現對應的地址欄,點擊便可進入前面介紹 WebView 時所看到的相似調試頁。

更多有關 Chrome DevTools 的細節,請參考連接:Chrome DevTools for Mobile: Screencast and Emulation

關於我:亦楓,博客地址:yifeng.studio/,新浪微博:IT亦楓

微信掃描二維碼,歡迎關注個人我的公衆號:安卓筆記俠

不只分享個人原創技術文章,還有程序員的職場遐想

相關文章
相關標籤/搜索