H5 App调试方法参考

作者: 光剑书架上的书 | 来源:发表于2017-04-24 15:20 被阅读3967次

H5调试常见方法

相较于pc端,移动端调试要更加丰富一些,下面对调试的方法进行简单汇总。
主要分为以下几点:

chrome developer tools
android+chrome inspect
iOS+safari
GapDebug
weinre
weinre相关套件
代理

chrome developer tools

除了chrome,Firefox中的调试工具也较为类似,Firefox有个小优势就是代理工具charles支持直接开启Firefox的代理服务(需要安装Firefox的charles插件)。
特点
调试简单,进行响应式布局、性能优化、网络环境模拟等比较方便,缺点是非真机无法调试webviewjsbridge及发现真机中存在的问题。
适用范围
页面响应式调试,适合开发初始阶段,还可进行性能优化分析,前端开发乃至后端开发人员必备技能。
android+chrome inspect
===

特点
使用chrome inspect调试android设备(包括模拟器)中的网页,访问chrome://inspect
即可看到连接设备以及可调试页面。
初次使用chrome inspect需要翻墙

适用范围
调试4.4以上版本android设备上app内的webview及chrome中的网页。
调试webview需要打开app的debug模式,WebView.setWebContentsDebuggingEnabled(true);

模拟器

目前常用的为genymotion,基于virtualbox内核,所以首先需要安装virtualbox。genymotion对virtualbox启动的模拟器作了一系列优化工作,比如ROM下载、移动设备模拟命令菜单(比如旋屏、开启摄像头)等。 另外还有Parallels可供选择,也能下载android ROM进行安装。
iOS+safari

特点
使用pc端的safari调试iOS设备中的网页,可进行真机远程调试,也可调试模拟器。
适用范围
调试iOS设备(包括模拟器)上的webview及safari中的网页。

如果调试safari,直接打开模拟器,使用pc中的safari就可识别到调试网页,而调试webview,则需要安装debug包(由于是运行在pc上,需x86打包)。
简单步骤如下:
安装xcode命令行工具 xcode-select --install

创建模拟器 xcrun simctl create "demo"

启动模拟器 xcrun instruments -w 'demo'

安装app xcrun simctl install booted /path/to/Your.app

GapDebug

特点

跨平台,应用是个web页面,同时集成了Safari和Chrome的调试工具,可运行在windows和mac平台上

依赖少,只需一个Chrome就能使用Safari和Chrome的调试工具
统一管理,在同个界面显示了iOS设备和Android设备及其调试页
一些实用小功能,如截屏、设备控制、app安装等

适用范围
iOS设备和4.4以上版本Android设备(及其模拟器)上的webview和网页。

weinre

特点
适用范围广,在调试页面中加载weinre提供的一个js脚本,即可在weinre inspect面板中进行调试。
安装步骤如下(npm安装方式):
安装 npm install -g weinre

启动 weinre --boundHost -all-
,默认端口是8080,可添加配置--httpPort 8888
改变端口为8888
配置脚本 访问http://localhost:8080
,将target script加入到调试页面中

详细配置及其它安装方式可参见官方文档
适用范围
一般在开发过程中进行调试,不支持USB调试的真机设备可用该方法,官方声明可调试的范围如下:
Android 2.2 Browser application
Android 2.2 w/PhoneGap 0.9.2
iOS 4.2.x Mobile Safari application
BlackBerry v6.x simulator
webOS 2.x (unspecified version)

weinre相关套件
MIHTool
MIHTool是weinre的app集成版本,仅有iOS版本可供安装,例举几个特点:
自动注入weinre所需脚本
支持webview js bridge api的模拟(如果app端还未完成开发)
支持在控制台直接require各种包方便调试、ipad端支持
ipad端还支持在设备中显示类似chrome的开发者工具

与第4点类似提供设备中的开发者工具显示,还有eruda,可以访问http://liriliri.github.io/eruda/查看效果。

spy-debugger

spy-debugger是weinre的扩展版,执行

npm install spy-debugger -g

即可完成安装,启动后配置设备代理即可进行调试。 主要特点如下:
通过代理拦截html自动注入所需调试脚本
集成了代理功能,默认使用AnyProxy,也可配置其他代理
支持https,可拦截webview及浏览器发起的请求

代理

以上涉及移动端设备(包括模拟器)的调试方式均可配合代理一同使用,在移动端设备中配置http/https代理,将线上资源代理到本地,使改动即时生效并看到效果。
常用的代理工具主要有fiddle和charles,代理工具上提供的功能很多,但调试过程中的打开方式一般有以下两种:
直接设置设备的代理服务器为本机,截获请求查询数据,排查异常信息,属于问题定位阶段
除了设置代理服务器,另外配置一些资源的代理路径为本地资源,实时查看代码运行情况,属于问题解决阶段, 平时开发过程也可用该方法代理线上资源进行调试

总结

上面对各类调试方法进行了大致介绍,每个方法都有各自的特点和适用场景。
响应式调试中,使用Chrome DevTools即可快速查看多设备显示效果和实时调节,另外还有Ghostlab也是响应式调试的好工具,有着和broswer-sync一样的多设备多窗口同步功能;
进一步的真机(模拟器)调试,高版本Android设备配合chrome,iOS设备配合Safari,使用GapDebug则更为方便,统一了iOS和Android设备的调试入口;
而其它无法使用chrome和Safari进行调试的情况,比如一些低端机型的兼容问题,使用weinre或其相关套件进行调试;
再配合代理的资源本地映射,能够更为方便地调试线上环境出现的问题;
实际开发中,还是需要在合适的时机选择合适的调试方式。

相关文章

  • H5 App调试方法参考

    H5调试常见方法 相较于pc端,移动端调试要更加丰富一些,下面对调试的方法进行简单汇总。主要分为以下几点: chr...

  • uniapp网络调试问题汇总

    1. 真机调试有时无法显示打印信息,但是h5端可以(原因未知) 2. h5端调试时,跨域问题参考uni-app之浏...

  • H5分享系列三----ionic+flexbox+打包

    大纲版本 青岩App体验 H5 App H5 + flexbox 布局 为了便于调试、不重度依赖ionic,提倡尽...

  • macOS 调试任意webview

    关于iOS 调试任意webview 可以参考 Tweak 全局开启任意 App 的 WebView 调试本篇参考该...

  • vue与原生app交互

    原生app调用h5方法,首先,app和h5先定义相同的方法名,例如:getParam vue写法如下 h5调用ap...

  • 2018-12-24 JNA调试 : eclipse + Vs

    参考文章《Jni 调试 : eclipse + Vs 联合调试》发现jna也可以按类似的方法调试,方法如下: 1、...

  • H5与App的交互

    H5 与App的相互调用/传值 h5 与 App 交互有以下几种方式: 方法一:URL 传参 App 通过 URL...

  • 如何调试手机上的页面?

    一. 如何调试手机上的页面 参考safari调试iPhone app web页面进行相关配置,就可以在mac上调试...

  • fiddler抓包工具

    前言: H5页面内嵌app的时候 ,出了bug ,调试的时候就需要抓包,需要把地址获取到,在浏览器打开 以便调试 ...

  • 获取&修改cookie几种方式及扩展

    背景:嵌入app的H5页面,是在app登录的前提下才能进入到这个H5页面,想在PC端浏览器调试这个页面,就需要从a...

网友评论

    本文标题:H5 App调试方法参考

    本文链接:https://www.haomeiwen.com/subject/vgrpzttx.html