CN108491225A - 一种更新包生成方法及移动终端 - Google Patents

一种更新包生成方法及移动终端 Download PDF

Info

Publication number
CN108491225A
CN108491225A CN201810213089.8A CN201810213089A CN108491225A CN 108491225 A CN108491225 A CN 108491225A CN 201810213089 A CN201810213089 A CN 201810213089A CN 108491225 A CN108491225 A CN 108491225A
Authority
CN
China
Prior art keywords
version
edition
module
update packet
target object
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.)
Granted
Application number
CN201810213089.8A
Other languages
English (en)
Other versions
CN108491225B (zh
Inventor
曹元�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201810213089.8A priority Critical patent/CN108491225B/zh
Publication of CN108491225A publication Critical patent/CN108491225A/zh
Application granted granted Critical
Publication of CN108491225B publication Critical patent/CN108491225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种更新包生成方法及移动终端,该方法包括:获取目标对象的第一版本的更新包以及所述目标对象的第二版本的安装包;将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;若所述第一版本与所述第二版本的差异程度大于预设阈值,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。本发明提供的更新包生成方法无需用户下载所述目标对象的第二版本的安装包,而是可以利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点。

Description

一种更新包生成方法及移动终端
技术领域
本发明涉及通信技术领域,尤其涉及一种更新包生成方法及移动终端。
背景技术
随着移动终端技术的不断发展,以及用户需求的不断变化,移动终端设备上安装的***和应用程序也是不断更新的。目前,***或应用程序的更新一般是通过增量升级包或全量升级包来实现的,而移动终端在升级更新后,为避免占用***空间,通常会删除旧安装包,这样,若更新后的***或应用程序相较原来的版本存在较大变化,以致用户期望退回到原来的版本时,用户需要重新搜索并下载原版本的安装包。
可见,现有移动终端在需要将更新后的***或应用程序还原至原来的版本时,需用户重新搜索并下载原版本的安装包,从而导致操作较为复杂的问题。
发明内容
本发明实施例提供一种更新包生成方法及移动终端,以解决移动终端在需要将更新后的***或应用程序还原至原来的版本时,需用户重新搜索并下载原版本的安装包,从而导致操作较为复杂的问题。
为解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种更新包生成方法,应用于移动终端,所述方法包括:
获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
第二方面,本发明实施例提供一种移动终端,包括:
获取模块,用于获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
对比模块,用于将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
第一生成模块,用于在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
第三方面,本发明实施例提供一种移动终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述更新包生成方法中的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述更新包生成方法中的步骤。
本发明实施例中,所述移动终端可以通过获取目标对象的第一版本的更新包和所述目标对象的第二版本的安装包,并对比所述第一版本与所述第二版本的差异程度,然后在所述的第一版本与所述第二版本的差异程度超过预设阈值的情况下,生成用于从所述目标对象的第一版本还原至第二版本的更新包。这样,若需将所述目标对象从所述第一版本还原至所述第二版本,则无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种更新包生成方法的流程图;
图2是本发明实施例提供的另一种更新包生成方法的流程图;
图3是本发明实施例提供的一种另一种更新包生成方法的流程图;
图4是本发明实施例提供的一种移动终端的结构示意图;
图5是本发明实施例提供的另一种移动终端的结构示意图;
图6a是本发明实施例提供的另一种移动终端的结构示意图;
图6b是本发明实施例提供的另一种移动终端的结构示意图;
图7是本发明实施例提供的另一种移动终端的结构示意图;
图8是本发明实施例提供的另一种移动终端的结构示意图;
图9是本发明实施例提供的一种移动终端的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种更新包生成方法的流程图,应用于移动终端,如图1所示,所述方法包括以下步骤:
步骤101、获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本。
本实施例中,上述目标对象可以是所述移动终端的操作***或所述移动终端上安装的应用程序。所述目标对象的第二版本可以是所述移动终端当前安装的所述目标对象的版本,所述目标对象的第一版本则可以是高于所述第一版本的更新版本,例如:某应用程序的第二版本为v1.1,第一版本为v1.2。
所述目标对象的第一版本的更新包可以是从所述目标对象的第二版本更新至所述目标对象的第一版本的差分包,也可以是从所述目标对象的第二版本更新至所述目标对象的第一版本的完整安装包,即所述第一版本的更新包中可以只包括所述第二版本与所述第一版本的差异部分的内容,也可以包括所述第一版本的全部内容。所述目标对象的第二版本的安装包可以是所述目标对象的第二版本的完整包,即包括所述第二版本的全部内容。
上述获取目标对象的第一版本的更新包可以是下载所述目标对象的第一版本的更新包,也可以是获取已下载的所述目标对象的第一版本的更新包。上述获取所述目标对象的第二版本的安装包可以是从所述移动终端的***分区中获取当前安装的所述目标对象的版本的安装包。
此外,需说明的是,该步骤中,获取所述目标对象的第一版本的更新包可以是在所述移动终端启动更新所述目标对象的任务时进行,也可以是在所述移动终端下载所述目标对象的更新版本的更新包时进行。
步骤102、将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度。
由于所述第一版本为所述目标对象的更新版本,而所述第二版本为所述目标对象的现版本,因此,该步骤中,可以对比所述第一版本相较于所述第二版本的差异程度,且若所述第一版本的更新包为差分包,则在对比之前,可以先将所述第一版本的更新包与所述第二版本的安装包进行合成,得到所述第一版本的安装包,然后将所述第一版本的安装包的内容与所述第二版本的安装包的内容进行对比,若所述第一版本的更新包为完整的安装包,则无需进行合成,而是可以直接将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比。例如:可以对比所述第一版本与所述第二版本面向用户的操作流程的差异,或对比所述第一版本与所述第二版本的界面布局差异。
在对比的过程中,可以对所述第一版本的更新包的内容与所述第二版本的安装包的内容的差异进行量化,从而得到所述第一版本与所述第二版本的差异程度。例如:若对比出所述第一版本的某界面上的组件数量为六个,而所述第二版本该界面上的组件数量为五个,则可以确定所述第一版本与所述第二版本相对于该界面的差异程度为20%。更为具体地,由于在对比时,可以将所述第一版本的更新包中各不同模块的内容分别与所述第二版本的安装包中各不同模块的内容进行对比,从而可以得到所述第一版本与所述第二版本的各不同模块的内容的差异程度,因此,在确定最终差异程度时,可以对各不同模块的内容的差异程度取不同的权重来计算出所述第一版本与所述第二版本的差异程度。
需说明的是,在对比时,可以仅将所述第一版本的更新包中的目标内容与所述第二版本的安装包的目标内容进行对比,其中,所述第一版本的更新包中的目标内容可以是所述第一版本的更新包中相比所述第二版本有更新的内容,所述第二版本的安装包的目标内容则可以是所述第二版本中与所述第一版本的更新包中的目标内容具有相同标识的内容。例如:若所述第一版本中只对某个界面的布局进行了更新,则可以只对比所述第一版本中该界面的布局与所述第二版本中该界面的布局。这样,对于所述第一版本的更新包中相比所述第二版本没有更新的内容,则无需进行对比,以节省***资源。
步骤103、在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
上述预设阈值可以是所述移动终端预先设置的差异程度阈值,也可以是由用户定义的差异程度阈值。本实施例中,若对比出所述第一版本与所述第二版本的差异程度大于预设阈值,则可以生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包,所述第二版本的更新包可以是差分包,也可以是完整的安装包,优选地,为避免占用较大存储空间,可以生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新差分包。具体地,可以是根据所述第一版本与所述第二版本的内容差异,利用差分算法生成从所述目标对象的第一版本还原至所述目标对象的第二版本的逆向更新包。
此外,需说明的是,若该步骤是在所述移动终端更新所述目标对象的过程中进行的,则可以在对比出所述第一版本与所述第二版本的差异程度大于预设阈值时,对所述第二版本的安装包进行备份,以防在更新时所述第二版本的安装包被所述第一版本的更新包覆盖,然后可以根据所备份的所述第二版本的安装包和所述第一版本的更新包,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的逆向更新包,且在生成逆向更新包后,便可以删除所备份的所述第二版本的安装包,以释放所述移动终端的存储空间。
本发明实施例中,上述移动终端可以是任何具有存储媒介的设备,例如:计算机(Computer)、手机、平板电脑(Tablet Personal Computer)、膝上型电脑(LaptopComputer)、个人数字助理(personal digital assistant,简称PDA)、移动上网装置(Mobile Internet Device,简称MID)或可穿戴式设备(Wearable Device)等终端设备。
本实施例中的更新包生成方法,所述移动终端可以通过获取目标对象的第一版本的更新包和所述目标对象的第二版本的安装包,并对比所述第一版本与所述第二版本的差异程度,然后在所述的第一版本与所述第二版本的差异程度超过预设阈值的情况下,生成用于从所述目标对象的第一版本还原至第二版本的更新包。这样,若需将所述目标对象从所述第一版本还原至所述第二版本,则无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点。
参见图2,图2是本发明实施例提供的另一种更新包生成方法的流程图,应用于移动终端,本实施例在图1所示的实施例的基础上,对所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤进行了细化,从而使得所述第一版本的更新包的内容与所述第二版本的安装包的内容的对比方式更为清楚具体。如图2所示,所述方法包括以下步骤:
步骤201、获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本。
该步骤的具体实施方式可以参见图1所示的方法实施例中步骤101的实施方式,为避免重复,这里不再赘述。
步骤202、分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,其中,所述目标模块为所述第一版本的更新包中相比所述第二版本有更新的模块。
本实施例中,更新包或安装包可以包括多个不同的模块,且每个模块均具有不同的名称,例如:操作***的安装包可以包括若干个应用程序模块和***配置模块,每个模块采用不同的名称命名。因此,该步骤中,可以分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,其中,所述目标模块可以为所述第一版本的更新包中相比所述第二版本有更新的模块,所述目标模块可以有一个或多个。具体地,可以先确定所述第一版本的更新包中的目标模块,然后确定所述第二版本的安装包中与所述目标模块名称相同的模块,最后将这两个模块的内容进行对比,具体的对比方式可以参见图1所示的方法实施例中步骤102的相关实施方式,为避免重复,这里不再赘述。
在分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比后,可以得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,从而可以方便所述移动终端对更新后变化较大的模块生成逆向更新包,进行便于用户对具体模块进行还原。
步骤203、若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包。
本实施例中,若对比后确定所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则可以生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包,具体地,可以是利用差分算法生成从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的逆向更新包。
需说明的是,若该步骤是在所述移动终端更新所述目标对象的过程中进行的,则可以在确定所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值时,对所述第二版本的安装包中与所述第一目标模块名称相同的模块进行备份,以防在更新时该模块被所述第一目标模块覆盖,然后再根据所备份的模块和所述第一目标模块,生成从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的逆向更新包,且在生成逆向更新包后,便可以删除所备份的模块,以释放所述移动终端的存储空间。
这样,当所述移动终端将所述目标对象由旧版本更新至新版本后,若用户不适应某个模块的变化,则可以利用所生成的该模块的逆向更新包,对该模块的版本进行还原,若用户不适应若干个模块的变化,也可以将所生成的这若干个模块的逆向更新包,将这若干模块统一还原至原来的版本,从而使得用户可以方便灵活地对具体模块进行版本恢复。
可选的,在步骤201之后,步骤202之前,所述方法还包括:
识别所述第一版本的更新包中具有调用关系的至少两个模块;
在步骤203之后,所述方法还包括:
若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
该实施方式中,在获取所述目标对象的第一版本的更新包后,可以对所述第一版本的更新包中的各个模块进行识别,从而识别出所述第一版本的更新包中具有调用关系的至少两个模块,具体地,可以是扫描所述第一版本的更新包中的源码文件,从源码文件中识别出具有调用关联的至少两个模块,通常若两个模块之间具有调用关系,会在源码文件中进行调用声明,并在调用定义中指明被调用方的地址,这样,通过扫描源码文件,便可以识别出所述第一版本的更新包中具有调用关联的至少两个模块。
且该实施方式中,在生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包后,还可以查找所述第一版本的更新包中是否存在与所述第一目标模块具有调用关系的第二目标模块,具体地,可以是根据已识别的所述第一版本的更新包中具有调用关系的至少两个模块,查找所述第一版本的更新包中是否存在与所述第一目标模块具有调用关系的第二目标模块。若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则可以生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
这样,对于具有调用关系的至少两个模块,若生成了其中任意一个模块由第一版本还原至第二版本的更新包,则需同时生成其他模块由第一版本还原至第二版本的更新包,从而可以防止所述移动终端在对某个模块进行还原后,因未对其他与该模块具有调用关系的模块进行还原而出现不兼容或程序崩溃的问题。
优选地,该实施方式中,在识别出所述第一版本的更新包中具有调用关系的至少两个模块后,还可以将具有调用关系的至少两个模块标记为关联模块,并生成更新清单,所述更新清单中记录所述第一版本的更新包中的每个模块的基本信息,以及分别与每个模块相关联的模块。此外,还可以对所述更新清单进行分组,如可以将所述第一版本的更新包中标记为关联模块的模块划分为一组,将所述第一版本的更新包中未标记为关联模块的模块划分为另一组。例如:所述第一版本的更新包包括A模块、B模块、C模块、D模块、E模块和F模块,而B模块和D模块具有调用关系,C模块和F模块具有调用关系,则生成的更新清单中可以将A模块和E模块划分为一组,B模块、D模块、C模块和F模块划分为一组,其中,B模块和D模块为关联模块,C模块和F模块为关联模块。
这样,在对比时,可以根据所述更新清单,依次将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比时,若对比出所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则在生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包后,可以先从所述更新清单中查找是否存在与所述第一目标模块关联的第二目标模块,若存在,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
例如:若生成的更新清单中A模块和C模块为一组,B模块和D模块为一组,其中,B模块和D模块为关联模块,则可以依次将所述第一版本的更新包中的A模块、C模块、B模块分别与所述第二版本的安装包中的A模块、C模块、B模块进行对比,若对比出所述第一版本的更新包中的B模块与所述第二版本的安装包中的B模块的差异程度大于预设阈值,则生成用于从B模块的第一版本还原至B模块的第二版本的更新包,并生成用于从D模块的第一版本还原至D模块的第二版本的更新包,而无需再将所述第一版本的更新包中的D模块分别与所述第二版本的安装包中的D模块进行对比。
这样,对于具有调用关系的至少两个模块,只要对比出其中一个模块的内容与所述第二版本的安装包中与该模块名称相同的模块的内容差异程度大于预设阈值,则无需再对具有调用关系的至少两个模块中的其他模块进行对比,从而可以节省一定的***资源。
可选的,在所述若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包的步骤之后,所述方法还包括:
将所生成的所有更新包制作成压缩包,并存储至所述移动终端的存储空间。
该实施方式中,可以将生成的所有更新包制作成压缩包,并存储至所述移动终端的存储空间,这样,不仅可以节省所述移动终端的存储空间,而且便于用户查找所生成的更新包,并方便用户对更新后变化较大的模块进行统一还原。
本实施例中,在图1所示的实施例的基础上,对所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤进行了细化,从而使得所述第一版本的更新包的内容与所述第二版本的安装包的内容的对比方式更为清楚具体。另外,本实施例在图1所示的实施例的基础上还增加了多种可选的实施方式,这些可选的实施方式可以相互结合实现,也可以单独实现,且都能达到无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点的技术效果。
参见图3,图3是本发明实施例提供的另一种更新包生成方法的流程图,应用于移动终端,本实施例在图1所示的实施例的基础上,对所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤进行了细化,从而使得所述第一版本的更新包的内容与所述第二版本的安装包的内容的对比方式更为清楚具体。如图2所示,所述方法包括以下步骤:
步骤301、获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本。
该步骤的具体实施方式可以参见图1所示的方法实施例中步骤101的实施方式,为避免重复,这里不再赘述。
步骤302、将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度。
本实施例中,由于界面的布局配置是影响用户使用习惯的重要因素,因此,该步骤中,可以对比所述第一版本与所述第二版本在布局配置上的差异,具体地,可以是分别扫描所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件,并将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,以得到所述第一版本与所述第二版本在布局配置上的差异程度。
例如:通过对比所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件,可以得到出所述第一版本与所述第二版本的界面元素(如界面按钮、选项、菜单等)的排布差异,并通过对所述第一版本与所述第二版本的界面元素排布差异进行量化,可以得到所述第一版本与所述第二版本在布局配置上的差异程度。
这样,该步骤中,通过将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度,从而可以从符合用户使用习惯的角度来对比所述第一版本与所述第二版本的差异程度,进而提升用户体验。
步骤303、在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
本实施例中,若所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值,则可以认为所述第一版本与所述第二版本存在较大差异,因此,该步骤中,可以在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包,具体的生成方式可以参见图1所示的方法实施例中步骤104的相关实施方式,为避免重复,这里不再赘述。
需要说明的是,本实施例中,步骤302和步骤303是可替换的,例如,可将步骤302替换为:
将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异;
根据所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,确定所述第一版本与所述第二版本在界面跳转上的差异程度。
可将步骤303替换为:
在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
由于面向用户的操作流程也是影响用户使用习惯的另一重要因素,因此,本实施例中,也可以对比所述第一版本与所述第二版本在界面跳转上的差异,而界面间的跳转方式体现在安装包的源代码中,因此,具体可以是分别扫描所述第一版本的更新包中的源代码与所述第二版本的安装包中的源代码,并将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,其中,目标跳转界面可以理解为所需跳转的目标界面,界面跳转操作值可以理解为跳转到目标界面的触发操作指令。
然后通过对所述第一版本与所述第二版本的界面跳转操作值的差异或目标跳转界面的差异进行量化,或对所述第一版本与所述第二版本的界面跳转操作值的差异和目标跳转界面的差异进行量化和权重计算,可以得到所述第一版本与所述第二版本在界面跳转上的差异程度。
若所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值,则可以认为所述第一版本与所述第二版本存在较大差异,因此,该步骤中,可以在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包,具体的生成方式可以参见图1所示的方法实施例中步骤104的相关实施方式,为避免重复,这里不再赘述。
这样,该实施方式中,通过将所述第一版本的更新包中的源代码与所述第二版本的安装包中的源代码进行对比,得到所述第一版本与所述第二版本在界面跳转上的差异程度,从而可以从面向用户的操作流程的角度来对比所述第一版本与所述第二版本的差异程度,进而提升用户体验。
可选的,步骤302包括:
将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异;
根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度。
该实施方式中,在将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比时,可以对比所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,其中,界面组件可以是界面上的按钮、列表或菜单等,在布局配置文件中,对于界面上的每个组件均有约定的组件名称,以及每个组件上所显示的内容。因而,该实施方式中,可以对比出所述第一版本与所述第二版本的界面组件数量差异,和/或对比出所述第一版本与所述第二版本中相同组件名称的界面组件的显示内容差异。
然后通过对所述第一版本与所述第二版本的界面组件的数量差异或显示内容差异进行量化,或对所述第一版本与所述第二版本的界面组件的数量差异和显示内容差异进行量化和权重计算,可以得到所述第一版本与所述第二版本在布局配置上的差异程度。
这样,该实施方式中,通过将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,并根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度,从而可以从更细节且符合用户使用习惯的角度来对比所述第一版本与所述第二版本的差异程度,进而提升用户体验。
本实施例中,在图1所示的实施例的基础上,对所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤进行了细化,从而使得所述第一版本的更新包的内容与所述第二版本的安装包的内容的对比方式更为清楚具体。另外,本实施例在图1所示的实施例的基础上还增加了多种可选的实施方式,这些可选的实施方式可以相互结合实现,也可以单独实现,且都能达到无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点的技术效果。
参见图4,图4是本发明实施例提供的一种移动终端的结构示意图,如图4所示,移动终端400包括:
获取模块401,用于获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
对比模块402,用于将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
第一生成模块403,用于在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
可选的,所述对比模块402用于分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,其中,所述目标模块为所述第一版本的更新包中相比所述第二版本有更新的模块。
所述第一生成模块403用于若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包。
可选的,如图5所示,所述移动终端400还包括:
识别模块404,用于识别所述第一版本的更新包中具有调用关系的至少两个模块;
第二生成模块405,用于若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
可选的,如图6a和图6b所示,所述对比模块402包括:
第一对比单元4021,用于将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度;或者
第二对比单元4022,用于将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异;
确定单元4023,用于根据所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,确定所述第一版本与所述第二版本在界面跳转上的差异程度;
所述第一生成模块403用于在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包;或者
用于在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
可选的,如图7所示,所述第一对比单元4021包括:
对比子单元40211,用于将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异;
确定子单元40212,用于根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度。
可选的,如图8所示,所述移动终端400还包括:
制作与存储模块406,用于将所生成的所有更新包制作成压缩包,并存储至所述移动终端400的存储空间。
移动终端400能够实现图1至图3的方法实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。本发明实施例的移动终端400可以通过获取目标对象的第一版本的更新包和所述目标对象的第二版本的安装包,并对比所述第一版本与所述第二版本的差异程度,然后在所述的第一版本与所述第二版本的差异程度超过预设阈值的情况下,生成用于从所述目标对象的第一版本还原至第二版本的更新包。这样,若需将所述目标对象从所述第一版本还原至所述第二版本,则无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点。
图9为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、处理器910、以及电源911等部件。本领域技术人员可以理解,图9中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器910,用于获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
可选的,处理器910还用于:分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,其中,所述目标模块为所述第一版本的更新包中相比所述第二版本有更新的模块;
若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包。
可选的,处理器910还用于:识别所述第一版本的更新包中具有调用关系的至少两个模块;
若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
可选的,处理器910还用于:将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度;或者
将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异;
根据所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,确定所述第一版本与所述第二版本在界面跳转上的差异程度;
在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包;或者
在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
可选的,处理器910还用于:将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异;
根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度。
可选的,处理器910还用于:将所生成的所有更新包制作成压缩包,并存储至所述移动终端的存储空间。
移动终端900能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。本发明实施例的移动终端900可以通过获取目标对象的第一版本的更新包和所述目标对象的第二版本的安装包,并对比所述第一版本与所述第二版本的差异程度,然后在所述的第一版本与所述第二版本的差异程度超过预设阈值的情况下,生成用于从所述目标对象的第一版本还原至第二版本的更新包。这样,若需将所述目标对象从所述第一版本还原至所述第二版本,则无需用户搜索并下载所述目标对象的第二版本的安装包,而是可以直接利用所生成的更新包将所述目标对象从所述第一版本还原至所述第二版本,从而具备操作简便的优点。
应理解的是,本发明实施例中,射频单元901可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器910处理;另外,将上行的数据发送给基站。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元901还可以通过无线通信***与网络和其他设备通信。
移动终端通过网络模块902为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元903可以将射频单元901或网络模块902接收的或者在存储器909中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元903还可以提供与移动终端900执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元903包括扬声器、蜂鸣器以及受话器等。
输入单元904用于接收音频或视频信号。输入单元904可以包括图形处理器(Graphics Processing Unit,简称GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元906上。经图形处理器9041处理后的图像帧可以存储在存储器909(或其它存储介质)中或者经由射频单元901或网络模块902进行发送。麦克风9042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元901发送到移动通信基站的格式输出。
移动终端900还包括至少一种传感器905,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板9061的亮度,接近传感器可在移动终端900移动到耳边时,关闭显示面板9061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器905还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元906用于显示由用户输入的信息或提供给用户的信息。显示单元906可包括显示面板9061,可以采用液晶显示器(Liquid Crystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板9061。
用户输入单元907可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板9071上或在触控面板9071附近的操作)。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器910,接收处理器910发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板9071。除了触控面板9071,用户输入单元907还可以包括其他输入设备9072。具体地,其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板9071可覆盖在显示面板9061上,当触控面板9071检测到在其上或附近的触摸操作后,传送给处理器910以确定触摸事件的类型,随后处理器910根据触摸事件的类型在显示面板9061上提供相应的视觉输出。虽然在图9中,触控面板9071与显示面板9061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板9071与显示面板9061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元908为外部装置与移动终端900连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元908可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端900内的一个或多个元件或者可以用于在移动终端900和外部装置之间传输数据。
存储器909可用于存储软件程序以及各种数据。存储器909可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器910是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器909内的软件程序和/或模块,以及调用存储在存储器909内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器910可包括一个或多个处理单元;优选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
移动终端900还可以包括给各个部件供电的电源911(比如电池),优选的,电源911可以通过电源管理***与处理器910逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
另外,移动终端900包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器910,存储器909,存储在存储器909上并可在所述处理器910上运行的计算机程序,该计算机程序被处理器910执行时实现上述更新包生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述更新包生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (11)

1.一种更新包生成方法,应用于移动终端,其特征在于,所述方法包括:
获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤,包括:
分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,其中,所述目标模块为所述第一版本的更新包中相比所述第二版本有更新的模块;
所述在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包的步骤,包括:
若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包。
3.根据权利要求2所述的方法,其特征在于,在所述获取目标对象的第一版本的更新包的步骤之后,在所述分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度的步骤之前,所述方法还包括:
识别所述第一版本的更新包中具有调用关系的至少两个模块;
在所述若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包的步骤之后,所述方法还包括:
若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度的步骤,包括:
将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度;或者
将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异;
根据所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,确定所述第一版本与所述第二版本在界面跳转上的差异程度;
所述在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包的步骤,包括:
在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包;或者
在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度的步骤,包括:
将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异;
根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度。
6.一种移动终端,其特征在于,包括:
获取模块,用于获取目标对象的第一版本的更新包,并获取所述目标对象的第二版本的安装包,其中,所述目标对象包括操作***或应用程序,所述第一版本高于所述第二版本,所述第二版本为所述移动终端当前所安装的所述目标对象的版本;
对比模块,用于将所述第一版本的更新包的内容与所述第二版本的安装包的内容进行对比,得到所述第一版本与所述第二版本的差异程度;
第一生成模块,用于在所述第一版本与所述第二版本的差异程度大于预设阈值的情况下,生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
7.根据权利要求6所述的移动终端,其特征在于,所述对比模块用于分别将所述第一版本的更新包中的目标模块的内容与所述第二版本的安装包中与所述目标模块名称相同的模块的内容进行对比,得到所述目标模块与所述第二版本的安装包中与所述目标模块名称相同的模块的差异程度,其中,所述目标模块为所述第一版本的更新包中相比所述第二版本有更新的模块;
所述第一生成模块用于若所述第一版本的更新包中存在第一目标模块与所述第二版本的安装包中与所述第一目标模块名称相同的模块的差异程度大于预设阈值,则生成用于从所述第一目标模块的第一版本还原至所述第一目标模块的第二版本的更新包。
8.根据权利要求7所述的移动终端,其特征在于,所述移动终端还包括:
识别模块,用于识别所述第一版本的更新包中具有调用关系的至少两个模块;
第二生成模块,用于若所述第一版本的更新包中存在与所述第一目标模块具有调用关系的第二目标模块,则生成用于从所述第二目标模块的第一版本还原至所述第二目标模块的第二版本的更新包。
9.根据权利要求6所述的移动终端,其特征在于,所述对比模块包括:
第一对比单元,用于将所述第一版本的更新包中的布局配置文件与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本在布局配置上的差异程度;或者
第二对比单元,用于将所述第一版本的更新包中的源代码与所述第二版本的安装包的源代码进行对比,得到所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异;
确定单元,用于根据所述第一版本与所述第二版本的界面跳转操作值的差异和/或目标跳转界面的差异,确定所述第一版本与所述第二版本在界面跳转上的差异程度;
所述第一生成模块用于在所述第一版本与所述第二版本在布局配置上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包;或者
用于在所述第一版本与所述第二版本在界面跳转上的差异程度大于预设阈值的情况下,则生成用于从所述目标对象的第一版本还原至所述目标对象的第二版本的更新包。
10.根据权利要求9所述的移动终端,其特征在于,所述第一对比单元包括:
对比子单元,用于将所述第一版本的更新包中的布局配置文件中与所述第二版本的安装包中的布局配置文件进行对比,得到所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异;
确定子单元,用于根据所述第一版本与所述第二版本的界面组件的数量差异和/或显示内容差异,确定所述第一版本与所述第二版本在布局配置上的差异程度。
11.一种移动终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的更新包生成方法中的步骤。
CN201810213089.8A 2018-03-15 2018-03-15 一种更新包生成方法及移动终端 Active CN108491225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810213089.8A CN108491225B (zh) 2018-03-15 2018-03-15 一种更新包生成方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810213089.8A CN108491225B (zh) 2018-03-15 2018-03-15 一种更新包生成方法及移动终端

Publications (2)

Publication Number Publication Date
CN108491225A true CN108491225A (zh) 2018-09-04
CN108491225B CN108491225B (zh) 2021-10-12

Family

ID=63339335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810213089.8A Active CN108491225B (zh) 2018-03-15 2018-03-15 一种更新包生成方法及移动终端

Country Status (1)

Country Link
CN (1) CN108491225B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857807A (zh) * 2020-07-29 2020-10-30 海尔优家智能科技(北京)有限公司 版本适配结果的确定方法及装置、存储介质、电子装置
CN112068870A (zh) * 2020-08-11 2020-12-11 广州点云科技有限公司 一种程序差异增量升级的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932909A (zh) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 一种终端软件升级方法及装置
US20160055196A1 (en) * 2013-04-15 2016-02-25 Contextual Systems Pty Ltd Methods and systems for improved document comparison
CN106325892A (zh) * 2015-06-15 2017-01-11 中兴通讯股份有限公司 差分回退升级方法及装置
CN106569844A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 程序代码更新的处理方法、装置和设备
CN107566720A (zh) * 2017-08-25 2018-01-09 维沃移动通信有限公司 一种更新移动终端的标定值的方法及移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160055196A1 (en) * 2013-04-15 2016-02-25 Contextual Systems Pty Ltd Methods and systems for improved document comparison
CN104932909A (zh) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 一种终端软件升级方法及装置
CN106325892A (zh) * 2015-06-15 2017-01-11 中兴通讯股份有限公司 差分回退升级方法及装置
CN106569844A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 程序代码更新的处理方法、装置和设备
CN107566720A (zh) * 2017-08-25 2018-01-09 维沃移动通信有限公司 一种更新移动终端的标定值的方法及移动终端

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A318013800: "OTA升级包制作工具处理过程分析", 《博客园 HTTPS://WWW.CNBLOGS.COM/PENGMN/P/7259680.HTML》 *
刘阳等: "函数抽取重构的自动检测方法", 《计算机科学》 *
平淡: "有备无患 让微软推送完整版ESD ", 《电脑爱好者》 *
朱小谦: "有限差分离散模型分布并行计算支持库技术 ", 《计算机工程与科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857807A (zh) * 2020-07-29 2020-10-30 海尔优家智能科技(北京)有限公司 版本适配结果的确定方法及装置、存储介质、电子装置
CN112068870A (zh) * 2020-08-11 2020-12-11 广州点云科技有限公司 一种程序差异增量升级的方法

Also Published As

Publication number Publication date
CN108491225B (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
CN108536411A (zh) 一种移动终端控制方法及移动终端
CN109270986A (zh) 柔性屏终端及其显示方法、以及计算机可读存储介质
CN109672655A (zh) 一种差分升级的方法、装置及***
CN109462885A (zh) 一种网络切片注册方法及终端
CN110035181A (zh) 一种快应用卡片主题设置方法及终端
CN109814930A (zh) 一种应用加载方法、装置及移动终端
CN107967153A (zh) 一种应用程序的管理方法及移动终端
CN108541015A (zh) 一种信号强度提示方法及移动终端
CN109639866A (zh) 一种显示方法及终端
CN108469968A (zh) 一种应用程序处理方法及移动终端
CN109743724A (zh) 一种嵌入式sim卡的管理方法及移动终端
CN107450795A (zh) 状态栏图标加载方法、终端和计算机可读存储介质
CN109766119A (zh) 恢复分区升级方法、终端和计算机可读存储介质
CN108920054A (zh) 一种应用推荐方法及终端
CN109408080A (zh) 一种应用升级的方法及终端
CN108566638B (zh) 一种更新配置文件的方法及移动终端
CN108491225A (zh) 一种更新包生成方法及移动终端
CN110012152A (zh) 一种界面显示方法及终端设备
CN109933196A (zh) 一种屏幕控制方法、装置及终端设备
CN109745699A (zh) 一种响应触控操作的方法及终端设备
CN109284146A (zh) 一种轻应用开启方法及移动终端
CN109471524A (zh) 一种控制马达振动的方法及移动终端
CN108762799A (zh) 一种更新应用的方法及终端
CN108710501A (zh) 一种更新应用的方法及终端
CN109189515A (zh) 一种应用启动方法、终端及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant