[发明专利]程序编辑方法及装置在审
申请号: | 201811205086.6 | 申请日: | 2018-10-16 |
公开(公告)号: | CN109445796A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 陈鸿图 | 申请(专利权)人: | 厦门美图移动科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 梁斌 |
地址: | 361000 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序运行状态 程序编辑 代码片段 业务开发 预设 源代码 程序源代码 程序编译 程序运行 网络状况 业务逻辑 侵入性 工作量 替换 透明 检测 申请 分析 | ||
本申请提供的程序编辑方法及装置,通过使用预设的代码片段对程序编译结果指定位置的代码进行替换,进而不用在程序源代码中每个对应的位置编写相应的源代码。其中,所述预设的代码片段在程序运行期间检测所述程序运行状态的数据。所述程序运行状态的数据用于分析网络状况。通过上述方法,减少业务逻辑上的侵入性,真正做到对业务开发人员完全透明,不增加业务开发人员额外的工作量。
技术领域
本申请涉及软件开发领域,具体而言,涉及一种程序编辑方法及装置。
背景技术
为了监控App的网络请求的耗时、上行流量、下行流量、访问信息、返回信息、成功结果、失败原因和各步骤耗时信息,为业务指标提供分析的基础数据;或者为了发现某地区、某运营商、某个时间段的用户群体所处的网络环境及为优化性能提供数据指标,需要监听并收集网络请求的数据。并将所收集的数据发送到服务端进行分析。现有的技术方案中,需要在代码中的每个发起网络请求的位置,编写相应的代码进行数据的收集,或者使用现有的网络请求库,针对各种网络请求事件设置回调监听的方式收集数据。现有技术都存在开发工作量大,对程序框架侵入性过强的缺点,同时针对没有源代码的第三方SDK,无法对网络通信数据的进行监听与收集。
发明内容
为了克服现有技术中的上述不足,本申请的目的在于提供一种程序编辑方法,应用于程序编辑设备,所述程序编辑设备预先配置有用于对程序的编译结果编辑的编辑工具,所述方法的步骤包括:
通过所述编辑工具获取并解析目标程序的编译结果。
在所述编译结果确定到预设的第一代码片段的位置。
通过所述编辑工具根据预设第二代码片替换掉所述第一代码片段,其中,所述第二代码片段为所述第一代码片段的具体实现,所述第二代码片段用于监听所述目标程序网络通信时的状态信息,所述状态信息包括所述程序的请求各个步骤起始时间、请求各个步骤结束时间、上行流量、下行流量、访问信息、返回信息、成功结果、失败原因和各步骤耗时信息。
可选地,所述编辑结果包括OkHttp组件库中的EventListener$2类以及所述EventListener$2类中的create(Call call)方法;所述在所述编译结果确定到预设的第一代码片段的位置的步骤包括:
在所述编译结果中查找所述EventListener$2类中的create(Call call)方法。
可选地,所述第二代码片段用于返回继承自EventListener的子类的对象。
可选地,所述继承自EventListener的子类包括重写了所述父类EventListener中用于监听网络通信的方法,所述用于监听网络通信的方法在所述目标程序网络通信时,依次被调用。
可选地,所述通过所述编辑工具获取并解析目标程序的编译结果还包括步骤:
基于预设的程序构建流程,获得所述编译结果,所述预设的程序构建流程包括有对程序编译结果进行修改的流程。
本申请的另一目的在于提供一种程序编辑装置,应用于程序编辑设备,所述程序编辑设备预先配置有用于对程序的编译结果编辑的编辑工具,所述程序编辑装置包括编译结果获取模块、代码片段位置确定模块和代码编辑模块。
所述编译结果获取模块用于通过所述编辑工具获取并解析目标程序的编译结果。
所述代码片段位置确定模块用于在所述编译结果确定到预设的第一代码片段的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门美图移动科技有限公司,未经厦门美图移动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811205086.6/2.html,转载请声明来源钻瓜专利网。