移动端真机调试方法
chrome 真机调试
weinre 调试
spy-debugger 调试
chrome 真机调试
缺点:必须手机和 pc 都安装 chrome 浏览器,其他浏览器无效。
优点:简单快捷
方法:
手机端下载好 chrome 浏览器,使用 USB 连接到 PC,打开手机的 USB 调试模式。
然后在 PC 端打开 chrome 浏览器,在地址栏输入:chrome://inspect. 勾选 ”discovery usb device”。
然后在手机端浏览网页,就可以看到如下的页面,
点击 inspect,进行调试。
ps:如果手机端是 IOS 则需要在 MAC 下操作才可以。Windows 只能抓到安卓手机
wenire 真机调试
缺点:无法打断点优点:
weinre 调试方式,安装和适用不复杂,适用于全平台的调试,即任何手机的任何浏览器皆可以调试,不过需要手机和电脑在同一个网段下。*
方法:全局安装:
npm install – g weinre
局部安装:
npm install weinre
启动:
weinre –httpPort 8090 –boundHost -all-
weinew 启动参数说明
httpPort:设置 Wninre 使用的端口号,默认是 8080。
boundHost:[hostname | Ip | -all-]: 默认是‘localhost’。
debug [true | false]:这个选项与–verbose 类似,会输出更多的信息。默认为 false。
readTimeout [seconds]:Server 发送信息到 Target/Client 的超时时间,默认为 5s。
deathTimeout [seconds]:默认为 3 倍的 readTimeout,如果页面超过这个时间都没有任何响应,那么就会断开连接。
控制台启动截图:
启动了 weinre 之后,我们在浏览器中输入 localhost:8090. 显示如下界面,表示已经启动成功。
点击 ”debug client user interface”,进入调试页面。当前的 targets 中内容为空。
现在,我们需要做另外一点操作,在我们要调试的页面中,增加一个脚本。
<script src=”http://localhost:8090/target/target-script-min.js#anonymous”></script>
其中需要把 localhost 改成自己本机的 IP 地址
targets 已经不为 none,已经能捕捉到嵌入脚本的页面。
这时,我们就可以点击 Elements 进行调试。
这时候,在调试的时候,移动端的页面也同步更新。修改样式时,会在手机端即时生效,并且也可以查看控制台信息,唯一一点就是,不能进行断点调试。
最后,在调试结束之后,别忘记删除嵌入的 script。
spy-debugger 真机调试
优点:
方便,功能齐全
缺点:
安装稍微复杂一点
特点:
页面调试+抓包
操作简单
支持 HTTPS。
spy-debugger 内部集成了 weinre、node-mitmproxy、AnyProxy。
自动忽略原生 App 发起的 https 请求,只拦截 webview 发起的 https 请求。对使用了 SSL pinning 技术的原生 App 不造成任何影响。
可以配合其它代理工具一起使用 (默认使用 AnyProxy)
方法:TODO。。。