[发明专利]一种对应用程序进行打点的方法和系统在审
申请号: | 201710138953.8 | 申请日: | 2017-03-09 |
公开(公告)号: | CN106990955A | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 刘一琛;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 汤财宝 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 进行 打点 方法 系统 | ||
技术领域
本发明涉及计算机应用程序维护技术,更具体地,涉及对应用程序进行打点的方法和系统。
背景技术
在android开发过程中,应用程序为了定位各个功能点的使用情况以及对用户的使用行为进行分析,一般需要在应用程序当中添加打点事件,比如用户点击了某个按钮的频率等等。
但是随着产品的更新迭代,需要添加的打点位置越来越多,同时打点的代码也越来越多,如果还是按照传统思路,代码在维护以及修改上会越来越困难,不仅增加了开发人员的工作量,还对代码的稳健性增加了隐患。因此,如何有效的解决这个问题,就成了迫在眉睫的事情。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的对应用程序进行打点的方法和系统。
根据本发明的一个方面,提供一种对应用程序进行打点的方法,包括:
S1、在应用程序编译期,遍历所有字节码文件,将字节码文件依次与打点文件中的打点类的信息和需要打点的函数的信息进行匹配;以及
S2、对匹配成功的字节码文件中的函数,调用对应的打点函数进行打点。
根据本发明的另一个方面,提供一种对应用程序进行打点的系统,包括:
匹配模块,用于在应用程序编译期,遍历所有字节码文件,将字节码文件依次与打点文件中的打点类的信息和需要打点的函数的信息进行匹配;以及
打点模块,用于对匹配成功的字节码文件中的函数,调用对应的打点函数进行打点。
本申请提出一种对应用程序进行打点的方法和系统,依靠预编译技术,在应用程序的编译期间修改字节码文件,能够动态批量添加打点函数,从而保证业务逻辑的开发人员无需在代码中手动添加打点函数,并且通过创建包含打点相关信息的打点文件,使得开发人员只需要维护一个打点文件,减少了开发人员的工作量以及程序的bug率,同时还减少后期的维护代码的风险。
附图说明
图1为根据本发明实施例的一种对应用程序进行打点的方法的流程示意图;
图2为根据本发明实施例的步骤S1的流程示意图;
图3为根据本发明实施例的步骤S1.2的流程示意图;
图4为根据本发明实施例的一种对应用程序进行打点的系统的结构框图;
图5为根据本发明实施例的另一种对应用程序进行打点的系统的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术中,随着产品的更新迭代,需要添加的打点位置以及打点函数逐渐增多,带来的打点函数在维护以及修改上会越来越困难的问题,本发明提供了一种对应用程序进行打点的方法。
图1示出了本发明实施例的一种对应用程序进行打点的方法的流程示意图,本方法包括:
S1、在应用程序编译期,遍历所有字节码文件,将字节码文件依次与打点文件中的打点类的信息和需要打点的函数的信息进行匹配。在android平台,class文件会进一步优化成一个或者多个dex文件,dex即Dalvik VM executes,是Android Dalvik执行程序,由于生成dex文件后无法再对其进行代码级别的修改,所以需要在将class文件转换到dex文件这个时间段(即编译期)插入打点函数。
S2、对匹配成功的字节码文件中的函数,调用对应的打点函数进行打点。
本申请提出一种对应用程序进行打点的方法和系统,依靠预编译技术,在应用程序的编译期间修改字节码文件,能够动态批量添加打点函数,从而保证业务逻辑的开发人员无需在代码中手动添加打点函数,并且通过创建包含打点相关信息的打点文件,使得开发人员只需要维护一个打点文件,减少了开发人员的工作量以及程序的bug率,同时还减少后期的维护代码的风险。
在一个可选实施例中,步骤S1之前还包括:
S0、创建打点文件,所述打点文件中包含一定数量的需要打点的打点类的信息、每个打点类中需要打点的函数的信息以及对每个需要打点的函数进行打点的打点函数的信息。
Java语言中所有的Java类,在编译时首先会生成字节码文件,即class文件,字节码文件主要为了实现特定软件运行,在本发明,特定软件指的就是打点程序。显然,为了在应用程序进行打点(也就是插入打点函数),应该在字节码文件中打点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710138953.8/2.html,转载请声明来源钻瓜专利网。