定位定界方法问题排查:编译构建正向排查,怀疑是混淆导致,关闭混淆后验证仍然有问题。对比编译产物差异,debug和release的abc文件差别很大,debug包的abc文件是31MB,release包的abc文件是11MB,分析hilog日志没有模块加载异常,加载不显示的web页面前后没有异常日志点。DevTools调试工具DevTools 是一个 Web前端开发调试工具,提供了电脑上调试移动设备前端页面的能力。开发者通过setWebDebuggingAccess()接口开启Web组件前端页面调试能力,利用DevTools工具可以在电脑上调试移动设备上的前端网页。非root手机必须按照官网文档设置打开可调试接口root手机可使用批处理命令一键赋能调试能力,见附件webDebug使用devtools工具打开电脑浏览器调试,查看“Console”,没有报错日志,排查下一项。查看“Elements”,发现财富页面顶部web加载的在线html页面,标签<div id="app"\>内容为空,资源没有请求到:查看“Network”,操作步骤当前页面调试窗口切换到“Network”然后点一次刷新,对比这个页面在两个版本请求的资源,发现有两处差异,差异1:UA不同,差异2:异常的页面缺少msid资源请求:分析差异通过DevTools调试工具分析发现有两处差异,继续分析差异对应用的影响:差异1:usage-agent不同,用正常显示的ua替换异常页面的ua,替换方法如下,在第4步处填入正常的ua,操作后异常页面仍然没有显示内容,证明跟ua没有关系,排除可疑: 差异2:异常的页面缺少msid资源请求,页面向服务器请求但是没有响应,怀疑请求被服务器拦截,需要重点排查,经确认是缺少msid导致。问题根因通过对比两个版本的差异点,找出异常页面缺少msid资源,由于增加了Release模式检测,然后导致monitor.auto.browser.min.js文件的路由被拦截,之前的beta和Release的逻辑没问题,新版本被新提交代码给覆盖,导致beta的赋值逻辑变了。
定位定界方法
问题排查:
DevTools调试工具
DevTools 是一个 Web前端开发调试工具,提供了电脑上调试移动设备前端页面的能力。开发者通过setWebDebuggingAccess()接口开启Web组件前端页面调试能力,利用DevTools工具可以在电脑上调试移动设备上的前端网页。
使用devtools工具打开电脑浏览器调试,查看“Console”,没有报错日志,排查下一项。
查看“Elements”,发现财富页面顶部web加载的在线html页面,标签<div id="app"\>内容为空,资源没有请求到:
查看“Network”,操作步骤当前页面调试窗口切换到“Network”然后点一次刷新,对比这个页面在两个版本请求的资源,发现有两处差异,差异1:UA不同,差异2:异常的页面缺少msid资源请求:
分析差异
通过DevTools调试工具分析发现有两处差异,继续分析差异对应用的影响:
差异1:usage-agent不同,用正常显示的ua替换异常页面的ua,替换方法如下,在第4步处填入正常的ua,操作后异常页面仍然没有显示内容,证明跟ua没有关系,排除可疑:
差异2:异常的页面缺少msid资源请求,页面向服务器请求但是没有响应,怀疑请求被服务器拦截,需要重点排查,经确认是缺少msid导致。
问题根因
通过对比两个版本的差异点,找出异常页面缺少msid资源,由于增加了Release模式检测,然后导致monitor.auto.browser.min.js文件的路由被拦截,之前的beta和Release的逻辑没问题,新版本被新提交代码给覆盖,导致beta的赋值逻辑变了。