一种Android系统启动的方法及装置、Android移动终端与流程

文档序号:11917733阅读:235来源:国知局
一种Android系统启动的方法及装置、Android移动终端与流程

本发明属于通信技术领域,尤其涉及一种android系统启动的方法及装置、android移动终端。



背景技术:

安卓(android)系统是一种基于Linux的开源移动操作系统,主要应用于手机、平板电脑、电视机、手表等智能终端上。在安卓系统中,主要包括操作系统、中间件、用户界面和应用程序,其中,应用程序是通过其apk(androidpackage,安卓安装包)来安装使用的。

Android系统每次启动均需要对系统中所有应用程序安装包,即对后缀为.apk的文件进行扫描安装,该过程在系统启动过程中串行执行,一般情况(以系统预装120个应用程序安装包为例)包管理服务的启动耗时5~6秒。如果用户安装了更多的第三方应用,则包管理服务的启动耗时则呈线性增长。该耗时会直接累计到系统启动时间,导致开机时间长,用户体验比较差。与手机使用电池供电情况不同(可以待机或长时间开机状态),电视设备会经常断电,电视系统启动时间长(上电开机)对用户体验影响更为明显,亟待优化改善。



技术实现要素:

本发明实施例提供了一种android系统启动的方法及装置、移动终端,旨在解决现有技术的Android系统启动时扫描应用程序安装包的效率较低的问题。

本发明实施例是这样实现的,一种Android系统启动的方法,包括:

包管理服务启动,创建线程池,所述线程池包括两个以上的执行线程;

将Android系统的应用程序安装包派给所述两个以上的执行线程进行并行解析;并基于解析结果对所述应用程序安装包进行安装;

更新应用程序的设置参数,将所述应用程序的设置信息进行存储。

优选地,所述将Android系统的应用程序安装包派给所述两个以上的线程进行并行解析;并基于解析结果对所述应用程序安装包进行安装具体包括:

为每一所述应用程序安装包创建解析任务;

创建任务分派线程;

所述任务分派线程遍历所述应用程序安装包,逐一将所述应用程序安装包的解析任务分派给所述执行线程;

所述执行线程执行解析任务,获得所述应用程序安装包的解析结果,所述解析结果至少包括应用程序及对应的配置信息;

基于所述配置信息对对应的应用程序进行安装。

优选地,所述基于所述配置信息对对应的应用程序进行安装具体包括:

获取所述应用程序安装包的配置信息;

基于所获取的配置信息对对应的应用程序进行安装。

优选地,所述获取所述应用安装包的配置信息具体包括:

判断是否在哈希表中检索到对应的配置信息;

当检索到时,从所述哈希表中获得对应的配置信息;

当未检索到时,则确认所述应用安装包未被解析,则对所述应用安装包进行解析,并基于解析结果对对应的应用程序进行安装。

优选地,所述获取所述应用安装包的配置信息还包括:

判断所述android系统是否为升级后的首次启动;

当判断为是时,获取所述应用程序的二进制接口类型;

存储所获取的二进制接口类型。

优选地,所述当判断为是时,获取所述应用程序的二进制接口类型具体包括:

判断所述应用程序的属性,所述属性为预装或后装;

当判断为预装时,基于所述应用程序安装包的目录结构来获取对应的二进制接口类型;

当判断为后装时,判断所述应用程序的配置信息是否携带支持多种ABI标记,根据判断结果获取所述应用程序的二进制接口类型;

优选地,所述判断所述应用程序的配置信息是否携带支持多种ABI标记,根据判断结果获取所述应用程序的二进制接口类型具体包括::

判断所述应用程序的配置信息是否携带支持多种ABI标记;

当判断为是时,判断所述应用程序安装包是否携带ABI名称目录,基于判断结果获得对应的二进制接口类型;

当判断为否时,判断所述应用程序安装包是否携带渲染代码,基于判断结果获得对应的二进制接口类型。

优选地,所述当判断为预装时,基于所述应用程序安装包的目录结构来获取对应的二进制接口类型具体包括:

检查所述应用程序安装包的目录结构是否携带二进制接口类型;

当判断为否时,判断所述应用程序安装包是否携带渲染代码;

当携带时,将预设二进制接口类型作为对应应用程序的二进制接口类型。

本发明还提供一种Android系统启动的装置,包括:

启动创建模块,用于启动所述包管理服务,创建线程池,所述线程池包括两个以上的执行线程;

解析安装模块,用于将Android系统的应用程序安装包派给所述两个以上的执行线程进行并行解析;并对解析后的应用程序安装包进行安装;

更新模块,用于更新应用程序的设置参数,将所述应用程序的设置信息进行存储。

本发明还提供一种android移动终端,所述android移动终端包括Android系统启动的装置,该装置包括:

启动创建模块,用于启动所述包管理服务,创建线程池,所述线程池包括两个以上的执行线程;

解析安装模块,用于将Android系统的应用程序安装包派给所述两个以上的执行线程进行并行解析;并对解析后的应用程序安装包进行安装;

更新模块,用于更新应用程序的设置参数,将所述应用程序的设置信息进行存储。

在本发明实施例中,采用多线程并行对应用程序安装包进行解析,提高应用程序安装效率,加快系统启动速度,提高用户体验。

附图说明

图1是本发明第一实施例提供的一种Android系统启动的方法的流程图;

图2是本发明第一实施例提供的一种Android系统启动的方法的步骤S2的具体流程图;

图3是本发明第一实施例提供的一种Android系统启动的方法的步骤S25的具体流程图;

图4是本发明第一实施例提供的一种Android系统启动的方法的步骤S254的具体流程图;

图5是本发明第一实施例提供的一种Android系统启动的方法的步骤S42的具体流程图;

图6是本发明第一实施例提供的一种Android系统启动的方法的步骤S43的具体流程图;

图7是本发明第二实施例提供的一种Android系统启动的装置的结构图;

图8是本发明第二实施例提供的一种Android系统启动的装置的解析安装模块2的具体结构图;

图9是本发明第二实施例提供的一种Android系统启动的装置的安装单元25的具体结构图;

图10是本发明第二实施例提供的一种Android系统启动的装置的第一获取子单元254的具体结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,一种Android系统启动的方法,包括:包管理服务启动,创建线程池,所述线程池包括两个以上的执行线程;将Android系统的应用程序安装包派给所述两个以上的执行线程进行并行解析;并基于解析结果对所述应用程序安装包进行安装;更新应用程序的设置参数,将所述应用程序的设置信息进行存储。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种Android系统启动的方法的流程图,包括:

步骤S1、包管理服务启动,创建线程池;

具体地,android系统进程执行包管理服务的启动进程,该包管理服务启动之后,执行基本参数的初始化,而在初始化的过程中,创建线程池,该线程池包括两个以上的执行线程。该执行线程的具体数量可根据实际需求而设,此处对此不作限制。该包管理服务是android系统服务进程的一个子服务。

步骤S2、将Android系统的应用程序安装包派给两个以上的执行线程进行并行解析,基于解析结果对应用程序安装包进行安装;

具体地,android系统启动时,需求对系统的应用程序安装包进行扫描安装,而应用程序安装包数量较多,将该应用程序安装包分派给改线程池的执行线程来进行解析,然后进行对应的安装,执行线程可并行执行任务,相比于现有技术中的串行进行,可以提高扫描安装速率。

步骤S3、更新应用程序的设置参数,将应用程序的设置信息进行存储,所述设置信息包括设置参数。

具体地,进行扫描安装之后,基于对应的设置信息更新对应的应用程序的设置参数,该设置参数至少包括以下一种:授权信息、共享用户ID设置、共享库等,接着将应用程序的设置信息存储下来,该设置信息包括上述设置参数。

图2示出了本发明第一实施例提供的一种Android系统启动的方法的步骤S2的具体流程图,包括:

步骤S21、为每一应用程序安装包创建解析任务;

步骤S22、创建任务分派线程;

步骤S23、任务分派线程遍历每一应用程序安装包,逐一将应用程序安装包的解析任务分派给执行线程;

具体地,创建一分派线程,该分派线程遍历android系统的应用程序安装包目录,为目录中的每一应用程序安装包创建解析任务,将每一解析任务分派给上述执行线程。

步骤S24、执行线程执行解析任务,获得应用程序安装包的解析结果;

具体地,该执行线程将应用程序安装包的配置信息解析出来,获得应用程序安装包的解析结果,该解析结果至少包括对应的应用程序及配置信息,然后将解析的结果(包括配置信息)以应用程序安装包的路径为关键字,存放在哈希表中(具体为名字是mPKgs的哈希表中)

步骤S25、基于配置信息对对应的应用程序进行安装;

需要说明的是,本实施例中,该执行线程除了解析对应的应用程序安装包之外,还可执行安装任务,在执行线程将所有的应用程序安装包解析完之后,如果发现还有应用程序安装包尚未安装,可辅助该包管理服务进行应用程序安装包的安装,而二者的安装手段一致。

在本实施例的一个优选方案中,如图3所示,示出了本发明第一实施例提供的一种Android系统启动的方法的步骤S25的具体流程图,包括:

步骤S251、获取应用程序安装包的配置信息;

步骤S252、基于所获取的配置信息对对应的应用程序进行安装;

具体地,由包管理服务从上述哈希表中获取与应用程序安装包对应的配置信息,在哈希表中查询,判断是否在哈希表中找到对应的配置信息,当找到对应的配置信息时,表示该应用程序安装包已经被解析,从哈希表中获取对应的配置信息;当未检索到时,表示该应用程序安装包未被解析,则此时包管理服务对该应用程序安装包进行解析,获得对应的配置信息,将解析结果存储在该哈希表中,并基于解析结果对对应的应用程序进行安装。

进一步地,当获取配置信息后,还对该应用程序进行升级检查,具体检查过程可根据版本号来判断是否需要升级,当需要升级时对应用程序进行升级,之后对应用程序进行签名信息的验证,验证过程可采用现有的验证手段,此处对此不作限制。

在本实施例的一个优选方案中,该步骤S251之后、步骤S252之前还可包括:

步骤S253、判断android系统是否为升级后的首次启动,当判断为是时,转到步骤S254,否则转到步骤S256;

具体地,检测android系统当前的启动是否为升级后的首次启动,优选地,判断Android系统的配置文件记录的android系统的指纹信息(编译作者系编译时间戳)是否与当前android系统的属性信息(来自android系统的属性文件,该文件在编译时自动生成)一致,当二者不一致时,确认android系统当前启动为升级后的首次启动,将当前android系统的属性信息写入android系统的配置文件中,转到步骤S254,当一致时转到步骤S256;

步骤S254、获取应用程序的二进制接口类型;

步骤S255、存储所获取的二进制接口类型;

具体地,将所获取的二进制接口类型存入到应用程序对应的配置信息中,写入存储设备,便于后续Android系统启动时使用。

步骤S256、判断是否设置有应用程序的二进制接口类型,基于判断结果获取对应的二进制接口类型。

具体地,检查是否设置应用程序的二进制接口类型,当已经设置,则停止进程,否则转到步骤S254,获取对应的二进制接口类型。

在本实施例的一个优选方案中,图4示出了本发明第一实施例提供的一种Android系统启动的方法的步骤S254的具体流程图,包括:

步骤S41、判断应用程序的属性,当判断为预装时,转到步骤S42;当判断为后装时,转到步骤S43;

具体地,该应用程序的属性为预装或后装,预装即为android系统原本就安装好的,自带的,而后装为用户自行安装的;

步骤S42、基于应用程序安装包的目录结构来获取对应的二进制接口类型;

步骤S43、判断应用程序的配置信息是否携带支持多种ABI标记,根据判断结果获取应用程序的二进制接口类型;

需要说明的是,当上述步骤S42及S43中的二进制接口类型为不确定时,还包括以下步骤:

将应用程序的二进制接口类型设置为Android系统默认的二进制接口类型。

在本实施例的一个优选方案中,图5示出了本发明第一实施例提供的一种Android系统启动的方法的步骤S42的具体流程图,该步骤S42具体包括:

步骤S421、检查应用程序安装包的目录结构是否携带二进制接口类型,当携带时,转到步骤S420,否则转到步骤S422;

具体地,检查应用程序的目录结构是否携带二进制接口类型(即32bit或64bit),当携带时,使用该二进制接口类型作为应用程序的二进制接口类型,否则转到下一步骤;

步骤S420、将该二进制接口类型作为应用程序的二进制接口类型;

步骤S422、判断应用程序安装包是否携带渲染代码,当携带时,转到步骤S423,当不携带时,转到步骤S424;

具体地,可通过检查应用程序安装包的文件后缀和\或文件头信息来判断是否携带渲染代码。

步骤S423、将预设二进制接口类型作为对应应用程序的二进制接口类型。

具体地,该预设二进制接口类型可根据实际情况而设,可为32bit或64bit,还可以是其他类型,此处对此不作限制,此处优选为32bit。

步骤S424、将该应用程序安装包的应用程序的二进制接口类型标为未确定状态(例如32bit或64bit均可);

在本实施例的一个优选方案中,图6示出了本发明第一实施例提供的一种Android系统启动的方法的步骤S43的具体流程图,该步骤S43具体包括:

步骤S431、判断应用程序的配置信息是否携带支持多ABI标记;

具体地,判断应用程序的配置信息是否设置了该支持多种ABI标记,如果设置了转到步骤S432,否则转到步骤S433;

具体地,判断该配置信息是否携带支持多种ABI(Application Binary Interface,应用程序二进制接口)标记(MultiArch),如果携带转到步骤S432,否则转到步骤S433;

步骤S432、判断应用程序安装包是否携带ABI名称目录,基于判断结果获得对应的二进制接口类型;

具体地,解压该应用程序安装包,获得解压数据,判断解压数据中是否存在ABI名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当不止一个时,表示该应用程序支持多种二进制接口类型,此时采用Android系统默认的二进制接口类型作为该应用程序的二进制接口类型,将上述查询的ABI名称目录对应的二进制接口类型设置为备用ABI类型,当只有一个ABI名称目录时,表示该应用程序支持一种二进制接口类型,采用Android系统默认的二进制接口类型作为该应用程序的二进制接口类型。当不存在名称目录时,将应用程序的二进制接口类型标为不确定;

步骤S433、判断应用程序安装包是否携带渲染代码,基于判断结果获得对应的二进制接口类型;

具体地,检测应用程序安装包是否携带渲染代码,可通过检查应用程序安装包的文件后缀和\或文件头信息来判断是否携带渲染代码。当不携带时,解压该应用程序安装包,获得解压数据,并获取Android系统支持的二进制接口类型,判断解压数据中是否携带于上述Android系统支持的一个二进制接口类型对应的名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当携带时表示该应用程序支持该二进制接口类型,将该二进制接口类型作为应用程序的二进制接口类型。

当携带渲染代码时,解压该应用程序安装包,获得解压数据,并判断解压数据中是否存在ABI名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当存在时,将该名称目录对应的二进制接口类型作为应用程序的二进制接口类型,如果不存在,则将应用程序的二进制接口类型标为不确定类型。

本实施例中,采用多线程并行对应用程序安装包进行解析,提高应用程序安装效率,加快系统启动速度,提高用户体验。

实施例二:

图7示出了本发明第二实施例提供的一种Android系统启动的装置的结构图,包括:启动创建模块1、与启动创建模块1连接的分派模块2、与分派模块2连接的更新模块3,其中:

启动创建模块1,用于启动所述包管理服务,创建线程池,所述线程池包括两个以上的执行线程;

具体地,该包管理服务为Android系统的一个结构,该包管理服务包括该Android系统启动的装置,该android系统进程执行包管理服务的启动进程,该包管理服务启动之后,执行基本参数的初始化,而在初始化的过程中,启动创建模块1创建线程池,该线程池包括两个以上的执行线程。该执行线程的具体数量可根据实际需求而设,此处对此不作限制。该包管理服务是android系统服务进程的一个子服务。

解析安装模块2,用于将Android系统的应用程序安装包派给所述两个以上的执行线程进行并行解析;基于解析结果对应用程序安装包进行安装;

具体地,android系统启动时,需求对系统的应用程序安装包进行扫描安装,而应用程序安装包数量较多,将该应用程序安装包分派给改线程池的执行线程来进行解析,然后进行对应的安装,执行线程可并行执行任务,相比于现有技术中的串行进行,可以提高扫描安装速率。

更新模块3,用于更新应用程序的设置参数,将所述应用程序的设置信息进行存储。

具体地,进行扫描安装之后,基于对应的设置信息更新对应的应用程序的设置参数,该设置参数至少包括以下一种:授权信息、共享用户ID设置、共享库等,接着将应用程序的设置信息存储下来,该设置信息包括上述设置参数。

图8示出了本发明第二实施例提供的一种Android系统启动的装置的解析安装模块2的具体结构图,包括:任务创建单元21、与任务创建单元21连接的线程创建单元22、与线程创建单元22连接的任务分派线程23、与任务分派线程23连接的执行线程24、与执行线程24连接的安装单元25,其中:

任务创建单元21,用于为每一应用程序安装包创建解析任务;

线程创建单元22,用于创建任务分派线程;

分派线程23,用于遍历每一应用程序安装包,逐一将应用程序安装包的解析任务分派给执行线程;

具体地,创建一分派线程,该分派线程遍历android系统的应用程序安装包目录,为目录中的每一应用程序安装包创建解析任务,将每一解析任务分派给上述执行线程。

执行线程24,用于执行线程执行解析任务,获得应用程序安装包的解析结果;

具体地,该执行线程将应用程序安装包的配置信息解析出来,获得应用程序安装包的解析结果,该解析结果至少包括对应的应用程序及配置信息,然后将解析的结果(包括配置信息)以应用程序安装包的路径为关键字,存放在哈希表中(具体为名字是mPKgs的哈希表中)

安装单元25,用于基于配置信息对对应的应用程序进行安装;

需要说明的是,本实施例中,该执行线程除了用于解析对应的应用程序安装包之外,还可执行安装任务,在执行线程将所有的应用程序安装包解析完之后,如果发现还有应用程序安装包尚未安装,可辅助该包管理服务进行应用程序安装包的安装,而二者的安装手段一致。

图9示出了本发明第二实施例提供的一种Android系统启动的装置的安装单元25的具体结构图,该安装单元25包括:配置信息获取子单元251、与配置信息获取子单元251连接的安装子单元252、与安装子单元252连接的判断子单元253,其中:

配置信息获取子单元251,用于获取应用程序安装包的配置信息;

安装子单元252,用于基于所获取的配置信息对对应的应用程序进行安装;

具体地,从上述哈希表中获取与应用程序安装包对应的配置信息,在哈希表中查询,判断是否在哈希表中找到对应的配置信息,当找到对应的配置信息时,表示该应用程序安装包已经被解析,从哈希表中获取对应的配置信息;当未检索到时,表示该应用程序安装包未被解析,则此时对该应用程序安装包进行解析,获得对应的配置信息,将解析结果存储在该哈希表中,并基于解析结果对对应的应用程序进行安装。

进一步地,当获取配置信息后,还对该应用程序进行升级检查,具体检查过程可根据版本号来判断是否需要升级,当需要升级时对应用程序进行升级,之后对应用程序进行签名信息的验证,验证过程可采用现有的验证手段,此处对此不作限制。

在本实施例的一个优选方案中,该安装模块25还包括:与判断子单元253连接的第一获取子单元254及第二获取子单元256、与第一获取子单元254连接的存储子单元255,其中:

判断子单元253,用于判断android系统是否为升级后的首次启动,当判断为是时,反馈给第一获取子单元254,否则反馈给第二获取子单元256;

具体地,检测android系统当前的启动是否为升级后的首次启动,优选地,判断Android系统的配置文件记录的android系统的指纹信息(编译作者系编译时间戳)是否与当前android系统的属性信息(来自android系统的属性文件,该文件在编译时自动生成)一致,当二者不一致时,确认android系统当前启动为升级后的首次启动,将当前android系统的属性信息写入android系统的配置文件中,反馈给第一获取子单元254,当一致时反馈给第二获取子单元256;

第一获取子单元254,用于获取应用程序的二进制接口类型;

存储子单元255,用于存储所获取的二进制接口类型;

具体地,将所获取的二进制接口类型存入到应用程序对应的配置信息中,写入存储设备,便于后续Android系统启动时使用。

第二获取子单元256,用于判断是否设置有应用程序的二进制接口类型,基于判断结果获取对应的二进制接口类型。

具体地,检查是否设置应用程序的二进制接口类型,当已经设置,则停止进程,否则反馈给第一获取子单元254。

图10示出了本发明第二实施例提供的一种Android系统启动的装置的第一获取子单元254的具体结构图,该第一获取子单元254具体包括:属性判断子单元101、与属性判断子单元101连接的第一接口类型获取子单元102及第二接口类型获取子单元103,其中:

属性判断子单元101,用于判断应用程序的属性,当判断为预装时反馈给第一接口类型获取子单元102,否则反馈给第二接口类型获取子单元103;

具体地,该应用程序的属性为预装或后装,预装即为android系统原本就安装好的,自带的,而后装为用户自行安装的;

第一接口类型获取子单元102,用于基于应用程序安装包的目录结构来获取对应的二进制接口类型;

第二接口类型获取子单元103,用于判断应用程序的配置信息是否携带支持多种ABI标记,根据判断结果获取应用程序的二进制接口类型;

当上述二进制接口类型为不确定时,第一接口类型获取子单元102及第二接口类型获取子单元103还用于将应用程序的二进制接口类型设置为Android系统默认的二进制接口类型。

在本实施例的一个优选方案中,该第一接口类型获取子单元102包括:目录结构检测子单元、与目录结构检测子单元连接的渲染代码判断子单元及第一二进制接口获取子单元,其中:

目录结构检测子单元,用于检查应用程序安装包的目录结构是否携带二进制接口类型,当携带时反馈给二进制接口获取子单元,否则反馈给渲染代码判断子单元;

具体地,检查应用程序的目录结构是否携带二进制接口类型(即32bit或64bit),当确定时,反馈给二进制接口获取子单元,否则反馈给渲染代码判断子单元;

渲染代码判断子单元,用于判断应用程序安装包是否携带渲染代码,将判断结果反馈给二进制接口获取子单元;

具体地,可通过检查应用程序安装包的文件后缀和\或文件头信息来判断是否携带渲染代码。

二进制接口获取子单元,用于目录结构携带二进制接口类型时,将该二进制接口类型作为所述应用程序的二进制接口类型;

及用于在携带渲染代码时,使用该二进制接口类型作为应用程序的二进制接口类型;

及用于当不携带渲染代码时,将该应用程序安装包的应用程序的二进制接口类型标为未确定状态(例如32bit或64bit均可);。

具体地,该预设二进制接口类型可根据实际情况而设,可为32bit或64bit,还可以是其他类型,此处对此不作限制,此处优选为32bit。

在本实施例的又一个优选方案中,该第二接口类型获取子单元103具体包括:标记判断子单元、与标记判断子单元连接的第一判断获取子单元及第二判断获取子单元,其中:

标记判断子单元,用于判断应用程序的配置信息是否携带多支持ABI标记;

具体地,判断该配置信息是否携带支持多种ABI标记(MultiArch),将当携带时反馈给第一判断获取子单元,当不携带时,反馈给第二判断获取子单元;

第一判断获取子单元,用于判断应用程序安装包是否携带ABI名称目录,基于判断结果获得对应的二进制接口类型;

具体地,解压该应用程序安装包,获得解压数据,判断解压数据中是否存在ABI名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当不止一个时,表示该应用程序支持多种二进制接口类型,此时采用Android系统默认的二进制接口类型作为该应用程序的二进制接口类型,将上述查询的ABI名称目录对应的二进制接口类型设置为备用ABI类型,当只有一个ABI名称目录时,表示该应用程序支持一种二进制接口类型,采用Android系统默认的二进制接口类型作为该应用程序的二进制接口类型。当不存在名称目录时,将应用程序的二进制接口类型标为不确定;

第二判断获取子单元,用于判断应用程序安装包是否携带渲染代码,基于判断结果获得对应的二进制接口类型;

具体地,检测应用程序安装包是否携带渲染代码,可通过检查应用程序安装包的文件后缀和\或文件头信息来判断是否携带渲染代码。当不携带时,解压该应用程序安装包,获得解压数据,并获取Android系统支持的二进制接口类型,判断解压数据中是否携带于上述Android系统支持的一个二进制接口类型对应的名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当携带时表示该应用程序支持该二进制接口类型,将该二进制接口类型作为应用程序的二进制接口类型。

当携带渲染代码时,解压该应用程序安装包,获得解压数据,并判断解压数据中是否存在ABI名称目录,即“lib/ABI名称”(例如:lib/armeabi-v7a)的目录,当存在时,将该名称目录对应的二进制接口类型作为应用程序的二进制接口类型,如果不存在,则将应用程序的二进制接口类型标为不确定类型。

本实施例中,采用多线程并行对应用程序安装包进行解析,提高应用程序安装效率,加快系统启动速度,提高用户体验。

本发明还提供一种android移动终端,该android移动终端包括一种Android系统启动的装置,该装置的具体结构及工作原理与上述实施例的一种Android系统启动的装置的具体结构及工作原理基本一致,具体可参考上述实施例的描述,此处不再赘述。

本发明中,采用多线程并行对应用程序安装包进行解析,提高应用程序安装效率,加快系统启动速度,提高用户体验。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1