一种安卓应用校验方法、装置、设备及存储介质制造方法及图纸

技术编号:30437825 阅读:15 留言:0更新日期:2021-10-24 17:41
本发明专利技术公开了一种安卓应用校验方法、装置、设备及存储介质。在安卓应用打包完成后,得到打包文件,获取打包文件中的业务组件和功能函数,从获取到的功能函数中查找可支持业务组件的功能函数,在上述查找结果为空时,补充支持业务组件的功能函数。在安卓应用发布后,用户从应用商店下载安装,在运行安卓应用过程中,由于应用程序中各业务组件均具有支持的功能函数,因此,不会出现由于函数的支持问题导致的异常错误,提高了安卓应用程序的稳定性。提高了安卓应用程序的稳定性。提高了安卓应用程序的稳定性。

【技术实现步骤摘要】
一种安卓应用校验方法、装置、设备及存储介质


[0001]本专利技术实施例涉及安卓应用开发技术,尤其涉及一种安卓应用校验方法、装置、设备及存储介质。

技术介绍

[0002]随着智能移动终端的出现,涌现出了一批移动终端系统,如Android(安卓)系统是一种目前广泛应用的智能移动终端系统。
[0003]安卓系统的软件使用的编程语言是Java,并通过一些列的编译打包过程将编写的Java代码最终形成APK(Android Application Package)文件,用户可以从应用商店下载这些APK文件进行安装,在智能终端上得到相应的应用程序(Application,APP)。
[0004]目前,安卓应用程序在运行过程中经常会出现由于函数的支持问题导致异常错误,从而导致整个应用进程崩溃。

技术实现思路

[0005]本专利技术提供一种安卓应用校验方法、装置、设备及存储介质,以避免安卓应用程序在运行过程中出现异常错误,导致应用程序崩溃的问题,提高安卓应用程序的稳定性。
[0006]第一方面,本专利技术实施例提供了一种安卓应用校验方法,包括:
[0007]确定安卓应用打包完成,得到打包文件;
[0008]获取所述打包文件中的业务组件和功能函数;
[0009]从获取到的所述功能函数中查找可支持所述业务组件的功能函数;
[0010]在上述查找结果为空时,补充支持所述业务组件的功能函数。
[0011]第二方面,本专利技术实施例还提供了一种安卓应用校验装置,包括:
[0012]打包文件获取模块,用于确定安卓应用打包完成,得到打包文件;
[0013]获取模块,用于获取所述打包文件中的业务组件和功能函数;
[0014]查找模块,用于从获取到的所述功能函数中查找可支持所述业务组件的功能函数;
[0015]补充模块,用于在上述查找结果为空时,补充支持所述业务组件的功能函数。
[0016]第三方面,本专利技术实施例还提供了一种计算机设备,包括:
[0017]一个或多个处理器;
[0018]存储装置,用于存储一个或多个程序;
[0019]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术第一方面提供的安卓应用校验方法。
[0020]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术第一方面提供的安卓应用校验方法。
[0021]本专利技术实施例提供的安卓应用校验方法,在安卓应用打包完成后,得到打包文件,获取打包文件中的业务组件和功能函数,从获取到的功能函数中查找可支持业务组件的功
能函数,在上述查找结果为空时,补充支持业务组件的功能函数。在安卓应用发布后,用户从应用商店下载安装,在运行安卓应用过程中,由于应用程序中各业务组件均具有支持的功能函数,因此,不会出现由于函数的支持问题导致的异常错误,提高了安卓应用程序的稳定性。
附图说明
[0022]图1为本专利技术实施例一提供的一种安卓应用校验方法的流程图;
[0023]图2A为本专利技术实施例二提供的一种安卓应用校验方法的流程图;
[0024]图2B为本专利技术实施例提供的一种获取打包文件中Java层的本地方法和C函数层的C函数的流程示意图;
[0025]图3为本专利技术实施例三提供的安卓应用校验装置的结构示意图;
[0026]图4为本专利技术实施例四提供的一种计算机设备的结构示意图。
具体实施方式
[0027]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0028]实施例一
[0029]如前文所述,目前,安卓应用程序在运行过程中经常会出现由于函数的支持问题导致异常错误,从而导致整个应用进程崩溃。经专利技术人研究发现,出现这种异常错误主要是由于应用程序中用于实现业务功能的业务组件没有支撑的功能函数。而功能函数所在的安卓的软件开发工具包(Software Development Kit,SDK)大多为动态库,动态库在程序编译时并不会被连接到功能函数,而是在程序运行是才被载入。因此,如果业务组件没有对应的功能函数,在安卓应用的编译过程中,不会出现任何异常错误。在安卓应用程序发布后,安卓应用程序运行过程中,当需要启用某业务功能(例如,支付功能)而对应的执行业务组件时,则需要调用对应的功能函数,由于该业务组件没有对应的功能函数,从而在调用时就会抛出上述异常错误,导致整个应用进程崩溃。
[0030]针对上述问题,本专利技术实施例提供了一种安卓应用校验方法,能够在安卓应用发布之前对应用程序中的业务组件和功能函数进行校验,在业务组件缺乏支持的功能函数时,在应用程序中补充支持业务组件的功能函数,避免安卓应用程序在运行过程中出现异常错误,导致应用程序崩溃的问题,提高了安卓应用程序的稳定性。
[0031]图1为本专利技术实施例一提供的一种安卓应用校验方法的流程图,本实施例可适用于在安卓应用发布之前对应用程序中的业务组件和功能函数进行校验,避免安卓应用程序在运行过程中,由于业务组件缺乏支持的功能函数而出现异常错误情况,该方法可以由本专利技术实施例提供的安卓应用校验装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于计算机设备中,如图1所示,该方法具体包括如下步骤:
[0032]S101、确定安卓应用打包完成,得到打包文件。
[0033]安卓应用通常通过Android Studio或Gradle进行编译,本专利技术实施例在此不做限定。安卓应用的代码通常是用Java编写的,使用javac命令将Java源代码文件编译为class
文件。class文件包含标准的Oracle JVM Java字节码。但安卓设备不使用此字节码格式。相反,安卓有自己独特的字节码格式,称为Dalvik。Dalvik字节码与Oracle JVM Java字节码一样,是理论处理器的机器代码指令。编译过程中通过dx命令将class文件和任何jar库转换为包含Dalvik字节码的单个classes.dex文件。dx命令将所有class和jar文件拼接成一个以Dalvik字节码格式编写的classes.dex文件。然后通过Android Asset Packaging Tool或aapt将classes.dex文件和安卓应用中的资源(如图像和布局)打包为类似zip的文件,称为Android Package或APK文件(即打包文件)。
[0034]在上述编译过程中,可以通过编译任务反馈,确定安卓应用是否打包完成。例如,APK文件打包完成后,反馈一个表示打包任务完成的反馈信号,进而确定安卓应用打包完成,并获取该打包文件。
[0035]S102、获取打包文件中的业务组件和功能函数。
[0036]示例性的,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓应用校验方法,其特征在于,包括:确定安卓应用打包完成,得到打包文件;获取所述打包文件中的业务组件和功能函数;从获取到的所述功能函数中查找可支持所述业务组件的功能函数;在上述查找结果为空时,补充支持所述业务组件的功能函数。2.根据权利要求1所述的安卓应用校验方法,其特征在于,确定安卓应用打包完成,得到打包文件,包括:在安卓应用编译期间,查找打包任务完成标识符;在查找到所述打包任务标识符时,确定所述安卓应用打包完成,得到打包文件。3.根据权利要求1所述的安卓应用校验方法,其特征在于,所述业务组件包括Java层的本地方法,所述功能函数包括C函数层的C函数,获取所述打包文件中的业务组件和功能函数,包括:获取所述打包文件中Java层的本地方法和C函数层的C函数。4.根据权利要求3所述的安卓应用校验方法,其特征在于,获取所述打包文件中Java层的本地方法和C函数层中的C函数,包括:获取所述打包文件中的dex文件和so文件;从所述dex文件中查找本地方法;从所述so文件中查找以Java开头的目标C函数。5.根据权利要求4所述的安卓应用校验方法,其特征在于,从所述dex文件中查找本地方法,包括:从所述dex文件中解析出所有方法类型;从所有方法类型中查找描述符为Native的方法作为本地方法。6.根据权利要求4所述的安卓应用校验方法,其特征在于,从所述so文件中查找以Java开头的目标C函数,包括:从所述so文件中解析出所有函数类型;从所有函数类型中查找以Java开头的函数符号的C函...

【专利技术属性】
技术研发人员:黄帆缪定凡
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1