很久以前在 github 上 watch 了一个汇总各手机端浏览器的 debug 方法的项目:jieyou/remote_inspect_web_on_real_device,今天偶尔看到它的其中一个 issue 里面有一个如何做微信 webview 的文章,因此转载到这里分享一下。
原文地址:http://www.jianshu.com/p/ccf124f1f74b
原文作者:sherlock221b
原文标题:屌爆了,完美调试 微信 webview(x5)
自从腾讯家族 移动 webview 入口换成了 x5 以来,业界褒贬不一,总体来说给开发者带来许多惊喜,其中最重要的就是微信 x5 调试能力,想想过去 码农们 苦逼的完成 code 本地浏览器一跑 ok 上微信 手 q 上 出现一堆兼容性的问题 惨不忍睹 过去微信 q 没有调试能力 只能借助 什么 weinre debugeap 等等 半吊子工具 凑合去使用
转眼 2015 微信已经开放 webview 调试能力 借助 chrome 调试不再是梦想 (换肤 断点调试 性能测试 控制台 等等 )
由于使用起来稍微有些复杂 以下按照模块方式介绍使用方式:
调试原理 借助 chrome 和 android adb 功能
1.下载最新微信 我用是 6.1
2.下载 TbsSuiteNew.apk 安装到手机中 地址 (http://res.imtt.qq.com///tbs_inspect/TbsSuiteNew.zip)
3.打开微信 进入聊天界面 (任意) 输入框内输入//deletetbs,点发送
输入//gettbs 可以查看当前 tbs 情况
4.打开 TbsSuiteNew 选择按照本地 tbs 内核
5.下载 tbs 调试包
应用包名 微信:com.tencent.mm,qq:com.tencent.mobileqq,qq 空间:com.qzone】
我们选择微信即可
6.启动 tbs 静默安装
7.登录微信,用微信访问一个页面,停留 1 分钟左右,目的是让微信来静默安装刚导入进去的 tbs_xxxx_inspector.apk 包
8.一分钟过后打开 TbsSuiteNew 检查是否安装成功.
这里还需要在检查下 打开微信 随便进入一个 webview 页面 然后长按页面文字是否有水滴 ,若有则成功
官网下载 android-sdk,执行 tools 文件夹下面的 android,然后选择 android sdk platform tools 安装
然后配置 android 环境变量 vim ~/.bash_profile
export ANDROID_TOOLS=/Users/sherlock/dev/android-sdk-macosx/platform-tools
export PATH=$PATH:$ANDROID_TOOLS
最后在 source .bash_profile 执行下环境变量 在控制台打出 adb 看是否已经配置 ok!
ps mac 下面 可能找不到国产设备可以按照以下方法尝试:
1.打开终端,system_profiler SPUSBDataType 命令 可以查看连接的 usb 设备的信息
2.我的是 MX4 PRO,设备的 vender id: 0x2a45 Product Id:0x0c02
vi ~/.android/adb_usb.ini
命令,在打开的 adb_usb.ini 文件中添加 0x2a45, 然后保存退出
adb kill-server
adb start-server
有时 adb devices 不能显示连接设备,需要拔掉数据线,多插几次,并且退出终端,然后重新打开,再输入命令就能发现连接的设备,再无法连接请重启电脑,等待系统初始化环境设置。
adb devices 就能查看到已经连接的设备
去 python(https://www.python.org/) 下载安装包安装 并且添加环境变量使得可以直接访问 python
下载 (http://res.imtt.qq.com///tbs_inspect/wx_sq_webview_debug.zip )
包中包含 inspector_client20150401.zip
adb 安装完成之后我们就可以启动调试服务了,将下载好的 wx_sq_webview_debug 解压 然后找到其中的 inspector_client20150401 解压 并且进入。(记得打开 usb 调试)
执行以下 python 命令 python ./inspector.py --abd 你自己的 adb 路径
python ./inspector.py --adb /Users/sherlock/dev/android-sdk-macosx/platform-tools/adb
可能遇到错误
device unauthorized. Please check the confirmation dialog on your device.
请在你自己设备上同意 usb 调试
最后启动成功
当 python 启动 ok 之后 我们就可以开心调试了,怎么做呢 ?
转载请注明出处 sherlock221b http://www.jianshu.com/p/ccf124f1f74b
至此至终 百年来的微信 webview 调试愿望 终于如愿以偿 ,从此我们可以告别 weinre debugap 等等不稳定工具 迎来新的曙光 感谢 TX 随着 x5 的能力不断 微信势必会成为未来 html5 的战场。
根据 x5 的描述来看 微信 手 q 和 qq 浏览器目前 已经独立继承了 x5 我们只需要安装其中任意一个 就可以体验 x5 带来的特性。 对第三方 app x5 sdk 也提供了 换掉本地 webview 的能力 具体可以了解下 x5 浏览服务 (http://x5.tencent.com/). 若第三方 app 也能集成 x5 那我们也就可以使用 这种调试方式 去调试自己 app 的 webview