Android WebView 调试方法

调试Android WebView中的h5页面,通常就是通过alert和抓包工具来定位问题,效率低且无法直接调试样式或打断点,可谓是事倍功半。本文介绍一下我在项目中使用的新方法,能够通过chrome的开发工具在原生 Android 应用中调试 WebView。

前提条件:

Android4.4+

基本原理:

1.在APP中启用 WebView 调试,开启调试后,Chrome DevTools才能对WebView进行远程调试;

WebView.setWebContentsDebuggingEnabled(true); 

2.通过访问chrome://inspect/#devices访问已启用调试的 WebView 列表;

3.调试Webview与远程调试普通页面相同,远程调试普通页面也就是在安卓手机中安装Chrome浏览器,使用USB 连接 PC,然后在 PC 的 Chrome 浏览器中打开 chrome://inspect/#devices 即可。

使用场景

1.测试包

如果团队中有Android开发人员能够提供测试包,只要在测试包中开启Webview的debug模式就可以了。

2.线上包

对于线上的APP,一般debug开关都是关闭的,这就需要借助第三方工具,才能将debug开关打开,这个工具就是XposedWebviewDebugHook

Xposed是一个框架,能够集成很多功能模块,这些模块能够在不修改APK的情况下,修改APP的运行方式。这里我们就需要WebviewDebugHook模块来开启APP的WebView debug模式。下面主要介绍一下安装的步骤:

(1)获取手机的root权限,这个推荐使用KingRoot,可能一次获取root权限会失败,建议失败后多试几次;

(2)下载适合版本的XposedWebviewDebugHook,并安装。

目前Xposed的官网上给出的链接是这样的:

Android5.0+:https://forum.xda-developers.com/attachment.php

Android4.0.4-4.4.4:de.robv.android.xposed.installer_v33_36570c.apk

而WebviewDebugHook的安装文件是git项目https://github.com/feix760/WebViewDebugHook源码中的WebViewDebugHook.apk

(3)激活XposedWebViewDebugHook模块

下图是Android5.0+下的截图,通过点击【安装/更新】激活Xposed,并切换菜单到模块功能,然后勾选上WebViewDebugHook。

   

安装完毕后,接下来就可以开开心心的调试Webview了。

另外还有两个小Tips:

(1)访问chrome://inspect/#devices如果chrome没有检测到Remote Target中的页面,可能需要安装一下chrome的ADB插件;

(2)对于腾讯系的APP,默认采用X5内核,需要将WebViewDebugHook的git目录下的debug.conf文件拷贝到SD卡的根目录下即可。

时间: 2024-10-10 03:24:38

Android WebView 调试方法的相关文章

Android快速调试方法

Android快速调试方法 前言:目前市面上OTT网络机顶盒几乎全部使用Android系统,公司目前是多个人使用一个编译服务器,编译一次Android系统花费时间较长,调试Android某一部分功能时候就不得不编译整个Android系统来调试,严重降低了工作开发效率,巧合之下看到公司大牛写的Android调试方法,放与网络与大家参考学习. 公司网络机顶盒(OTT)盒子使用Amlogic提供的芯片,下面就以amlogic Android系统为例. 1 Uboot快速调试方法 1.1 编译 #! /

实验4:掌握Android应用调试方法、添加新界面

第四章代码清单: Android应用调试方法 第五章代码清单: 添加新界面

Android 无线调试方法

在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的 USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行.也就是然ADB 通过网络来连接设备,而无需USB数据线. 具体方法如下: 1. 使用USB数据线连接设备. 2. 打开cmd进入sdk\platform-tools目录下(我的是E:\adt-bundle-windows-x86-20140702\sdk\platf

android webView使用方法

在开发过程中应该注意几点: 1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误.2.如果访问的页面中有Javascript,则webview必须设置支持Javascript.webview.getSettings().setJavaScriptEnabled(true); 3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的

IDA+VMWARE 调试 X86 版本 Android SO 最快的android so 调试方法

1. 首先,在VMWARE上安装 android 系统 2. 安装完成后 安装APK程序, 3. 启动APK程序 4. 启动andriod上的terminal 然后su 到root 5. 用ps命令查看进程要调试的APK进程ID 6.在Andriod 上启动gdbserver 并attach 到要调试的进程上 具体命令为 gdbserver 0.0.0.0:12345 --attach [pid]  其中0.0.0.0 表示gdbserver 接受任何连入的IP,12345是监听端口号 7. 用

实验4-2:掌握Android应用调试方法、添加新界面

第五章.添加新界面 代码清单5-1 添加字符串资源(strings.xml) 代码清单5-2 第二个activity的布局组件定义(activity_cheat.xml) 代码清单5-3 覆盖onCreate(...)方法(CheatActivity.java) 代码清单5-4 在manifest配置文件中声明CheatActivity(AndroidManifest.xml) 代码清单5-5 默认布局中添加cheat按钮(layout/activity_quiz.xml) 代码清单5-6 水平

Android无线调试方法(Root和非Root)

获取root权限的情况: 1.手机安装无线调试工具,adbWireless.apk:工具下载地址 2.手机连接wifi(与电脑同局域网),打开adbWireless.apk软件,打开调试状态,界面会显示ip地址. 3.在计算机命令行,进入sdk目录\android_sdk\platform-tools 输入 adb connect <设备的IP地址>:5555 连接成功会显示:connected to <设备的IP地址>:5555 非root状态下: 1. 使用USB数据线连接设备

LeanCloud SDK 的调试方法

很多同学在LeanCloud上遇到的不少问题,其实可以自我解决的,现在介绍一下LeanCloud上的调试方法. LeanCloud 是通过 REST API来进行前后端分离的,这意味着当出现问题的时候,首先应该看看网络请求是什么,来确定是客户端发出的请求不对,还是服务端处理请求不对.LeanCloud 上有专门的REST API 文档. Android SDK 调试方法 先介绍Android SDK的调试方法, 开启调试日志 首先在Application的onCreate中,开启调试日志, 然后

android webview远程调试

H5的调试的方式一般用chrome的emulator就好,可是遇到APP就拙计了.这时候还得用远程调试,远程调试很给力,不过目前网上还没有好的文章讲解,要好好的把其配置下来还是非常有难度的,今天折腾了半天,终于弄好,分享一下 配置需求 话说其配置也是非常有考究的,和ios开发一样,都是有门槛的货,告诉大家屌丝误入,不过这个条件作为屌丝的我也算是打了擦边球,唯一要求就是android系统要4.0以上才支持 app代码 如果需要调试那么,代码中一定要先在,apk生成前的开发包中的manifest.x