利用 Chrome 開發(fā)者工具遠(yuǎn)程調(diào)試 Android 中的原生 WebView

之前寫過一篇關(guān)于 Android Studio 斷點調(diào)試技巧 的文章,但都是針對 Native 代碼的調(diào)試,對于 Hybrid 開發(fā)模式下的 WebView 卻無從下手。幸運的是,PC 中的 Chrome 瀏覽器提供的開發(fā)者工具能夠幫助我們遠(yuǎn)程調(diào)試 Android 中的 WebView 加載的網(wǎng)頁。

Android 4.4 (KitKat) 開始,使用 Chrome 開發(fā)者工具可以幫助我們在原生 Android 應(yīng)用中遠(yuǎn)程調(diào)試 WebView 網(wǎng)頁內(nèi)容。一起來看看怎么操作吧。

第一步,設(shè)置 WebView 調(diào)試模式。WebView 類包含一個公共靜態(tài)方法,作為 Debug 開關(guān):

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

注意:這個方法兼容至 Android 4.4 及更高版本,并且只需設(shè)置一次,便可應(yīng)用于項目中的所有 WebView,同時不受 Manifest 文件中 debuggable 屬性的影響。

第二步,確保 USB 連接的前提下,打開 PC 中的 Chrome 瀏覽器,輸入網(wǎng)址,打開頁面:

chrome://inspect

DevTools 頁面的 Devices 菜單頁自動顯示當(dāng)前連接的遠(yuǎn)程設(shè)備名和序列號,以及當(dāng)前原生 App 打開的 WebView 的網(wǎng)頁地址,如圖:

點擊對應(yīng)網(wǎng)頁下方的 inspect 選項便可以進(jìn)入開發(fā)者工具頁:

如圖所示,網(wǎng)頁顯示內(nèi)容和源代碼、控制臺等都可以看到,供安卓開發(fā)人員自由調(diào)試。

事實上,Chrome 開發(fā)者工具也是 H5 開發(fā)人員開發(fā)手機(jī)端網(wǎng)頁的調(diào)試?yán)鳌?/p>

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

同樣,確保 PC 通過 USB 連接手機(jī)設(shè)備的前提下,檢查開啟 Remote devices 頁面左側(cè) Settings 菜單中的 Discover USB devices 選項:

打開手機(jī)的 Chrome 瀏覽器 App,在 Remote devices 中選擇對應(yīng)的手機(jī)設(shè)備,便可以看到當(dāng)前 Chrome App 的版本信息,以及一個 URL 輸入框:

在此,我們可以輸入任意的 Url 地址,點擊 Open,便可同步打開手機(jī) Chrome 上的網(wǎng)頁,同時在 Remote devices 出現(xiàn)對應(yīng)的地址欄,點擊即可進(jìn)入前面介紹 WebView 時所看到的類似調(diào)試頁。

更多有關(guān) Chrome DevTools 的細(xì)節(jié),請參考鏈接:Chrome DevTools for Mobile: Screencast and Emulation

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容