一种应用程序的启动方法及系统技术方案

技术编号:15541018 阅读:66 留言:0更新日期:2017-06-05 10:37
本发明专利技术实施例提供一种应用程序的启动方法及系统,涉及计算机技术领域。其中方法包括:当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与应用程序相关的信息,该信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;判断第一包文件的版本号是否低于第二包文件的版本号;若是,则检测第二存储路径下是否存储有应用程序的第二包文件;若未检测到第二包文件,则根据第一存储路径下存储的第一包文件启动应用程序。本发明专利技术实施例可以在用户误删或由于其他原因导致/data/app路径下存储的最新版本的应用包文件消失时,利用其他路径下的低版本的包文件来启动应用,能够避免出现应用启动失败的情况。

Method and system for starting application program

The embodiment of the invention provides a method and a system for starting an application program, relating to the field of computer technology. The method comprises the following steps: when receiving the application startup command, acquisition and application related information in the system through the package configuration file read system, including the information in the first storage path of the first packet file version number second and is located in the path of the second storage package file version number to determine whether the first packet; the version number of the file below version second package files; if so, detection second storage path is stored second application package file; if not detected second Bao Wenjian, according to the first storage path stored under the first package file to start the application. The embodiment of the invention can be deleted in the user or for other reasons lead to the latest version of /data/app path storage application package file to start the application disappear when using low version of other paths under the package file, to avoid the application failed to start.

【技术实现步骤摘要】
一种应用程序的启动方法及系统
本专利技术属于计算机
,尤其涉及一种应用程序的启动方法及系统。
技术介绍
随着安卓系统开发技术的不断发展,安卓系统内可安装的应用程序的种类和数量也越来越多。众所周知,目前开发人员发布的应用程序,会因为要解决bug或者更新功能而必须每隔一段时间进行一次版本更新。一般而言,系统预置的应用程序是安装在/system/app目录下,用于更新系统预置应用的应用程序包文件apk存储在/data/app下。按照当前安卓的机制,系统在启动某一应用程序的时候,首先会通过读取应用程序包配置文件packages.xml来获取最新版本的应用程序的存储路径/data/app,然后再按照该路径去加载应用程序。然而,在一些情况下,由于用户误删或者其他原因会导致/data/app下存储的应用程序包文件消失,这样就会导致该应用程序无法正常启动,并且如果该应用程序正好是系统的驱动程序luancher,那么将会导致整个系统无法正常开机,严重影响了用户体验。
技术实现思路
本专利技术实施例的目的在于提供一种应用程序的启动方法及系统,旨在解决上述由于用户误删或者其他原因会导致/data/app下存储的应用程序包文件消失,这样就会导致该应用程序无法正常启动,并且如果该应用程序正好是系统的驱动程序,那么将会导致整个系统无法正常开机,严重影响了用户体验的问题。本专利技术实施例是这样实现的,一种应用程序的启动方法,包括:当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;判断所述第一包文件的版本号是否低于所述第二包文件的版本号;若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件;若未检测到所述应用程序的第二包文件,则根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序。另一方面,本专利技术实施例提供一种应用程序的启动系统,包括:包配置文件读取单元,用于当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;版本号比较单元,用于判断所述第一包文件的版本号是否低于所述第二包文件的版本号;第一检测单元,用于若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件;启动路径选择单元,用于若未检测到所述应用程序的第二包文件,则根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序。本专利技术实施例通过当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;判断所述第一包文件的版本号是否低于所述第二包文件的版本号;若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件;若未检测到所述应用程序的第二包文件,则根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序,可以在用户误删或者由于其他原因导致/data/app路径下存储的最新版本的应用程序包文件消失时,利用其他路径下存储的低版本的包文件来启动该应用程序,以避免出现应用启动失败的情况,特别是如果该应用程序正好是系统的驱动程序,则可以避免出现系统无法正常开机的情况,提高了系统的稳定性,提升了用户体验。附图说明图1是本专利技术实施例提供的一种应用程序的启动方法的示意流程图;图2是本专利技术另一实施例提供的一种应用程序的启动方法的示意流程图;图3是本专利技术实施例提供的一种应用程序的启动系统的示意性框图;图4是本专利技术另一实施例提供的一种应用程序的启动系统的示意性框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1是本专利技术实施例提供的一种应用程序的启动方法的示意流程图。参见图1所示,本实施例提供的一种应用程序的启动方法,可以包括以下步骤:在S101中,当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息。在本实施例中,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号。其中,所述第一存储路径为/system/app路径,所述第一包文件为系统中的预置应用程序的包文件;所述第二存储路径为/data/app路径,所述第二包文件为更新所述应用程序的包文件。在本实施例中,当系统开机并接收到应用程序的启动指令时,会对包管理服务PackageManagerService进行初始化,此时系统会新建一个settings数据结构,通过读取系统目录下的包配置文件/data/system/packages.xml来获取系统中与所述应用程序相关的信息。在S102中,判断所述第一包文件的版本号是否低于所述第二包文件的版本号,若所述第一包文件的版本号低于所述第二包文件的版本号,则进入到步骤S103中。在本实施例中,通过比较第一包文件的版本号与第二包文件的版本号,确定在启动应用程序时,是否需要对系统中的预置应用程序的包文件进行更新,若是第一包文件的版本号低于第二包文件的版本号,则需要对系统中的预置应用程序的包文件进行更新,此时进入到步骤S103中;相反,若第一包文件的版本号不低于第二包文件的版本号,则说明此时无需对系统中的预置应用程序的包文件进行更新,此时不做任何处理,系统执行正常的应用启动流程。在S103中,检测所述第二存储路径下是否存储有所述应用程序的第二包文件,若未检测到所述应用程序的第二包文件,则进入到步骤S104中。在本实施例中,步骤S103具体包括:获取所述应用程序的名称;根据所述应用程序的名称查询所述第二存储路径下是否存储有包名与所述应用程序的名称相匹配的包文件;若有包名与所述应用程序的名称相匹配的包文件,则所述第二存储路径下存储有所述应用程序的第二包文件;若没有包名与所述应用程序的名称相匹配的包文件,则所述第二存储路径下未存储所述应用程序的第二包文件。在S104中,根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序。在本实施例中,若在所述第二存储路径下未检测到所述应用程序的第二包文件,则说明该应用程序的第二包文件被用户误删或者由于其他原因消失,此时则退回到低版本,利用第一存储路径下预置应用程序的包文件即第一包文件启动所述应用程序,这样便能够避免出现应用启动失败的情况。相反,若在所述第二存储路径下检测到所述应用程序的更新包文件,即所述第二包文件,则根据所述第二存储路径下存储的第二包文件启动所述应用程序。以上可以看出,本实施例提供的一种应用程序的启动方法通过当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包本文档来自技高网...
一种应用程序的启动方法及系统

【技术保护点】
一种应用程序的启动方法,其特征在于,包括:当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;判断所述第一包文件的版本号是否低于所述第二包文件的版本号;若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件;若未检测到所述应用程序的第二包文件,则根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序。

【技术特征摘要】
1.一种应用程序的启动方法,其特征在于,包括:当接收到应用程序的启动指令时,通过读取系统的包配置文件获取系统中与所述应用程序相关的信息,与所述应用程序相关的信息包括位于第一存储路径下的第一包文件的版本号和位于第二存储路径下的第二包文件的版本号;判断所述第一包文件的版本号是否低于所述第二包文件的版本号;若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件;若未检测到所述应用程序的第二包文件,则根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序。2.如权利要求1所述的应用程序的启动方法,其特征在于,若所述第一包文件的版本号低于所述第二包文件的版本号,则检测所述第二存储路径下是否存储有所述应用程序的第二包文件之后还包括:若检测到所述应用程序的第二包文件,则根据所述第二存储路径下存储的第二包文件启动所述应用程序。3.如权利要求2所述的应用程序的启动方法,其特征在于,所述检测所述第二存储路径下是否存储有所述应用程序的第二包文件包括:获取所述应用程序的名称;根据所述应用程序的名称查询所述第二存储路径下是否存储有包名与所述应用程序的名称相匹配的包文件;若有包名与所述应用程序的名称相匹配的包文件,则所述第二存储路径下存储有所述应用程序的第二包文件;若没有包名与所述应用程序的名称相匹配的包文件,则所述第二存储路径下未存储所述应用程序的第二包文件。4.如权利要求1所述的应用程序的启动方法,其特征在于,所述根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序之前还包括:检测所述第一存储路径下是否存储有所述应用程序的第一包文件;若未检测到所述应用程序的第一包文件,则在所述包配置文件中删除与所述应用程序相关的信息;若检测到所述应用程序的第一包文件,则进入根据所述第一存储路径下存储的低版本的第一包文件启动所述应用程序的步骤。5.如权利要求1~4任一项所述的应用程序的启动方法,其特征在于,所述启动方法还包括:监测所述第一存储路径和第二存储路径下是否有安装或删除应用程序的动作;若有安装或删除应用程序的动作,则根据所述安装或删除应用程序的动作更...

【专利技术属性】
技术研发人员:齐珂
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:广东,44

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

1