[发明专利]一种异常定位处理方法、装置、电子设备及存储介质在审
申请号: | 202110730145.7 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113791966A | 公开(公告)日: | 2021-12-14 |
发明(设计)人: | 于卫国 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/07 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 定位 处理 方法 装置 电子设备 存储 介质 | ||
本发明提供了一种异常定位处理方法、装置、电子设备及存储介质。所述方法,包括:通过自定义的Gradle插件,获取所述目标工程中指定类型的目标文件,所述指定类型的目标文件包括class文件、jar文件、arr文件中的至少一种;遍历每个所述目标文件中的每个class文件,并获取每个所述class文件的class相关信息;所述class相关信息至少包括所述class文件所调用对象的对象标识,所述对象包括方法、接口中的至少一种;基于每个所述class文件的class相关信息,根据所述Gradle插件中配置的异常定位条件,获取符合所述异常定位条件的目标class文件,所述异常定位条件至少包括调用指定对象。
技术领域
本发明涉及计算机技术领域,尤其涉及一种异常定位处理方法、装 置、电子设备及存储介质。
背景技术
一个应用程序通常会集成很多第三方aar(Android Archive,是一个 Android库项目的二进制归档文件)和集团内部SDK提供的一些能力,例如 推送、认证、直播等功能,但是,应用程序运行过程中,经常会遇到一些 崩溃问题,而且可能会存在一些崩溃问题的原因无法通过堆栈信息进行快 速定位。
相关技术中,为了定位崩溃问题原因,一般会将apk(AndroidPackage, Android安装包)使用反编译工具反编译后进行全局搜索,但是,当apk文 件较大时反编译工具会报出内存泄露问题或者由于apk加固导致反编译失 败。同样会影响发生崩溃时的快速定位和崩溃修复。
发明内容
本发明实施例提供一种异常定位处理方法、装置、电子设备及存储介 质,以解决现有的崩溃异常定位不准确的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种异常定位处理方法,包括:
通过自定义的Gradle插件,获取所述目标工程中指定类型的目标文 件,所述指定类型的目标文件包括class文件、jar文件、arr文件中的至少一 种;
遍历每个所述目标文件中的每个class文件,并获取每个所述class文件 的class相关信息;所述class相关信息至少包括所述class文件所调用对象 的对象标识,所述对象包括方法、接口中的至少一种;
基于每个所述class文件的class相关信息,根据所述Gradle插件中配置 的异常定位条件,获取符合所述异常定位条件的目标class文件,所述异常 定位条件至少包括调用指定对象。
可选地,在所述通过自定义Gradle插件,获取所述目标工程中指定类 型的目标文件的步骤之前,还包括:
创建一自定义Gradle插件工程,并在所述Gradle插件工程中创建一个 Gradle插件类;
在所述Gradle插件类中创建一个Transform类,以获取工程中指定类型 的目标文件;
所述Transform类中至少还包括目标逻辑代码,所述目标逻辑代码执行 以遍历每个所述目标文件中的每个class文件,并获取每个所述class文件的 class相关信息;基于每个所述class文件的class相关信息,根据所述Gradle 插件中配置的异常定位条件,获取符合所述异常定位条件的目标class文 件;
在所述目标工程中引入所述Gradle插件工程,并在所述Gradle插件工 程中配置针对所述目标工程的异常定位条件。
可选地,所述基于每个所述class文件的class相关信息,根据所述 Gradle插件中配置的异常定位条件,获取符合所述异常定位条件的目标 class文件的步骤,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110730145.7/2.html,转载请声明来源钻瓜专利网。