调试 App 内页面(WebView / WKWebView)
浏览器标签页属于较简单的情形,真正容易出现问题的是嵌入在混合应用中的页面。WebDebugX 会将这类页面与浏览器标签页一并列出,并使用同一个检查器打开 —— 前提是应用一侧已开启调试。
Android —— WebView
Section titled “Android —— WebView”在应用启动的早期阶段(Application 或承载 WebView 的 Activity)调用一次:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true);}Kotlin:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true)}重新打包并安装到设备上,然后参照调试 Android 操作,WebView 页面即会出现在页面列表中。
找到对应进程
Section titled “找到对应进程”每个承载 WebView 的进程会各自暴露一个调试端点。如需手动排查:
adb shell ps | grep webview # 有 WebView 的进程adb shell pgrep -f com.example.app # 指定 App 的 PIDWebDebugX 会自动枚举这些端点,上述命令仅用于确认设备一侧是否正常。
iOS —— WKWebView
Section titled “iOS —— WKWebView”在 web view 上开启检查功能。自 iOS 16.4 起,该能力由一个显式属性控制:
if #available(iOS 16.4, *) { webView.isInspectable = true}在 iOS 16.4 之前,Debug 构建的应用无需额外代码即可被检查,Release 构建则不可以。
随后参照调试 iOS 操作,应用内的页面即会与 Safari 标签页一并列出。
页面仍未出现时的排查清单
Section titled “页面仍未出现时的排查清单”- 确认设备上安装的是已开启该开关的版本。 请重新安装一次 —— 未开启开关的旧版本从外部无法分辨。
- 确认 WebView 已在屏幕上显示。 尚未创建的页面不会暴露任何调试目标。
- 确认已刷新设备列表。 该开关不会追溯生效,请在 WebDebugX 中点击刷新。
- 确认是同一个应用。 部分应用包含多个进程,页面归属于创建该 WebView 的那个进程。
- 与平台原生工具对照。 如果
chrome://inspect或 Safari 的「开发」菜单同样无法看到该页面,说明开关未生效,问题出在应用一侧。