更多文章参见: https://github.com/elevenbeans/elevenbeans.github.io

缘起

接了一个业务方的小需求,做一个代替 JS 原生confirm 功能的弹框。

弹框样式 UED 提供,不表,开发过程 easy,不表。

在做视觉还原+多机适配的时候,发现某手机中安装的 UC 浏览器下点击确认/取消/关闭弹框均不消失。于是在众多机器均安装了 UC 回归测试, 定位问题确实出在 UC 上面。

UC 调试环境准备

早前所在部门 App 均采用 UC 内核,有相关调试经验。然而因同属一个集团,相关的 debug 包,调试方法,均有 UC 技术部的支持。

自己尝试,过程如下:

1. 移动端下载并安装 UC 浏览器 Debug 版

Download 地址

注意: 安装成功不代表能用,试了自己的坚果手机,打开的时候显示初始化失败。借了测试人员的测试机器,成功。 可能需要 root 权限 =,=

===================== Updated 2017-06-06 ===================

最新的 Debug 包已经没有 root 权限的困扰了 : )

===================== End ===================

2. PC 安装 adb 工具包

这个工具包网上一搜一大把,但是注意 文件及动态链接库是否齐全.

Download adb

例如:window 下需有 adb.exe + AdbWinApi.dll + AdbWinUsbApi.dll + fastboot.exe

下载解压到你想存放的任何文件夹均可。

3. 连接移动设备开启调试

  • 移动设备连接 PC:采用 USB 直连,移动设备需开启 USB 调试模式,采用 WI-FI 连接,移动设备和 PC 需在同一网段
  • 运行 adb:打开 PC 终端, 进入 adb 可执行文件(如 adb.exe/adb.sh)所在目录,输入命令 adb,提示 “Android Debug Bridge …” 表示安装成功

===================== Updated 2017-06-06 ===================

最新的 Debug 包已经无需端口映射了 : ),直接chrome://inspect即可开启调试

===================== End ===================

  • 运行 端口映射:
1
adb forward tcp:9998 tcp:9998

当然,你也可键入 adb devices 命令,查看当前设备连接状态。如果 device 状态正常,此时,在手机上启动UC浏览器开发者版,并打开需要调试的页面,

PC 浏览器(推荐 Chrome)中输入 locahost:9998,便可开始前端调试。

常见问题:

  • UC 开发者版,安装好后打开失败:请用有 root 权限的手机
  • failed to start damon: 一定是 adb 运行所需库文件缺失,或者路径配置不对,详细 check 一下吧
  • device not found:检查你的手机和电脑的连接是否 OK,确认OK,检查一下是否正确安装了 UC debug 版,如果以上都 OK,那建议换手机
  • device offline: 检查手机是否开启 USB 调试模式,如果确认开启,则开关 USB 调试按钮重试,还是不OK的话,请检查 adb 工具版本是否足够新。最后,换手机 …

===================== Updated 2017-06-06 ===================

  • 新增一个 豌豆荚 大法,精准选择最合适的设备驱动

===================== End ===================

水落石出

UC 内核不支持 domObj.remove() 方法,哎。。。。。

统一使用:document.body.removeChild(element) 代替。

Over ~