关♥生活,关注互联网。
由调试发表的日志
Android WebView 前端开发调试
3月 24th
在这次的参数RSA+AES加密需求(160310版本)中,由于涉及的接口众多,测试回归时需要在微信中到相关页面进行验证,工作量巨大,所以需要一个更高效率的移动端调测方式。
这篇文章要里介绍了连接和抓包,其中出现远程调试安卓Webview的截图,很多同事尝试时在列表中只能看到chrome中打开的页面,通过 这篇文章可以知道,原因是其他app可能没有开启webContentsDebuggingEnabled,chrome的安全策略限制了这些网址的展示,要突破这一限制,需要用到一款叫Xposed的APP 。
Xposed的原理是利用动态劫持,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。
平安内网标装机远程调试安卓webview的方法
1月 3rd
由于安全策略限制,我们的开发机只能连入内网,且需要经过标装。
平安内部主要用到两张网,一张是办公开发用的PA_WLAN,另一张是移动设备接入的MA网,开发机与测试机由于不在同一网段,也就只能上演人鬼情未了了(用Mac开发的土豪例外);
另一方面,标装过的机器木有管理员权限,无法通过共享wifi给手机来创建局域网环境,于是另一条路被宣告堵死。
以往的方法都不灵,只能另辟蹊径咯~ 最终希望寄托在连通二者的USB线。
微信webview远程调试
4月 5th
1月10日,微信公众平台对外开放了微信内网页开发工具包(微信JS-SDK)。在广大开发者和微信营销圈内产生了巨大反响。
JS-SDK在丰富了HTML5应用能力的同时,也带来了开发复杂度的提升。主要有以下几个方面:
- 微信webview中的缓存、localStorage等特性与原生浏览器的差异
- 盲人摸象隔靴搔痒,无法给臭虫最直接的打击
- 市面上的各种调试工具增加额外的学习成本,不如直接使用已熟手的 开发者工具。
在此背景下,开发者们需要一种更加便利的方式来面对挑战,提升效率。
IE浏览器URL最大长度2,083?
9月 27th
目前参与的项目中有个弹窗音乐播放器,使用url传参(模拟get方法)实现无刷新为播放器(弹窗)添加歌曲列表的功能。偶尔会遇到歌曲列表被截断的情况。仔细研究后发现只有在首次弹窗时发生问题,如果传参时播放器窗口已打开,则无此问题。
刚开始以为是脚本加载或执行过程中依赖关系处理不当导致此问题,而窗口已打开由于加载缓存文件较快不存在网速影响。直到今天安插debug脚本结合调试工具才发现真正的问题在于通过url传递的参数超长部分被截断了,诡异之处在于:播放同样的歌曲列表,按理说传递的参数包括参数长度都是一样的,如果是浏览器限制导致问题,给同样的参数应该产生相同的结果才对,而实际操作中却只在首次播放(弹窗口)时出现参数被截断的问题。
唯一可能导致问题的差异变量是目标窗口(以window.name标识)的存在情况,通过window.open打开一个指定name参数的窗口,如果该窗口不存在,则传递的url参数(字符串)长度超过2083部分被舍弃;若目标窗口存在,则url参数长度超过4113部分被舍弃。 More >