google 出的 Chrome DevTools 支持了对 Android WebView 的远程调试,详细信息见下方链接:
https://developer.chrome.com/devtools/docs/remote-debugging
要求是在 Android 4.4上,并且其中需要在应用代码中增加一下代码段开启该功能 :
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
今天主要要提供一个反射代码的方式来设定这段代码,目的是为了省去把工程改为兼容用 Android SDK 4.4 编译的工作。也就是说在任何一个 Web 应用中都可以通过添加这段代码,来在Android 4.4 + Chrome DevTools 的方式来调试 web 界面:
try {
Class<?> testClass = Class.forName("android.webkit.WebView");
Method method = testClass.getMethod("setWebContentsDebuggingEnabled", new Class[] {
boolean.class});
method.invoke(null, new Object[] {true});
} catch (Exception e) {
e.printStackTrace();
}