一种应用安装方法、应用安装包的生成方法技术

技术编号:21951805 阅读:46 留言:0更新日期:2019-08-24 17:29
本申请公开了一种应用安装方法、应用安装包的生成方法;上述应用安装方法,包括:获取经过dex2oat操作优化后的应用安装包;基于应用安装包,进行应用安装操作;其中,应用安装操作跳过dex2oat操作。本申请能够提高应用安装速度。

A Generation Method of Application Installation Method and Application Installation Package

【技术实现步骤摘要】
一种应用安装方法、应用安装包的生成方法
本申请涉及但不限于计算机
,尤其涉及一种应用安装方法、应用安装包的生成方法。
技术介绍
随着终端设备(比如,手机、笔记型电脑等便携式终端,或者台式电脑等固定终端)的配置越来越高,显示效果越来越好,应用(APP,Application)占用的空间也越来越大,动辄都几十MB(兆)甚至几百MB,随之而来的是APP下载安装的速度越来越慢,常用APP的安装都需要几十秒甚至更长时间。而且,随着APP安装包越来越大,APP新安装或者覆盖安装时的速度慢、效率低,导致用户体验不佳。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本申请实施例提供一种应用安装方法、应用安装包的生成方法,能够提高应用安装速度。第一方面,本申请实施例提供一种应用安装方法,包括:获取应用安装包,其中,所述应用安装包经过以下操作优化:将dex字节码编译成oat格式的可执行文件;基于所述应用安装包,进行应用安装操作;其中,所述应用安装操作跳过所述将dex字节码编译成oat格式的可执行文件的操作。第二方面,本申请实施例提供一种应用安装包的生成方法,包括:对一应用进行文件编译之后,执行将dex字节码编译成oat格式的可执行文件的操作,得到优化后的应用文件;打包所述优化后的应用文件,生成所述应用的应用安装包。第三方面,本申请实施例提供一种终端设备,包括:第一存储器以及第一处理器,所述第一存储器适于存储应用安装程序,所述应用安装程序被所述第一处理器执行时实现上述第一方面提供的应用安装方法的步骤。第四方面,本申请实施例提供一种计算设备,包括:第二存储器以及第二处理器,所述第二存储器适于存储应用安装包的生成程序,所述生成程序被所述第二处理器执行时实现上述第二方面提供的应用安装包的生成方法的步骤。此外,本申请实施例还提供一种计算机可读介质,存储有应用安装程序,所述应用安装程序被处理器执行时实现上述第一方面提供的应用安装方法的步骤。此外,本申请实施例还提供一种计算机可读介质,存储有应用安装包的生成程序,所述生成程序被处理器执行时实现上述第二方面提供的应用安装包的生成方法的步骤。在本申请实施例中,获取经过dex2oat操作(将dex字节码编译成oat格式的可执行文件的操作)优化后的应用安装包;基于应用安装包,进行应用安装操作;其中,应用安装操作跳过dex2oat操作。本申请实施例中,提供预优化后的应用安装包,并且在应用安装过程跳过dex2oat操作,从而提高应用安装速度,提升用户体验。在阅读并理解了附图和详细描述后,可以明白其他方面。附图说明图1为本申请实施例提供的应用安装方法的流程图;图2为本申请实施例提供的应用安装操作过程的示例图;图3为本申请实施例中可执行文件解析过程的示例流程图;图4为本申请实施例中指令执行过程的示例流程图;图5为本申请实施例提供的应用安装装置的示意图;图6为本申请实施例提供的应用安装包的生成方法的流程图;图7为本申请实施例提供的应用安装包的生成装置的示意图;图8为本申请实施例提供的终端设备的示意图。具体实施方式以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本申请实施例提供的应用安装方法的流程图。本实施例提供的应用安装方法可以由终端设备(比如,手机、笔记型电脑等便携式终端,或者台式电脑等固定终端)执行。然而,本申请对此并不限定。如图1所示,本实施例提供的应用安装方法,包括:S101、获取应用安装包,其中,应用安装包经过以下操作优化:将dex字节码编译成oat格式的可执行文件;换言之,在本步骤,获取经过dex2oat操作优化后的应用安装包;S102、基于应用安装包,进行应用安装操作,其中,应用安装操作跳过dex2oat操作。本实施例提供的应用安装方法能够用于提高安卓应用的安装速度,进而提升安卓用户的使用体验。本实施例中,终端设备可以从应用商城或应用下载网站下载预优化后的应用安装包,然后进行应用新安装或覆盖安装操作。其中,预优化后的应用安装包可以包括已经过dex2oat操作优化后的各种文件,比如,DEX文件、JAR文件、APK文件等。本实施例中,dex2oat操作指将dex字节码编译成oat格式的可执行文件的操作。在本实施例中,在下载应用安装包之后,可以加载DEX文件到内存中,并将相应的资源文件解析并复制到系统安装目录;然后,将class.dex文件解压到系统安装路径。其中,当执行到安装指令dex2oat时,跳过此指令执行,而将预编译时期生成的odex文件(即预优化之后的DEX文件)安装到系统路径。其他指令的执行不影响。图2为本申请实施例的应用安装操作过程的示例图。如图2所示,在本实施例中,执行应用安装操作,可以包括:S1021、解析应用安装包;S1022、根据解析结果,进行信息校验和注册;S1023、进行应用权限更新操作。其中,在S1021完成对应用安装包中xml文件的读取,可以得到所申请权限、所用的各种组件(比如,Activity)、广播、服务等;在S1022中,可以校验权限和签名是否正确,并完成对广播、服务等的注册;在S1023中,根据预优化的应用安装包内的可执行文件(比如,DEX文件),通知系统对应用所有的组件及组件申请的权限进行加载和更新。上述过程结束后,可以启动应用。在示例性实施方式中,S102可以包括:基于应用安装包内已注入的代码,执行应用安装操作。在本示例中,在应用安装过程中可以直接使用预先进行的dex2oat操作得到的DEX文件,并且通过代码注入技术,使得应用安装流程跳过dex2oat操作,从而提高应用安装速度。在示例性实施方式中,S102可以包括:基于应用安装包的可执行文件中已注入的挂钩(Hook)点,执行应用安装操作。其中,在执行应用安装操作过程中,跳过dex2oat指令(即将dex字节码编译成oat格式的可执行文件的指令)。本示例所采用的代码注入技术为Hook技术。Hook技术指过滤(或叫挂钩)消息的技术,指过滤一些关键函数调用,在函数执行前,先执行自定义的挂钩函数,从而达到监控函数调用,改变函数功能的目的。在本示例中,基于应用安装包的可执行文件中已注入的Hook点,执行应用安装操作,可以包括:基于可执行文件中注入的第一Hook点,在可执行文件的解析过程中,跳过加载dex2oat指令;基于可执行文件中注入的第二Hook点,在指令执行过程中,跳过执行dex2oat指令。示例性地,基于可执行文件中注入的第一Hook点,在可执行文件的解析过程中,跳过加载dex2oat指令,可以包括:运行函数read()从内存读取内容时,若读取到第一Hook点,则跳转至自定义函数read_handle()的开始地址,以跳过加载dex2oat指令。示例性地,基于可执行文件中注入的第二Hook点,在指令执行过程中,跳过执行dex2oat指令,可以包括:运行函数execv()从内存读取并执行指令时,若读取并执行到第本文档来自技高网...

【技术保护点】
1.一种应用安装方法,其特征在于,包括:获取应用安装包,其中,所述应用安装包经过以下操作优化:将dex字节码编译成oat格式的可执行文件;基于所述应用安装包,进行应用安装操作;其中,所述应用安装操作跳过所述将dex字节码编译成oat格式的可执行文件的操作。

【技术特征摘要】
1.一种应用安装方法,其特征在于,包括:获取应用安装包,其中,所述应用安装包经过以下操作优化:将dex字节码编译成oat格式的可执行文件;基于所述应用安装包,进行应用安装操作;其中,所述应用安装操作跳过所述将dex字节码编译成oat格式的可执行文件的操作。2.根据权利要求1所述的方法,其特征在于,所述基于所述应用安装包,进行应用安装操作,包括:基于所述应用安装包内已注入的代码,执行应用安装操作。3.根据权利要求2所述的方法,其特征在于,所述基于所述应用安装包内已注入的代码,执行应用安装操作,包括:基于所述应用安装包的可执行文件中已注入的挂钩Hook点,执行应用安装操作。4.根据权利要求3所述的方法,其特征在于,所述基于所述应用安装包的可执行文件中已注入的挂钩Hook点,执行应用安装操作,包括:基于所述可执行文件中注入的第一挂钩Hook点,在所述可执行文件的解析过程中,跳过加载将dex字节码编译成oat格式的可执行文件的指令;基于所述可执行文件中注入的第二挂钩Hook点,在指令执行过程中,跳过执行所述将dex字节码编译成oat格式的可执行文件的指令。5.根据权利要求4所述的方法,其特征在于,所述基于所述可执行文件中注入的第一挂钩Hook点,在所述可执行文件的解析过程中,跳过加载将dex字节码编译成oat格式的可执行文件的指令,包括:运行函数read()从内存读取内容时,若读取到第一挂钩Hook点,则跳转至自定义函数read_handle()的开始地址,以跳过加载所述将dex字节码编译成oat格式的可执行文件的指令。6.根据权利要求4所述的方法,其特征在于,所述基于所述可执行文件中注入的第二挂钩Hook点,在指令执行过程中,跳过执行所述将dex字节码编译成oat格式的可执行文件的指令,包括:运行函数execv()从内存读取并执行指令时,若读取并执行...

【专利技术属性】
技术研发人员:李焰峰张建
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1