安卓系统快速启动应用的方法技术方案

技术编号:15541027 阅读:58 留言:0更新日期:2017-06-05 10:37
本发明专利技术提供的安卓系统快速启动应用的方法,定制扫描使安卓系统的Package Manager Service扫描应用的安装包,获得Package Manager Service分配的UID,将应用运行时需要加载的所有文件中所有符合UID格式的Owner ID和Group ID替换为获得的UID。该方法只要将应用运行时需要加载的所有文件存储到应用的指定目录下,应用就可以直接启动,不会执行加载文件、下载补丁等操作。应用的快速启动避免了用户的长时间等待,极大提高了安卓系统用户的体验。

Method for quick starting application of Android system

Quick start application method of Android system provided by the invention, the Android custom scan system Package Manager Service scanning application installation package, Package Manager Service assigned UID, all files will need to load the application running in all conform to the UID format of Owner ID and Group ID replaced get UID. As long as all the files needed to be loaded are stored in the specified directory of the application, the application can start directly without loading files and downloading patches. The rapid start of the application avoids the long wait of users and greatly improves the experience of Android users.

【技术实现步骤摘要】
安卓系统快速启动应用的方法
本专利技术涉及安卓系统快速启动应用的方法。
技术介绍
安卓(Android)系统是目前智能移动终端等电子设备上广泛使用的操作系统,安卓系统中可以运行各种应用(应用指能够在安卓系统中运行的软件或程序)。安卓系统的应用在启动时经常会出现加载进度条(实际上是把应用运行时需要加载的本地文件从应用的安装包中提取出来存储到指定目录),加载完成后有时又会弹出对话框强制要求下载补丁。如果应用较大,加载文件和下载补丁可能会消耗数分钟时间,此期间用户只能等待,严重影响安卓系统的用户体验。由于安卓系统的应用需要加载的本地文件可以事先从安装包中提取出来,补丁文件也可以事先下载或者直接向应用的开发厂家索要,而存储这些文件的指定目录完全可以根据安卓系统和应用自身的设置获知。一个很自然的想法,可以在应用启动前将应用运行时需要加载的所有文件都存储到指定目录下,应用启动时就不再执行加载文件或下载补丁的操作了。然而,标准安卓系统并不支持上述功能,即使将所有相关文件都存储到指定目录,安卓系统的很多应用在启动时仍然会执行加载文件、下载补丁等操作。如何解决这一问题,尚未见报道。在说明书“
技术介绍
”部分公开的内容,有助于本领域技术人员理解本专利技术的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。
技术实现思路
为了克服“
技术介绍
”部分所反映的缺陷,本专利技术提供安卓系统快速启动应用的方法。安卓系统快速启动应用的方法,包括:1)定制扫描使安卓系统的PackageManagerService扫描应用的安装包,获得PackageManagerService分配的UID;2)将应用运行时需要加载的所有文件中所有符合UID格式的OwnerID和GroupID替换为1)中获得的UID。进一步的,1)中还包括:提取所述安装包的证书和摘要,PackageManagerService扫描时将安装包的证书和摘要作为参数发送给PackageManagerService。进一步的,1)中还包括:PackageManagerService扫描前提取所述安装包对应的odex文件存储到对应目录。进一步的,2)中所述的应用运行时需要加载的所有文件存储在应用的指定目录下,应用通过所述的指定目录加载文件。本专利技术技术方案中,“包括”、“用于”等词语应按照开放式表达方式理解。本领域技术人员通过阅读本说明书并结合现有技术或公知常识能够获知的内容,本说明书中不再赘述。本专利技术提供的安卓系统快速启动应用的方法,只要将应用运行时需要加载的所有文件存储到应用的指定目录下,应用就可以直接启动,不会执行加载文件、下载补丁等操作。应用的快速启动避免了用户的长时间等待,极大提高了安卓系统用户的体验。附图说明图1为具体实施方式中安卓系统快速启动应用的方法的流程图。具体实施方式下面对本专利技术的实施方式进行进一步的具体说明。但应注意,本专利技术的范围并不局限于所描述的具体技术方案。任何对所描述的具体技术方案中的技术要素进行相同或等同替换获得的技术方案或本领域技术人员在所描述的具体技术方案的基础上不经过创造性劳动就可以获得的技术方案,都应当视为落入本专利技术的保护范围。安卓(Android)系统是目前智能移动终端等电子设备上广泛使用的操作系统,安卓系统中可以运行各种应用(应用指能够在安卓系统中运行的软件或程序)。安卓系统的应用一般都有安装包(即安卓系统中的apk文件,根据安卓系统应用的开发习惯,该文件的名称往往是base.apk),安装包存储在指定目录下,例如“/data/app/应用包名”目录。安卓系统的应用都有对应的包名,包名可以从该应用的apk文件中解析出来。应用在运行过程中需要加载很多文件,这些文件也存储在指定目录下,例如“/sdcard/Android/data/应用包名”或者“/data/data/应用包名”目录。应用在运行过程中通过指定目录加载需要的文件。本专利技术提供的安卓系统快速启动应用的方法,其流程如图1所示,包括:S101:定制扫描使安卓系统的PackageManagerService扫描应用的安装包,获得PackageManagerService分配的UID。在某一应用启动之前进行定制扫描,使安卓系统的PackageManagerService(安卓系统中最常用的服务之一,负责应用的安装、卸载、信息查询等)扫描上述应用的安装包,PackageManagerService完成扫描后会分配一个UID存储在相应的文件中,查看该文件即可获得该UID。UID通常指用户标识(UserIdentification),但由于安卓系统是单用户操作系统,安卓系统的UID变为与应用对应的标识。所述的定制扫描,指通过对安卓系统进行设置使安卓系统的PackageManagerService扫描指定的文件或文件目录。如何实现定制扫描,以5.1版本的安卓系统为例进行说明。1)在frameworks/base/core/java/android/content/pm/IPackageManager.aidl文件中增加一个扫描应用的安装包所在目录的接口。2)在frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java中增加一个扫描(scan)的命令。3)在frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java中增加处理函数,上述处理函数以应用的包名为参数。完成以上设置后,PackageManagerService可以对指定的应用安装包进行扫描。如果应用的安装包较大,PackageManagerService对安装包的扫描时间仍然较长,达不到快速启动应用的效果,需要对PackageManagerService的扫描过程进一步优化。PackageManagerService对安装包(base.apk文件)的扫描有两个操作耗时较多,一是扫描base.apk文件时搜集该文件的证书和摘要,二是生成odex文件(odex文件是apk文件中的classes.dex文件通过odex优化生成的)并存储到对应的目录,例如“/data/dalvik-cache/arm”目录。对于这两个耗时较多的操作,可以进行相应的优化。首先,可以在应用启动前提取安装包的证书和摘要,将证书和摘要存储到某一文件中,PackageManagerService扫描时将安装包的证书和摘要作为参数发送给PackageManagerService。同时,关闭PackageManagerService扫描安装包时对安装包内诸多文件的校验,这样可以大大缩短PackageManagerService的扫描时间。其次,可以利用安卓系统源代码中的SCAN_NO_DEX参数设置PackageManagerService扫描时不进行odex优化;或者在应用启动前提取安装包对应的odex文件,将odex文件存储到对应目录。PackageManagerService扫描前odex文件已经存在,则PackageManagerService扫描时不再进行odex优化,也能大大缩短扫描时间。S102:本文档来自技高网...
安卓系统快速启动应用的方法

【技术保护点】
安卓系统快速启动应用的方法,其特征在于,所述的方法包括:1)定制扫描使安卓系统的Package Manager Service扫描应用的安装包,获得Package Manager Service分配的UID;2)将应用运行时需要加载的所有文件中所有符合UID格式的Owner ID和Group ID替换为1)中获得的UID。

【技术特征摘要】
1.安卓系统快速启动应用的方法,其特征在于,所述的方法包括:1)定制扫描使安卓系统的PackageManagerService扫描应用的安装包,获得PackageManagerService分配的UID;2)将应用运行时需要加载的所有文件中所有符合UID格式的OwnerID和GroupID替换为1)中获得的UID。2.根据权利要求1所述的方法,其特征在于,1)中还包括:提取所述安装包的证书和摘要,Pack...

【专利技术属性】
技术研发人员:王小品田乐赵幸王方驰
申请(专利权)人:海马云天津信息技术有限公司
类型:发明
国别省市:天津,12

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

1