利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

亦楓發表於2017-05-03

之前寫過一篇關於 Android Studio 斷點除錯技巧 的文章,但都是針對 Native 程式碼的除錯,對於 Hybrid 開發模式下的 WebView 卻無從下手。幸運的是,PC 中的 Chrome 瀏覽器提供的開發者工具能夠幫助我們遠端除錯 Android 中的 WebView 載入的網頁。

Android 4.4 (KitKat) 開始,使用 Chrome 開發者工具可以幫助我們在原生 Android 應用中遠端除錯 WebView 網頁內容。一起來看看怎麼操作吧。

第一步,設定 WebView 除錯模式。WebView 類包含一個公共靜態方法,作為 Debug 開關:

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

注意:這個方法相容至 Android 4.4 及更高版本,並且只需設定一次,便可應用於專案中的所有 WebView,同時不受 Manifest 檔案中 debuggable 屬性的影響。

第二步,確保 USB 連線的前提下,開啟 PC 中的 Chrome 瀏覽器,輸入網址,開啟頁面:

chrome://inspect複製程式碼

DevTools 頁面的 Devices 選單頁自動顯示當前連線的遠端裝置名和序列號,以及當前原生 App 開啟的 WebView 的網頁地址,如圖:

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

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

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

如圖所示,網頁顯示內容和原始碼、控制檯等都可以看到,供安卓開發人員自由除錯。

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

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

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

同樣,確保 PC 通過 USB 連線手機裝置的前提下,檢查開啟 Remote devices 頁面左側 Settings 選單中的 Discover USB devices 選項:

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

開啟手機的 Chrome 瀏覽器 App,在 Remote devices 中選擇對應的手機裝置,便可以看到當前 Chrome App 的版本資訊,以及一個 URL 輸入框:

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

在此,我們可以輸入任意的 Url 地址,點選 Open,便可同步開啟手機 Chrome 上的網頁,同時在 Remote devices 出現對應的位址列,點選即可進入前面介紹 WebView 時所看到的類似除錯頁。

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

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

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

不僅分享我的原創技術文章,還有程式設計師的職場遐想

利用 Chrome 開發者工具遠端除錯 Android 中的原生 WebView

相關文章