CN104182255B - 一种系统应用的库文件升级方法及终端 - Google Patents
一种系统应用的库文件升级方法及终端 Download PDFInfo
- Publication number
- CN104182255B CN104182255B CN201410412964.7A CN201410412964A CN104182255B CN 104182255 B CN104182255 B CN 104182255B CN 201410412964 A CN201410412964 A CN 201410412964A CN 104182255 B CN104182255 B CN 104182255B
- Authority
- CN
- China
- Prior art keywords
- installation package
- library file
- upgrade
- upgrading
- upgrade installation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
本发明公开了一种系统应用的库文件升级方法及终端,主要内容包括:通过在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与升级安装包相对应的升级后的库文件,其中,所述升级安装包的包名是在确定升级安装包对应的应用为系统应用时,记录在系统属性中的;将查找到的升级后的库文件替换系统分区中保存的原始库文件;删除系统属性中记录的升级安装包的包名。从而,避免了单独升级该升级安装包对应的系统应用时,无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,在一定程度上提升了用户体验。
Description
技术领域
本发明涉及网络多媒体终端技术领域,尤其涉及一种系统应用的库文件升级方法及终端。
背景技术
当前,为了保证终端应用软件的丰富,体现终端的差异化,增加核心竞争力,很多Android终端的制造商都会选择与第三方应用提供商合作,将体验好且受用户欢迎的应用程序预置为终端的系统应用。但由于Android系统中应用的开源性质以及反编译能力,众多第三方应用提供商不会直接提供应用程序的代码等信息,一般都会选择将其代码等核心技术以库文件的形式进行封装保护,并提供给Android终端的制造商,然后,通过用户或制造商在Android终端中运行、加载这些库文件来实现应用程序的特定功能。
Android终端中的应用可分为系统应用和用户应用,系统应用是制造商预置的应用,其特点为:应用程序保存在只读属性的系统分区(/system分区),对应的库文件需要保存在系统应用动态库文件目录(/system/lib目录)下,不可卸载。用户应用是用户自主选择安装的应用,其特点是:应用程序保存在读、写权限的用户分区(/data分区),对应的库文件在安装时自动保存在应用动态库文件目录(/data/app-lib目录)下,可自行卸载。
上述包含库文件的系统应用的应用程序在被预置时,会在/system/lib目录下生成库文件,而且,在系统应用自动升级时,由于系统分区的只读属性,更新后的库文件只能被写入/data/app-lib目录下。而Android系统的应用程序在运行时,利用通用接口方法实现库文件的加载,在实际的执行过程中会通过库文件名查找的方式查找并加载库文件,具体的查找过程为:优先查找/system/lib目录下是否存在与升级安装包的包名相匹配的库文件,若存在,则加载;否则,查找/data/app-lib目录下是否存在与升级安装包的包名相匹配的库文件,并在查找到的情况下加载该库文件。
可见,Android系统的库文件加载机制是优先查找/system/lib目录,当某系统应用A自动升级时,会在/data/app-lib目录下生成升级后的库文件,此时,在/system/lib目录下存在原始库文件,在/data/app-lib目录下存在升级后的库文件,而且,针对该系统应用,原始库文件的库文件名与升级后的库文件的库文件名是相同的。因此,在库文件的加载过程中,Android终端根据升级安装包的包名在/system/lib目录下查找与升级安装包相匹配的库文件时,会将原始库文件进行加载,并放弃对/data/app-lib目录下的库文件的查找、加载操作,从而导致升级后的库文件不能被成功加载。
为了实现系统应用的更新,一般通过升级Android系统的方式对/system/lib目录下的库文件进行更新,进而实现对升级后的库文件的成功加载。具体地,可以对整个系统分区进行擦除重写操作,将升级后的库文件直接放至/system/lib目录下进行打包,从而导致整个系统被升级。升级后,系统应用在加载库文件时,就能保证/system/lib目录下的库文件就是升级后的库文件。但是,由于上述库文件的升级而导致的整个Android系统的升级,必将增大系统开销,同时,也不利于系统应用的不断完善与更新,降低用户体验。
发明内容
本发明实施例提供一种系统应用的库文件升级方法及终端,用以解决现有技术中存在的系统应用的库文件升级而导致的增大系统开销的问题。
本发明实施例采用以下技术方案:
一种系统应用的库文件加载方法,所述方法包括:
在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;
将查找到的所述升级后的库文件替换系统分区中保存的原始库文件;
删除所述系统属性中记录的所述升级安装包的包名。
在本发明实施例中,通过在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;将查找到的所述升级后的库文件替换系统分区中保存的原始库文件;删除所述系统属性中记录的所述升级安装包的包名。从而,避免了单独升级该升级安装包对应的系统应用时,由于现有库文件加载机制的限制而无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,当有多个系统应用在不同时段升级时,需要每次都通过整个系统的升级来实现,导致系统频繁升级,而本发明的库文件升级方法不需要整个系统频繁升级,在一定程度上提升了用户体验。另外,由于本发明的库文件升级方法能够保证不同系统应用之间的库文件升级是独立的,不会因为某一个系统应用的库文件的升级而导致其他甚至整个系统的升级,从而,有利于系统应用的及时更新和优化。
一种终端,包括:
查找单元,用于在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包的相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;
替换单元,用于将所述原始库文件替换为查找到的所述升级后的库文件;
删除单元,用于删除所述系统属性中记录的所述升级安装包的包名。
在本发明实施例中,通过在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名,利用查找单元查找用户分区中与所述升级安装包相匹配的升级后的库文件,并利用替换单元将查找到的所述升级后的库文件替换系统分区中保存的原始库文件,进一步地,利用删除单元删除所述系统属性中记录的所述升级安装包的包名。从而,避免了单独升级该升级安装包对应的系统应用时,由于现有库文件加载机制的限制而无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,当有多个系统应用在不同时段升级时,需要每次都通过整个系统的升级来实现,导致系统频繁升级,而本发明的库文件升级方法不需要整个系统频繁升级,在一定程度上提升了用户体验。另外,由于本发明的库文件升级方法能够保证不同系统应用之间的库文件升级是独立的,不会因为某一个系统应用的库文件的升级而导致其他甚至整个系统的升级,从而,有利于系统应用的及时更新和优化。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统应用的库文件升级方法的步骤流程示意图;
图2为本发明实例1中提供的系统应用的升级方法的步骤流程示意图;
图3为本发明实例2中提供的系统应用的库文件的升级方法的流程流程示意图;
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中,通过在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;将查找到的所述升级后的库文件替换系统分区中保存的原始库文件;删除所述系统属性中记录的所述升级安装包的包名。从而,避免了单独升级该升级安装包对应的系统应用时,无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,在一定程度上提升了用户体验。
以下通过具体的实施例,结合说明书附图对本发明的技术方案进行详细描述,本发明包括但并不限于以下实施例。
如图1所示,为本发明实施例提供的一种系统应用的库文件升级方法的步骤流程示意图,具体包括以下步骤:
步骤101:在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相对应的升级后的库文件。
其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的。
在发明实施例中,当终端处于开机状态时,默认进入库文件自动更新进程,可以通过直接读取的方式,确定系统属性system prop文件中是否记录所述升级安装包的包名,例如:读取系统属性文件中的信息,在读取到升级安装包的包名后,确定该系统属性文件中记录有升级安装包的包名。进一步,根据读取到的升级安装包的包名,查找终端的用户分区中保存的与所述升级安装包相对应的升级后的库文件,具体地,由于系统应用升级的过程中,在下载并安装升级安装包,运行该系统应用之后,会在用户分区的/data/app-lib目录下保存有该系统应用的升级后的库文件,因此,可以根据读取到的升级安装包的包名,在用户分区中的/data/app-lib目录下查找与所述升级安装包相对应的升级后的库文件。以上查找操作可利用现有技术中的查找方式进行,本发明并不对具体的查找方式做限定。
需要说明的是,升级安装包是可用来执行安装操作的压缩包,格式为xx.apk,安装包的包名是可以随意修改的,且包名是不可见的,例如:某一系统应用的安装包的包名为“com.hisense.sangguosha”;但是系统应用的名称是在程序中写死的,不可更改的,而且,系统/用户应用的名称是用户可见的,例如:系统/用户应用的名称为“三国杀”。上述包名“com.hisense.sangguosha”便是“三国杀”这一应用在系统中的唯一标识,以“三国杀”作为系统应用为例,当“三国杀”这一系统应用更新后,会在用户分区中生成以下目录:/data/data/com.hisense.sangguosha,并在/data/data/com.hisense.sangguosha/lib/这一目录下生成更新后的库文件。
步骤102:将查找到的所述升级后的库文件替换系统分区中保存的原始库文件。
由于库文件的加载机制是:优先查找/system/lib目录下是否存在与升级安装包的包名相匹配的库文件,若存在,则加载;否则,查找/data/app-lib目录下是否存在与升级安装包的包名相匹配的库文件,并在查找到的情况下加载该库文件。因此,在无法改变库文件加载机制的情况下,为了避免将原始库文件识别为升级后的库文件进行加载,以及升级后的库文件不能被成功加载,本发明实施例中将步骤101查找到的位于用户分区的升级后的库文件替换系统分区中保存的原始库文件。优选地,在该替换操作结束之后,升级后的库文件的存在形式、位置等状态与之前的原始库文件相同。
在实际的库文件加载过程中,当经过步骤101查找到与所述升级安装包的包名相同的升级后的库文件之后,所述升级后的库文件虽然是更新过的,且升级后的库文件的名称是对应存储在以所述升级安装包建立的目录下的,但是,该升级后的库文件的内容或许与原始库文件的内容基本相同,因此,在这种情况下,是不需要步骤102的替换操作的,例如:界面上的显示、页面的跳转等用户可以看到的系统应用,由于这些系统应用属于上层基础的系统应用,在经过升级操作后,其库文件是不会有变化的,因此,鉴于此类系统应用的存在,执行步骤102之前,需要判断所述升级后的库文件与所述系统分区中保存的原始库文件是否一致,若是,则结束库文件加载操作,否则,执行步骤102,将所述原始库文件替换为所述升级后的库文件。具体地,判断所述升级后的库文件与所述原始库文件是否一致的方式可以为:分别计算升级后的库文件的MD5值和原始库文件的MD5值,并进行比较,若比较结果相同,则确定升级后的库文件与所述原始库文件一致,不需要执行步骤102的替换操作,直接加载即可;若比较结果不同,则确定升级后的库文件与所述原始库文件不一致,则需要将原始库文件替换为所述升级后的库文件,即将升级后的库文件复制到系统分区中,以便于加载库文件时,可以优先从系统分区中加载升级后的库文件,而不是从系统分区中加载原始库文件。
步骤103:删除所述系统属性中记录的所述升级安装包的包名。
为了避免终端在每次开机启动时都重复执行更新操作,在执行完步骤102之后,还可以删除所述系统属性中记录的所述升级安装包的包名。
在本发明实施例中,由于之前的操作已经将升级后的库文件保存在了系统分区中,在利用现有的库文件加载机制进行加载时,仍然会优先加载系统分区的库文件,此时,系统分区的库文件已经替换为升级后的库文件,因此,会根据升级安装包的包名,查找系统分区中与所述升级安装包的包名(也可以认为是与应用程序相匹配的)相匹配的升级后的库文件,并加载所述升级后的库文件,从而,避免了单独升级该升级安装包对应的系统应用时,无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,在一定程度上提升了用户体验。
优选地,在执行步骤101之前,终端需要周期性查询应用升级服务器,其中,所述终端与所述应用升级服务器之间建立网络连接;在查询到升级安装包时,下载所述升级安装包,其中,所述升级安装包为应用升级服务器中所包含的应用的新版本对应的安装包;检测已下载的升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中;调用系统服务程序接口安装所述升级安装包,其中,所述升级安装包对应的升级后的库文件保存在用户分区。
优选地,所述检测已下载的升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中,具体包括:检测已下载的升级安装包,获取所述升级安装包的包名,以及读取所述升级安装包对应的应用的标识位,并在读取到所述标志位为1时,确定所述升级安装包对应的应用为系统应用,并将获取的所述升级安装包的包名记录在系统属性中。
优选地,在将所述原始库文件替换为所述升级后的库文件之前,所述方法还包括:
判断所述升级后的库文件与所述系统分区中保存的原始库文件是否一致,若是,则结束库文件升级操作,否则,将所述原始库文件替换为所述升级后的库文件。
以下通过具体的实例来对上述系统应用的库文件升级方法进行描述。由于系统应用在升级后不一定会立即运行使用(即加载库文件),因此,本实例分别对系统应用的升级以及系统应用的库文件的升级进行描述。
实例1:
如图2所示,为本实例1中提供的系统应用的升级方法的步骤流程示意图,主要包括以下步骤:
步骤201:终端周期性查询应用升级服务器。
本实施例中,终端与应用升级服务器之间通过无线或有线方式建立网络连接,鉴于终端可能是手机、pad等可移动终端,因此,可以优选无线方式建立连接。所述应用升级服务器可以是网络侧的服务器,也可以是局域网内的服务器,本发明并不对此进行限定。
步骤202:在查询到升级安装包时,终端下载所述升级安装包。
所述升级安装包为应用升级服务器中所述系统应用的新版本对应的安装包。
步骤203:检测已下载的升级安装包,判断所述升级安装包对应的应用是否为系统应用,若是,则执行步骤204,否则,执行步骤205。
具体地,在本步骤203中,可以通过读取升级安装包的标识来确定所述升级安装包对应的应用是否为系统应用,一般情况下,例如:系统应用的标识为1,用户应用的标识为0;假设读取到升级安装包的标识为1,则确定所述升级安装包对应的应用为系统应用,假设读取到升级安装包的标识为0,则确定所述升级安装包对应的应用为用户应用。由于用户应用的原始库文件在安装时自动保存在用户分区,因此,在用户应用升级后,对应的升级后的库文件自动保存在用户分区,甚至自动替换用户分区的原始库文件;终端在加载库文件时,同样也是优先从系统分区查找,在没有查找到的情况下,从用户分区查找、并加载。
步骤204:将所述升级安装包的包名记录在系统属性中。
具体地,本发明的实现是在系统属性中增加一条属性persist.sys.updateapp,用以设置记录下载的升级安装包的包名,该系统属性提供了读、写接口,方便实现,通用性好。当然,所述升级安装包的包名还可以记录在其它属性文件中,本实施例并不对此进行限定。
步骤205:调用系统服务程序接口安装所述升级安装包。
在安装过程中,由于系统分区不具有写的权限,因此,所述升级安装包对应的升级后的库文件保存在用户分区。安装的过程也不会加载库文件,库文件的加载需要在系统应用的运行过程中执行。
实例2:
下面就通过具体的实例2介绍系统应用的库文件的升级流程,如图3所示,主要包括以下步骤:
步骤301:开启终端,启动init进程。
开启终端,启动init进程,在这一init初始化的过程中,会相应启动库文件更新服务进程,即触发启动库文件升级操作。需要说明的是,本发明实施例中以开启终端为初始步骤,当终端开机时,具有root权限的init进程就开始启动库文件自动更新进程,例如检查文件系统、清理/tmp、启动各种服务以及为每个终端和虚拟控制台启动getty,即终端控制管理命令;但是,当终端处于开机状态时,就默认已经启动了库文件更新服务进程。只要在开启了所述库文件更新服务进程之后,就可以执行步骤302。
步骤302:判断系统属性中是否记录有所升级安装包的包名,若是,则执行步骤303,否则,结束升级操作。
步骤303:查找用户分区中是否存在与所述升级安装包的包名相同的升级后的库文件,若存在,则执行步骤304,否则,跳转至步骤306。
步骤304:判断所述升级后的库文件与系统分区中保存的原始库文件是否一致,若一致,则执行步骤305,否则,跳转至步骤306。
步骤305:将系统分区中保存的原始库文件替换为升级后的库文件。
步骤306:删除所述系统属性中记录的所述升级安装包的包名。
一般而言,在成功更新了升级后的库文件之后,即可进行加载操作。优选地,考虑到可能有多个库文件需要更新,系统属性中可能记录了多个升级安装包的包名。因此,可在执行完步骤306之后跳转至步骤302。
步骤307:加载所述升级后的库文件。
通过用户的点击等操作开启运行所述系统应用,即开始加载所述升级后的库文件。
本发明上述实施例的有益效果是:通过运行升级安装包对应的系统应用,在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相匹配的升级后的库文件,并将查找到的所述升级后的库文件替换系统分区中保存的原始库文件,加载所述升级后的库文件。从而,避免了单独升级该升级安装包对应的系统应用时,无法加载升级后的库文件的情况;同时,本发明的方案还规避了单独升级某一个系统应用而导致整个系统升级的情况,减少了系统开销,提高了系统应用的升级效率,而且,在一定程度上提升了用户体验。
基于与本发明提供的系统应用的库文件加载方法属于同一构思,本发明实施例还提供了一种终端,用以支持上述方法的实施。所述终端可以为Android系统的手机、PC机等用户终端,以及Android系统的网络机顶盒等电视设备。下面通过具体的实施例对该终端进行介绍。
如图4所示,为本发明实施例提供的一种终端的结构示意图,主要包括以下功能单元:
查找单元401,用于在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相匹配的升级后的库文件。
其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的。
替换单元402,用于将所述原始库文件替换为查找到的所述升级后的库文件。
删除单元403,用于删除所述系统属性中记录的所述升级安装包的包名。
优选地,所述终端还包括:
查询单元,用于周期性查询应用升级服务器,其中,所述终端与所述应用升级服务器之间建立网络连接。
下载单元,用于在查询单元查询到升级安装包时,下载所述升级安装包,其中,所述升级安装包为应用升级服务器中应用的新版本对应的安装包。
优选地,所述终端还包括:
安装单元,用于调用系统服务程序接口安装所述升级安装包,其中,所述升级安装包对应的升级后的库文件保存在用户分区;
检测单元,用于检测所述升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中。
优选地,在具体的实施过程中,所述检测单元,具体用于:检测已下载的升级安装包,获取所述升级安装包的包名,以及读取所述升级安装包对应的应用的标识位,并在读取到所述标志位为1时,确定所述升级安装包对应的应用为系统应用,并将获取的所述升级安装包的包名记录在系统属性中。
优选地,所述终端还包括:判断单元,用于判断所述升级后的库文件与所述系统分区中保存的原始库文件是否一致,若是,则结束库文件加载操作,否则,所述替换单元将所述原始库文件替换为所述升级后的库文件,并加载所述升级后的库文件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种系统应用的库文件升级方法,其特征在于,所述方法包括:
在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;
将查找到的所述升级后的库文件替换系统分区中保存的原始库文件;
删除所述系统属性中记录的所述升级安装包的包名。
2.如权利要求1所述的方法,其特征在于,所述在确定系统属性中记录有升级安装包的包名之前,所述方法还包括:
周期性查询应用升级服务器,其中,终端与所述应用升级服务器之间建立网络连接;
在查询到升级安装包时,下载所述升级安装包,其中,所述升级安装包为应用升级服务器中应用的新版本对应的安装包。
3.如权利要求2所述的方法,其特征在于,在下载所述升级安装包之后,所述方法还包括:
调用系统服务程序接口安装所述升级安装包,其中,所述升级安装包对应的升级后的库文件保存在用户分区;
检测所述升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中。
4.如权利要求3所述的方法,其特征在于,所述检测所述升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中,具体包括:
检测所述已安装的升级安装包,获取所述升级安装包的包名,以及读取所述升级安装包对应的应用的标识位,并在读取到所述标识位为1时,确定所述升级安装包对应的应用为系统应用,并将获取的所述升级安装包的包名记录在系统属性中。
5.如权利要求1所述的方法,其特征在于,在将所述原始库文件替换为所述升级后的库文件之前,所述方法还包括:
判断所述升级后的库文件与所述系统分区中保存的原始库文件是否一致,若是,则结束库文件升级操作,否则,将所述原始库文件替换为所述升级后的库文件。
6.一种终端,其特征在于,包括:
查找单元,用于在确定系统属性中记录有升级安装包的包名时,根据所述升级安装包的包名查找用户分区中与所述升级安装包的相对应的升级后的库文件,其中,所述升级安装包的包名是在确定所述升级安装包对应的应用为系统应用时,记录在系统属性中的;
替换单元,用于将原始库文件替换为查找到的所述升级后的库文件;
删除单元,用于删除所述系统属性中记录的所述升级安装包的包名。
7.如权利要求6所述的终端,其特征在于,还包括:
查询单元,用于周期性查询应用升级服务器,其中,所述终端与所述应用升级服务器之间建立网络连接;
下载单元,用于在查询单元查询到升级安装包时,下载所述升级安装包,其中,所述升级安装包为应用升级服务器中应用的新版本对应的安装包。
8.如权利要求7所述的终端,其特征在于,还包括:
安装单元,用于调用系统服务程序接口安装所述升级安装包,其中,所述升级安装包对应的升级后的库文件保存在用户分区;
检测单元,用于检测所述升级安装包,在确定所述升级安装包对应的应用为系统应用时,将所述升级安装包的包名记录在系统属性中。
9.如权利要求8所述的终端,其特征在于,所述检测单元,具体用于:
检测所述已安装的升级安装包,获取所述升级安装包的包名,以及读取所述升级安装包对应的应用的标识位,并在读取到所述标识位为1时,确定所述升级安装包对应的应用为系统应用,并将获取的所述升级安装包的包名记录在系统属性中。
10.如权利要求6所述的终端,其特征在于,还包括:
判断单元,用于判断所述升级后的库文件与所述系统分区中保存的原始库文件是否一致,若是,则结束库文件加载操作,否则,所述替换单元将所述原始库文件替换为所述升级后的库文件,并加载所述升级后的库文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410412964.7A CN104182255B (zh) | 2014-08-20 | 2014-08-20 | 一种系统应用的库文件升级方法及终端 |
US14/547,624 US9454356B2 (en) | 2014-08-20 | 2014-11-19 | Method of and terminal for updating library file in system application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410412964.7A CN104182255B (zh) | 2014-08-20 | 2014-08-20 | 一种系统应用的库文件升级方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104182255A CN104182255A (zh) | 2014-12-03 |
CN104182255B true CN104182255B (zh) | 2017-11-21 |
Family
ID=51963331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410412964.7A Active CN104182255B (zh) | 2014-08-20 | 2014-08-20 | 一种系统应用的库文件升级方法及终端 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9454356B2 (zh) |
CN (1) | CN104182255B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101850817B1 (ko) * | 2011-11-17 | 2018-04-23 | 삼성전자주식회사 | 서로 다른 단말에 어플리케이션을 자동으로 설치하는 장치 및 방법 |
CN104484217B (zh) * | 2014-12-31 | 2017-11-28 | 闻泰通讯股份有限公司 | 分区配比编译适配方法 |
CN104980785A (zh) * | 2015-06-24 | 2015-10-14 | 冯旋宇 | 机顶盒的数据更新方法及系统 |
CN105589711B (zh) * | 2015-07-07 | 2019-02-22 | 新华三技术有限公司 | 一种设备升级方法和装置 |
CN106406919A (zh) * | 2015-07-27 | 2017-02-15 | 青岛海信移动通信技术股份有限公司 | 一种终端设备预装应用的管理方法和终端设备 |
US10860310B2 (en) | 2015-09-30 | 2020-12-08 | Apple Inc. | Software updating |
US10623514B2 (en) | 2015-10-13 | 2020-04-14 | Home Box Office, Inc. | Resource response expansion |
US10656935B2 (en) * | 2015-10-13 | 2020-05-19 | Home Box Office, Inc. | Maintaining and updating software versions via hierarchy |
CN105320554A (zh) * | 2015-12-11 | 2016-02-10 | 网易(杭州)网络有限公司 | 程序更新的方法、用于程序更新的客户端及系统 |
CN105721941B (zh) * | 2016-01-18 | 2019-08-13 | 贵阳海信电子有限公司 | 云电视的空中下载升级控制方法和装置 |
JP6649510B2 (ja) * | 2016-04-27 | 2020-02-19 | 華為技術有限公司Huawei Technologies Co.,Ltd. | パッチアップグレードに基づくファイル処理方法及び機器、端末、並びに記憶媒体 |
CN106095505A (zh) * | 2016-06-13 | 2016-11-09 | 天脉聚源(北京)传媒科技有限公司 | 一种软件升级的方法及装置 |
CN107817995B (zh) * | 2016-09-12 | 2021-03-30 | 华为技术有限公司 | 一种后台静默启动应用的方法、装置及终端设备 |
CN106599017B (zh) * | 2016-10-20 | 2019-09-17 | 广州优视网络科技有限公司 | 安装包的扫描解析方法、装置及移动终端 |
CN106648691A (zh) * | 2016-12-29 | 2017-05-10 | 深圳Tcl数字技术有限公司 | 多模块软件更新方法及系统 |
US10698740B2 (en) | 2017-05-02 | 2020-06-30 | Home Box Office, Inc. | Virtual graph nodes |
US11640429B2 (en) | 2018-10-11 | 2023-05-02 | Home Box Office, Inc. | Graph views to improve user interface responsiveness |
WO2020077487A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 优化和运行安卓应用程序的方法以及相关装置 |
CN110032412B (zh) * | 2019-02-28 | 2022-07-01 | 努比亚技术有限公司 | 一种按键输入控制方法、终端及计算机可读存储介质 |
CN110659041A (zh) * | 2019-08-22 | 2020-01-07 | 深圳市星汉智能科技有限公司 | 一种基于Android平台的应用升级方法及系统 |
CN110597543A (zh) * | 2019-09-18 | 2019-12-20 | 青岛海信医疗设备股份有限公司 | 智能终端升级方法、电子设备及存储介质 |
CN110489152A (zh) * | 2019-09-19 | 2019-11-22 | 四川虹美智能科技有限公司 | 一种基于安卓系统的应用升级方法及装置 |
CN110673869B (zh) * | 2019-09-24 | 2023-09-12 | 聚好看科技股份有限公司 | 库文件的加载方法、装置及系统 |
CN110750280B (zh) * | 2019-09-30 | 2023-06-27 | 深圳市金百锐通信科技有限公司 | 一种基于Android平台的应用升级方法及系统、存储介质 |
CN111061506A (zh) * | 2019-12-17 | 2020-04-24 | 努比亚技术有限公司 | 应用的管控方法、可穿戴设备及计算机可读存储介质 |
CN111290773B (zh) * | 2020-03-12 | 2024-01-19 | 深圳Tcl新技术有限公司 | 系统升级方法、设备及可读存储介质 |
CN113296804B (zh) * | 2020-09-01 | 2022-06-14 | 阿里云计算有限公司 | 升级数据库的方法以及装置 |
US20220377533A1 (en) * | 2021-05-19 | 2022-11-24 | Mehmood Zafarullahkhan | System of mobile device operating system and apps delivery service |
CN116069375A (zh) * | 2021-06-15 | 2023-05-05 | 荣耀终端有限公司 | 操作系统数据更新方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694070A (zh) * | 2005-06-29 | 2005-11-09 | 肖珂 | Pos终端设备的升级方法 |
CN103631617A (zh) * | 2013-11-01 | 2014-03-12 | 北京奇虎科技有限公司 | 一种终端设备卸载系统应用的方法和装置 |
CN103793248A (zh) * | 2014-01-23 | 2014-05-14 | 北京奇虎科技有限公司 | 一种应用程序升级的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721824A (en) * | 1996-04-19 | 1998-02-24 | Sun Microsystems, Inc. | Multiple-package installation with package dependencies |
US20090260004A1 (en) * | 2008-04-10 | 2009-10-15 | Palm, Inc. | Computer program updates for mobile computing device |
US8407693B2 (en) * | 2008-06-09 | 2013-03-26 | International Business Machines Corporation | Managing package dependencies |
US8843915B2 (en) * | 2011-07-28 | 2014-09-23 | Hewlett-Packard Development Company, L.P. | Signature-based update management |
CN102880495A (zh) * | 2012-10-15 | 2013-01-16 | 华为终端有限公司 | 移动终端及其软件升级方法 |
-
2014
- 2014-08-20 CN CN201410412964.7A patent/CN104182255B/zh active Active
- 2014-11-19 US US14/547,624 patent/US9454356B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694070A (zh) * | 2005-06-29 | 2005-11-09 | 肖珂 | Pos终端设备的升级方法 |
CN103631617A (zh) * | 2013-11-01 | 2014-03-12 | 北京奇虎科技有限公司 | 一种终端设备卸载系统应用的方法和装置 |
CN103793248A (zh) * | 2014-01-23 | 2014-05-14 | 北京奇虎科技有限公司 | 一种应用程序升级的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104182255A (zh) | 2014-12-03 |
US20160054990A1 (en) | 2016-02-25 |
US9454356B2 (en) | 2016-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104182255B (zh) | 一种系统应用的库文件升级方法及终端 | |
CN105867947B (zh) | 预置应用程序升级后的数据处理方法及装置 | |
JP6195182B2 (ja) | アプリケーションシナリオの識別方法、電力消費の管理方法、装置、および端末デバイス | |
TWI640923B (zh) | Application processing method and device | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
CN109614165B (zh) | 一种com组件的多版本并行运行方法和装置 | |
US11086638B2 (en) | Method and apparatus for loading application | |
CN107797820B (zh) | 用于生成补丁的方法和装置 | |
CN104866342A (zh) | 在智能终端上同时开启多个同一应用程序的方法和装置 | |
JP2018517206A (ja) | アプリケーションページクイックアクセス | |
WO2014139300A1 (en) | Method and device for loading a plug-in | |
CN104915257A (zh) | 一种基于Android系统应用的更换主题方法和装置 | |
US11747973B2 (en) | Rule-based user interface layout rearrangement | |
CN109522500B (zh) | 网页显示方法、装置、终端和存储介质 | |
CN110688175A (zh) | 文件加载的方法、装置、终端设备和存储介质 | |
US9880861B2 (en) | Method and apparatus for page view switching | |
WO2020211554A1 (zh) | 缓存处理方法、装置、设备及计算机可读存储介质 | |
CN104699503A (zh) | 一种替换安卓系统中函数的执行逻辑的方法及装置 | |
US20140304285A1 (en) | Terminal and method for managing files associated with an application | |
CN105354490B (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN105700872A (zh) | 智能终端应用程序升级的控制方法及系统 | |
CN103677933A (zh) | 一种为智能卡打补丁的方法和系统 | |
US10552135B1 (en) | Reducing a size of an application package | |
CN112235132A (zh) | 动态配置服务的方法、装置、介质以及服务器 | |
CN111061501B (zh) | 安卓应用的热更新方法及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |