What
最近,公司里的老司机在帮测试测app的时候,发现一个bug:android端,用webview打开一个活动页,点击活动页中的音乐进行播放,退出webview之后音乐仍在继续播放。
这个bug之前在浏览技术文章的时候有见过,不过当时只是了解了大致的原因,在脑子里做了个问题的索引,并没有索引解决办法。
不过大致方向有了,就和老司机说“这个bug我来解”
公司的服务端维护一份错误码文件:errorCode.json,同时客户端也需要根据这样一份错误码对用户进行提示,错误码Sample如下:
平时都是服务器的同学在群里说 “加了xxx协议,更新了错误码 -。-” 客户端的同学才会去errorCode.json所在的项目(项目计划)更新项目,然后复制出来放到自己的应用项目中。
这么操作,一来可能会让错误码更新不及时;二来这份文件返回的msg对用户并不友好,有时候需要我们手动设置对应的错误提示,代码中设置并不是一个好的选择,所以我们打算改造这份错误码,添加一些自定义的消息,如果存在自定义消息则使用自定义消息(这些不在本篇文章的讨论范围),改造后的json如下:
然后就出现了这么一个需求:
自动更新我们项目中的errorCode.json文件,同时要把我们的自定义消息合并进去。
后来想想正好用git + jenkins hooks的方式:当有更新push到GitLab(我们内部使用的git管理平台)的时候,调用jenkins的project hook去自动执行相应的job,这个job是个shell脚本,有三步操作:
我们可以用它在Chrome DevTools下查看应用的布局、网络请求、Sqlite、SharedPreference并能通过js来调试代码(使用js进行调试的时候FB只做了初步封装,使用起来会比较麻烦,需要自己进一步封装)