首页 > 代码库 > Android4.4支持使用DevTools对原生Android应用程序WebViews内容进行调试

Android4.4支持使用DevTools对原生Android应用程序WebViews内容进行调试

从Android4.4(KitKat)开始,可以使用DevTools对原生Android应用程序的Android WebViews内容进行调试。

调试WebViews要求:

1.在Android设备或模拟器运行Android4.4或更高版本,并且Android设备上启用USB调试模式。
2.Chrome 30或更高版本。更强大的WebView界面调试功能需要Chrome31或更高版本。
3.Android应用程序中的WebView配置为可调试模式。


配置WebViews为可调试:

在Chrome中启用设置“USB web debugging”不会影响WebViews。在WebView中进行调试,需要通过在应用程序中以编程方式调用WebView类的静态方法setWebContentsDebuggingEnabled。

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


注意web调测不受app manifest文件中debuggable标记状态的影响,如果希望仅debuggable为true时才能使用web调测,那么运行时检测此标记。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
   if ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) ) {
   WebView.setWebContentsDebuggingEnabled(true);
   }
}


在DevTools中打开 WebView

在DevTools调试WebView:

1.使用USB数据线将移动设备连接到开发机器。
将移动设备连接到开发机器时,可能会看到USB调试警报“设备请求权限”。
为了避免每次调试时看到此警告,勾选“总是允许从这台计算机”,并单击“确定”。

2.在开发机器的Chrome上,打开检查about:inspect。

3.就能看到应用程序和调试的WebView列表的名称。单击旁边标签中inspect链接,就能在DevTools查看WebView的内容。



注:在Chrome 31及更高版本,about:inspect页面提供了一个图形表示WebView的大小和相对设备屏幕的位置。在Chrome 31之前:about:inspect页面仅支持提供的WebView的标题。设置WebViews标题的过程中,选择正确的WebView。

Android4.4支持使用DevTools对原生Android应用程序WebViews内容进行调试