CN106020882A - 一种应用升级方法、智能终端及升级系统 - Google Patents
一种应用升级方法、智能终端及升级系统 Download PDFInfo
- Publication number
- CN106020882A CN106020882A CN201610333465.8A CN201610333465A CN106020882A CN 106020882 A CN106020882 A CN 106020882A CN 201610333465 A CN201610333465 A CN 201610333465A CN 106020882 A CN106020882 A CN 106020882A
- Authority
- CN
- China
- Prior art keywords
- program
- application
- upgraded
- upgrade
- terminal
- 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.)
- Pending
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
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
技术领域
本发明涉及通信领域,尤其涉及一种应用升级方法、智能终端及升级系统。
背景技术
安卓(Android)系统是基于Linux的开源移动操作平台。目前Android系统主要应用在手机、平板电脑、电视机等智能设备上。智能设备在上市之后,Android系统或应用程序会逐渐出现升级版本。一般情况下,升级方式包括通过在智能设备中安装Android安装包(AndroidPackage,APK),或者通过空中下载技术(Over-the-Air Technology,OTA)对智能设备进行升级。其中,通过安装APK升级,是使用Android软件开发工具包(Software Development Kit,SDK)将需要升级的系统或应用程序打包成一个安装程序文件格式,即APK文件,并将APK文件直接传到Android模拟器或Android手机中执行安装,从而对相应的系统或应用程序进行升级;通过OTA进行升级,是指智能设备可以直接通过信号通道接收升级所需的数据,并根据升级所需的数据进行系统或者应用程序的更新升级。
目前,Android系统与运行在Android系统中的应用程序需要进行更新时,可以针对需要更新内容的差异,通过完整升级包升级或增量升级包升级两种方式来完成更新。其中完整升级包包括Android系统或应用程序进行完整安装所需的全部内容;而增量升级包仅包括与升级前的Android系统或应用程序相比,进行更新的内容。智能设备根据需要进行更新内容的不同,在需要更新内容较多时进行完整升级包升级,在需要更新内容较少时进行增量升级包升级,从而减少更新过程而对网络资源与设备资源的占用。
但随着技术发展与用户需求增长,Android系统逐渐开始应用在设备功能较为单一的智能设备中。当对这些智能设备中一部分系统文件或应用程序文件需要进行升级时,无论是通过安装增量升级包APK进行升级还是通过OTA安装增量升级包进行升级,都需要智能设备提供一定的网络交互资源将增量升级包下载到智能设备中,并提供一定的设备运算资源用于安装该增量升级包,但通常功能较为单一的智能设备出于成本控制的目的,往往其处理能力与网络交互能力较弱,因此在该智能设备上通过安装增量升级包进行系统或应用程序升级,可能会使该升级失败,或使该智能设备由于被升级过程占用较多设备资源与网络资源,降低了该智能设备的性能,从而损害了智能设备的用户体验。
发明内容
本发明的实施例提供的一种应用升级方法、智能终端及升级系统,能够在需要升级的终端不进行升级包安装的前提下,升级该终端中的待升级应用。
为达到上述目的,本申请采用如下技术方案:
第一方面,本发明的实施例提供了一种应用升级方法,应用于智能终端,该方法包括:
根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,升级数据为待升级应用中需要升级功能的源码,程序升级代码为待升级应用升级后的可执行代码;
根据程序升级代码与程序原始代码获取更新数据,程序原始代码为待升级应用升级前的可执行代码;
将更新数据同步至控制终端,以便于控制终端根据更新数据对待升级应用进行升级。
第二方面,本发明的实施例提供了一种智能终端,该智能终端包括:
处理单元,用于根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,升级数据为待升级应用中需要升级功能的源码,程序升级代码为对待升级应用升级后的可执行代码;
处理单元,还用于根据程序升级代码与程序原始代码获取更新数据,程序原始代码为待升级应用升级前的可执行代码;
同步单元,用于将更新数据同步至控制终端,以便于控制终端根据更新数据对待升级应用进行升级。
第三方面,本发明的实施例提供了一种升级系统,包括第二方面中提供智能终端以及控制终端,控制终端安装有待升级应用,控制终端用于根据更新数据对待升级应用进行升级。
本发明的实施例提供的应用升级方法、智能终端及升级系统,通过智能终端获取控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升级功能的源码与待升级应用的升级安装包相比容量较小,因此控制终端执行上述步骤所消耗的网络流量较少;其次在智能终端上根据控制终端待升级应用中需要升级功能的源码对控制终端中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可执行代码,获取控制终端中待升级应用的可执行代码需要更新的文件或数据,由于上述对终端处理功能要求较高的步骤均在智能终端中完成,因此上述步骤不会消耗控制终端的终端设备资源;之后将需要更新的文件或数据同步至控制终端,以便于控制终端根据需要更新的文件或数据进行更新,上述步骤中控制终端在升级过程中下载的文件或数据容量较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据更新数据,对控制终端中待升级应用的可执行代码进行更新,与在控制终端中运行待升级应用的升级安装包相比较,上述步骤所耗费的控制终端设备资源较少。因此本发明实施例提供的应用升级方法使控制终端在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例所提供的一种升级系统的结构示意图;
图2为本发明的另一实施例所提供的一种升级系统的结构示意图;
图3为本发明的实施例所提供的一种应用升级方法的流程示意图;
图4为本发明的另一实施例所提供的一种应用升级方法的流程示意图;
图5为本发明的实施例所提供的一种智能终端的结构示意图;
图6为本发明的实施例所提供的一种电视的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
安卓(Android)系统是基于Linux的开源移动操作平台。目前Android系统主要应用在手机、平板电脑、电视机等智能设备上。由于任何智能设备的系统,或运行在该智能设备系统中的应用软件都有可能出现BUG和需要改进的地方,因此智能设备在上市之后,应用在该智能设备上的Android系统,或运行在该智能设备Android系统中的应用程序会逐渐出现升级版本,并在升级版本中消除已出现的BUG或进行需要的改进。升级版本的Android系统或应用程序可以采用Google公司开发的android系统版本制作工具和软件进行制作。一般情况下,升级方式包括通过在智能设备中安装Android安装包(英文全称:Android Package,简称:APK),或者通过空中下载技术(英文全称:Over-the-Air Technology,简称:OTA)对智能设备进行升级。其中,通过安装APK升级,是使用Android软件开发工具包(英文全称:Software Development Kit,简称:SDK)将需要升级的系统或应用程序打包成一个安装程序文件格式,即APK文件,并将APK文件直接传到Android模拟器或Android手机中执行安装,从而对相应的系统或应用程序进行升级;通过OTA进行升级,是指智能设备可以直接通过信号通道接收升级所需的数据,并根据升级所需的数据进行系统或者应用程序的更新升级。
目前,Android系统与运行在Android系统中的应用程序的功能愈加丰富,随之而来的,Android系统安装包与应用程序安装包的容量也越来越大,因此当Android系统与运行在Android系统中的应用程序需要进行更新时,可以针对需要更新内容的差异,通过完整升级包升级或增量升级包升级两种方式来完成更新。其中完整升级包包括Android系统或应用程序进行完整安装所需的全部内容;而增量升级包仅包括与升级前的Android系统或应用程序相比,进行更新的内容,当智能设备接收到增量升级包后,将升级前的Android系统或应用程序与增量升级包进行组合,得到升级后的Android系统或应用程序。智能设备根据需要进行更新内容的不同,在需要更新内容较多时进行完整升级包升级,在需要更新内容较少时进行增量升级包升级,从而减少更新过程而对网络资源与设备资源的占用。
但随着技术发展与用户需求增长,Android系统逐渐开始应用在设备功能较为单一的智能设备中。当对这些智能设备中一部分系统文件或应用程序文件需要进行升级时,无论是通过安装增量升级包APK进行升级还是通过OTA安装增量升级包进行升级,都需要智能设备提供一定的网络交互资源将增量升级包下载到智能设备中,并提供一定的设备运算资源用于安装该增量升级包,但通常功能较为单一的智能设备出于成本控制的目的,往往其处理能力与网络交互能力较弱,因此在该智能设备上通过安装增量升级包进行系统或应用程序升级,可能会使该升级失败,或使该智能设备由于被升级过程占用较多设备资源与网络资源,降低了该智能设备的性能,从而损害了智能设备的用户体验。
如附图1所示,通常情况下,控制终端12在需要对其自身上的应用进行升级时,控制终端12根据需求从升级服务器11下载增量升级包或完整升级包,并在控制终端12上安装增量升级包或完整升级包,从而对需要升级的应用进行升级。但当控制终端12与升级服务器11网络交互能力较弱,或控制终端12的处理能力较弱时,会使控制终端12从升级服务器11下载增量升级包或完整升级包的过程较慢或容易出现错误,或使控制终端12安装增量升级包或完整升级包的过程较慢或容易出现错误,从而造成升级失败。因此通常情况下,控制终端12会被升级过程占用较多的终端设备资源与网络资源,降低了该控制终端的性能,从而损害了控制终端的用户体验。
如附图2所示,针对上述问题,本发明的实施例提供了一种升级系统24,包括智能终端23与控制终端22,其中智能终端23从升级服务器21或从其他装置或根据用户设定,获取控制终端22中待升级应用的升级数据,并在智能终端23上对控制终端22中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可执行代码,得到更新数据,并将更新数据同步至控制终端22,使控制终端22根据更新数据更新待升级应用,从而使控制终端22在不进行升级包安装的前提下,升级该控制终端22中的待升级应用,从而使控制终端22中待升级应用的升级过程占用较少的控制终端22的设备资源与网络资源,提高了控制终端22的性能,改善了控制终端22的用户体验。
如附图3所示,本发明的实施例提供了一种应用升级方法,应用于上述智能终端,该方法包括:
301、根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码。
其中,待升级应用为安装于控制终端中的需要进行升级的应用,该应用安装在控制终端中,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可以为具体的二进制文件或者脚本文件,例如bin或者jar,升级数据可以为控制终端从其他装置如升级服务器处下载,也可以为用户向控制终端输入;程序升级代码为待升级应用进行升级后的可执行代码。其中应用为运行终端上的软件,应用可以为运行在终端的软件平台上的应用软件,也可以为运行在终端上的操作平台软件。
具体的,智能终端可以使用待升级应用的升级数据替换待升级应用的程序源码中需要进行更新的程序源码,并对更新后的待升级应用的程序源码进行编译,从而得到程序升级代码。
302、根据程序升级代码与程序原始代码获取更新数据。
其中,程序原始代码为待升级应用升级前的可执行代码,具体的,智能终端可以根据待升级应用的程序源码进行编译,从而得到程序原始代码。
智能终端根据程序升级代码与程序原始代码,获得程序升级代码与程序原始代码相比较,程序原始代码中需要进行更新的代码,并将该需要进行更新的代码作为更新数据。具体的,智能终端将程序升级代码与程序原始代码进行对比,从而获得程序升级代码与程序原始代码存在差异的代码,并将该存在差异的代码作为更新数据。
303、将更新数据同步至控制终端。
智能终端将更新数据同步至控制终端,可以为智能终端通过有线或无线的方法将将更新数据同步至控制终端。
304、控制终端根据更新数据对待升级应用进行升级。
其中,控制终端安装有待升级应用,控制终端根据更新数据对待升级应用进行升级,可以为控制终端根据更新数据将控制终端中待升级应用的可执行代码中需要更新的文件或数据进行更新,也可以控制终端根据更新数据将控制终端中与更新数据对应的文件进行更新。
本发明的实施例提供的一种应用升级方法,应用于智能终端,首先通过智能终端获取控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升级功能的源码与待升级应用的升级安装包相比容量较小,因此控制终端执行上述步骤所消耗的网络流量较少;其次在智能终端上根据控制终端待升级应用中需要升级功能的源码对控制终端中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可执行代码,获取控制终端中待升级应用的可执行代码需要更新的文件或数据,由于上述对终端处理功能要求较高的步骤均在智能终端中完成,因此上述步骤不会消耗控制终端的终端设备资源;之后将需要更新的文件或数据同步至控制终端,以便于控制终端根据需要更新的文件或数据进行更新,上述步骤中控制终端在升级过程中下载的文件或数据容量较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行更新,上述步骤与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少,因此本发明实施例提供的应用升级方法使控制终端在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
进一步的,如附图4所示,本发明的实施例提供了一种应用升级方法,应用于上述智能终端,该方法包括:
401、对程序源码进行校验。
其中程序源码为控制终端中待升级应用升级前的程序源码,智能终端可以从其他装置处或得程序源码,也可以在智能终端中预置程序源码。其中应用为运行终端上的软件,应用可以为运行在终端的软件平台上的应用软件,也可以为运行在终端上的操作平台软件。
智能终端对程序源码进行校验,用于验证程序源码的正确性与有效性。具体的,智能终端可以对程序源码进行奇偶校验,也可以对程序源码进行循环冗余校验(Cyclic Redundancy Check,CRC),只要能够验证程序源码的正确性与有效性即可。
优选的,智能终端在对程序源码进行校验前启动智能终端,并在启动成功后进行启动成功消息广播,智能终端在收到启动成功消息后对程序源码进行校验。
示例性的,智能终端通过如下程序获取智能终端中程序源码的储存路径,以便于根据该路径获取程序源码:
当智能终端对程序源码校验成功使,执行如下步骤402。
402、根据程序源码生成程序原始代码。
其中程序原始代码为控制终端中待升级应用升级前的可执行代码,控制终端中待升级应用在升级前以程序原始代码的形式储存在控制终端中。
智能终端根据程序源码生成程序原始代码,可以为智能终端根据程序源码进行编译,生成待升级应用在升级前的安装包,并在智能终端提供的虚拟安装环境中安装该安装包,得到程序原始代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。智能终端根据程序源码生成程序原始代码,也可以为智能终端根据程序源码直接生成程序原始代码。
403、根据待升级应用的升级数据和程序源码生成待升级应用的程序升级安装包。
其中,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可以为具体的二进制文件或者脚本文件,例如bin或者jar;程序升级代码为待升级应用进行升级后的可执行代码。智能终端根据待升级应用的升级安装包生成程序升级代码。
智能终端根据待升级应用的升级数据,将待升级应用升级前的程序源码中需要更新的文件或数据进行更新,从而得到待升级应用升级后的程序源码,优选的,智能终端使用待升级应用的升级数据直接替换待升级应用升级前的程序源码中需要更新的文件或数据。
智能终端可以对待升级应用升级后的程序源码进行编译,从而生成待升级应用升级后的程序安装包,也可以根据待升级应用升级后的程序源码直接生成待升级应用升级后的程序安装包。
示例性的,智能终端将待升级应用升级后的程序源码通过ADT打包工具打包,生成待升级应用升级后的APK。
404、安装待升级应用的升级安装包以获取程序升级代码。
智能终端根据程序升级安装包,在虚拟安装环境中安装该安装包,得到程序升级代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。
405、根据程序升级代码与程序原始代码获取更新数据。
具体的,智能终端根据程序升级代码与程序原始代码获取更新数据,可以为智能终端将程序升级代码与程序原始代码进行对比,将程序升级代码中与程序原始代码中存在差异的代码作为更新数据,也可以为智能终端将程序升级代码中与待升级应用所升级功能相关的代码与程序原始代码进行对比,并将存在差异的代码作为更新数据。
406、检测更新数据的权限。
智能终端检测更新数据的权限是否满足条件。当满足条件时,执行步骤408,当不满足条件是,执行步骤407。其中更新数据的权限满足条件可以是更新数据的权限高于权限阈值,也可以为更新数据的权限处于预设权限阈值区间,只要更新数据的权限能够只允许智能终端或控制终端中需要访问更新数据的模块、进程或线程对更新数据进行访问即可。407、智能终端修改更新数据的权限。
智能终端对更新数据的权限进行修改,只允许智能终端或控制终端中需要访问更新数据的模块、进程或线程对更新数据进行访问,防止智能终端或控制终端中的恶意程序对更新数据造成损害。
更进一步的,控制终端根据更新数据的权限将更新数据拷贝至对应的储存空间。
408、检测外界连接条件。
其中,外界连接条件为智能终端在同步更新数据至控制终端中所需的连接或接口的状态。
具体的,外界连接条件可以包括智能终端与控制终端间的有线或无线连接的状态,示例性的外界连接条件包括智能终端与控制终端间蓝牙连接的状态,外界连接条件可以还包括智能终端的Java本地接口(Java NativeInterface,JNI)的状态。
当外界连接条件满足条件时,执行如下步骤409.
409、将更新数据同步至控制终端。
智能终端通过与控制终端之间的连接将更新数据同步至控制终端。优选的,控制终端将更新数据拷贝至与更新数据的权限对应的分区。
示例性的,智能终端通过如下程序将更新数据同步至控制终端:
410、控制终端根据更新数据对待升级应用进行升级。
控制终端根据收到的更新数据对控制终端上待升级应用进行升级,具体的,控制终端使用更新数据替换待升级应用的可执行代码中对饮国的文件或数据。
优选的,控制终端在待升级应用升级完成后,向用户提示升级结果。
示例性的,控制终端通过如下程序获取更新数据储存路径,以便根据该储存路径获取更新数据:
upgradeStartNative(path)
示例性的,控制终端通过如下程序获取升级结果,以便向用户提示该升级结果:
本发明的实施例提供的一种应用升级方法,应用于智能终端,首先对程序源码进行校验,避免因程序源码出现错误导致对控制终端待升级应用升级失败。其次根据程序源码生成程序原始代码,并根据待升级应用的升级数据和程序源码生成待升级应用的程序升级安装包,从而根据程序升级安装包生成程序升级代码;其中由于待升级应用的升级数据与待升级应用的升级安装包相比容量较小,因此上述步骤所消耗的控制终端网络流量较少;之后根据程序升级安装包生成程序升级代码,并根据程序升级代码与程序原始代码获取更新数据,由于上述对终端处理功能要求较高的步骤均在智能终端中完成,因此上述步骤不会消耗控制终端较多的终端设备资源;之后修改更新数据的权限,防止智能终端或控制终端中的恶意程序对更新数据造成损害;之后检测更新数据的权限,当更新数据的权限满足条件时,检测智能终端的外界连接条件,避免因外界连接条件不满足条件导致同步失败。当外界连接条件满足条件时,将更新数据同步至控制终端,使控制终端根据更新数据进行升级;由于智能终端同步至控制终端的文件或数据容量较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行更新,上述步骤与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少,因此本发明实施例提供的应用升级方法使控制终端在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
具体的,如附图5所示,本发明的实施例提供了一种智能终端501,该智能终端501包括:
处理单元502,用于根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,并根据程序升级代码与程序原始代码获取更新数据。
其中,待升级应用为控制终端中需要进行升级的应用,该应用安装在控制终端中,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可以为具体的二进制文件或者脚本文件,例如bin或者jar,升级数据可以为控制终端从其他装置如升级服务器处下载,也可以为用户向控制终端输入;程序升级代码为待升级应用进行升级后的可执行代码。其中应用为运行终端上的软件,应用可以为运行在终端的软件平台上的应用软件,也可以为运行在终端上的操作平台软件。
具体的,处理单元502可以使用待升级应用的升级数据替换待升级应用的程序源码中需要进行更新的程序源码,并对更新后的待升级应用的程序源码进行编译,从而得到程序升级代码。
程序原始代码为待升级应用升级前的可执行代码,具体的,处理单元502可以根据待升级应用的程序源码进行编译,从而得到程序原始代码。
示例性的,智能终端通过如下程序获取智能终端中程序源码的储存路径:
处理单元502根据程序升级代码与程序原始代码,获得程序升级代码与程序原始代码相比较,程序原始代码中需要进行更新的代码,并将该需要进行更新的代码作为更新数据。具体的,处理单元502将程序升级代码与程序原始代码进行对比,从而获得程序升级代码与程序原始代码存在差异的代码,并将该存在差异的代码作为更新数据。
同步单元503,用于将更新数据同步至控制终端,以便于控制终端根据更新数据对待升级应用进行升级。
同步单元503将更新数据同步至控制终端,可以为智能终端通过有线或无线的方法将将更新数据同步至控制终端。
控制终端安装有待升级应用,控制终端根据更新数据对待升级应用进行升级,可以为控制终端根据更新数据将控制终端中待升级应用的可执行代码中需要更新的文件或数据进行更新,也可以控制终端根据更新数据将控制终端中与更新数据对应的文件进行更新。
示例性的,智能终端通过如下程序将更新数据同步至控制终端:
示例性的,控制终端通过如下程序获取更新数据储存路径:
upgradeStartNative(path)
示例性的,控制终端通过如下程序获取升级结果:
本发明的实施例提供的一种智能终端,包括处理单元与同步单元,其中通过处理单元获取控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升级功能的源码与待升级应用的升级安装包相比容量较小,因此控制终端执行获得升级应用中需要升级功能的源码所消耗的网络流量较少;其次通过处理单元根据控制终端待升级应用中需要升级功能的源码对控制终端中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可执行代码,获取控制终端中待升级应用的可执行代码需要更新的文件或数据,由于上述对终端处理功能要求较高的处理过程均在智能终端中完成,因此上述步骤不会消耗控制终端的终端设备资源;之后通过同步单元将需要更新的文件或数据同步至控制终端,以便于控制终端根据需要更新的文件或数据进行更新,上述过程中控制终端在升级过程中下载的文件或数据容量较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行更新,上述过程与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少,因此本发明实施例提供的智能终端使控制终端在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
进一步的,处理单元502还用于根据待升级应用的升级数据和程序源码生成程序升级安装包,并安装待升级应用的升级安装包以获取程序升级代码;
其中程序升级安装包用于在智能终端中安装待升级应用升级后的可执行代码,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可以为具体的二进制文件或者脚本文件,例如bin或者jar;程序升级代码为待升级应用进行升级后的可执行代码。智能终端根据待升级应用的升级安装包生成程序升级代码。
智能终端根据待升级应用的升级数据,将待升级应用升级前的程序源码中需要更新的文件或数据进行更新,从而得到待升级应用升级后的程序源码,优选的,智能终端使用待升级应用的升级数据直接替换待升级应用升级前的程序源码中需要更新的文件或数据。
智能终端可以对待升级应用升级后的程序源码进行编译,从而生成待升级应用升级后的程序安装包,也可以根据待升级应用升级后的程序源码直接生成待升级应用升级后的程序安装包。
示例性的,智能终端将待升级应用升级后的程序源码通过ADT打包工具打包,生成待升级应用升级后的APK。
进一步的,处理单元502具体用于对程序源码进行校验,当校验成功时,根据程序源码生成所述程序原始代码,根据程序升级代码与程序原始代码获取更新数据。
其中程序源码为控制终端中待升级应用升级前的程序源码,智能终端可以从其他装置处或得程序源码,也可以在智能终端中预置程序源码。其中应用为运行终端上的软件,应用可以为运行在终端的软件平台上的应用软件,也可以为运行在终端上的操作平台软件。
智能终端对程序源码进行校验,用于验证程序源码的正确性与有效性。具体的,智能终端可以对程序源码进行奇偶校验,也可以对程序源码进行循环冗余校验(Cyclic Redundancy Check,CRC),只要能够验证程序源码的正确性与有效性即可。
优选的,智能终端在对程序源码进行校验前启动智能终端,并在启动成功后进行启动成功消息广播,智能终端在收到启动成功消息后对程序源码进行校验。
程序原始代码为控制终端中待升级应用升级前的可执行代码,控制终端中待升级应用在升级前以程序原始代码的形式储存在控制终端中。
智能终端根据程序源码生成程序原始代码,可以为智能终端根据程序源码进行编译,生成待升级应用在升级前的安装包,并在智能终端提供的虚拟安装环境中安装该安装包,得到程序原始代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。智能终端根据程序源码生成程序原始代码,也可以为智能终端根据程序源码直接生成程序原始代码。
进一步的,处理单元502,还用于对更新数据的权限进行校验,当更新数据的权限满足条件时,将更新数据同步至智能终端,当更新数据的权限不满足条件时,修改更新数据的权限。
智能终端对更新数据的权限进行修改,只允许智能终端或控制终端中需要访问更新数据的模块、进程或线程对更新数据进行访问,防止智能终端或控制终端中的恶意程序对更新数据造成损害。
更进一步的,控制终端根据更新数据的权限将更新数据拷贝至对应的储存空间。
智能终端检测更新数据的权限是否满足条件。其中更新数据的权限满足条件可以是更新数据的权限高于权限阈值,也可以为更新数据的权限处于预设权限阈值区间,只要更新数据的权限能够只允许智能终端或控制终端中需要访问更新数据的模块、进程或线程对更新数据进行访问即可。
进一步的,处理单元502,还用于检测外界连接条件;
同步单元,具体用于当智能终端的外界连接条件满足时,将更新数据同步至控制终端。
其中,外界连接条件为智能终端在同步更新数据至控制终端中所需的连接或接口的状态。
具体的,外界连接条件可以包括智能终端与控制终端间的有线或无线连接的状态,示例性的外界连接条件包括智能终端与控制终端间蓝牙连接的状态,外界连接条件可以还包括智能终端的Java本地接口(Java NativeInterface,JNI)的状态。
本发明的实施例提供的一种智能终端,包括处理单元与同步单元,其中通过处理单元对程序源码进行校验,避免因程序源码出现错误导致对控制终端待升级应用升级失败。通过处理单元根据程序源码生成程序原始代码,并根据待升级应用的升级数据和程序源码生成待升级应用的程序升级安装包,从而根据程序升级安装包生成程序升级代码;其中由于待升级应用的升级数据与待升级应用的升级安装包相比容量较小,因此处理单元所消耗的控制终端网络流量较少;通过处理单元根据程序升级安装包生成程序升级代码,并根据程序升级代码与程序原始代码获取更新数据,由于上述对终端处理功能要求较高的过程均在智能终端中完成,因此上述过程不会消耗控制终端较多的终端设备资源;通过处理单元修改更新数据的权限,防止智能终端或控制终端中的恶意程序对更新数据造成损害;通过处理单元检测更新数据的权限,当更新数据的权限满足条件时,通过处理单元检测智能终端的外界连接条件,避免因外界连接条件不满足条件导致同步失败。当外界连接条件满足条件时,通过同步单元将更新数据同步至控制终端,使控制终端根据更新数据进行升级;由于智能终端同步至控制终端的文件或数据容量较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行更新,上述过程与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少,因此本发明实施例提供的智能终端使控制终端在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
进一步的,如附图2所示,本发明的实施例提供了一种升级系统24,包括上述实施例中提供的智能终端23与控制终端22,其中控制终端22安装有待升级应用,控制终端22用于根据智能终端23发来的更新数据进行升级。
具体的,智能终端23可以从升级服务器21处下载待升级应用的升级数据,也可以由用户将待升级应用的升级数据预置在智能终端23中。
需要说明的是,本发明提供的实施例中的智能终端,可以为电视;同步单元503可以由收发器件实现,如蓝牙接口或红外接口。处理单元502可以为单独设立的处理器,用于控制同步单元503进行更新数据的同步,单独设立的处理器也可以集成在智能终端的某一个处理器中实现,此外,也可以以程序代码的形式存储于智能终端的存储器中,由智能终端的某一个处理器调用并执行以上处理单元502的功能。
本发明提供的实施例中控制终端,可以为遥控器。
这里所述的处理器可以是一个中央处理器(英文全称:centralprocessing unit,英文简称:CPU),或者是特定集成电路(英文全称:application specific integrated circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
参照图6所示,本发明的实施例提供一种电视601,用于实施上述的应用升级方法,其可以包括:处理器611、收发器612、存储器613和总线614;所述处理器611、收发器612、存储器613通过所述总线614连接并完成相互间的通信;
需要说明的是,这里的处理器611可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器可以是中央处理器CPU,也可以是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文全称:digital singnalprocessor,英文简称:DSP),或,一个或者多个现场可编程门阵列(英文全称:field programmable aate array,英文简称:FPGA)。
存储器613可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或接入网管理设备运行所需要参数、数据等。且存储器614可以包括随机存储器(英文全称:random-accessmemory,英文简称:RAM),也可以包括非易失性存储器(英文全称:non-volatile memory,英文简称:NVRAM),例如磁盘存储器,闪存(Flash)等。
总线614可以是工业标准体系结构(英文全称:industry standardarchitecture,英文简称:ISA)总线、外部设备互连(英文全称:peripheralcomponent,英文简称:PCI)总线或扩展工业标准体系结构(英文全称:extended industry standard architecture,英文简称:EISA)总线等。该总线805可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述处理器611用于执行存储其中的程序,以结合收发器612执行上述方法实施例中所提供的方法。
具体的,所述处理器611可以用于执行存储其中的程序控制收发器612执行上述实施例中智能终端的同步单元的功能。收发器612用于执行上述实施例中智能终端的同步单元的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,终端或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文简称:ROM,英文全称:Read-Only Memory)、随机存取存储器(英文简称:RAM,英文全称:Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种应用升级方法,应用于智能终端,其特征在于,所述应用升级方法包括:
根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,所述升级数据为所述待升级应用中需要升级功能的源码,所述程序升级代码为所述待升级应用升级后的可执行代码;
根据所述程序升级代码与程序原始代码获取更新数据,所述程序原始代码为所述待升级应用升级前的可执行代码;
将所述更新数据同步至控制终端,以便于所述控制终端根据更新数据对所述待升级应用进行升级。
2.根据权利要求1所述的应用升级方法,其特征在于,所述根据待升级应用的升级数据和程序源码生成程序升级代码,包括:
根据所述待升级应用的升级数据和程序源码生成所述待升级应用的升级安装包,并安装所述待升级应用的升级安装包以获取程序升级代码。
3.根据权利要求1所述的应用升级方法,其特征在于,根据所述程序升级代码与程序原始代码获取更新数据,包括:
对所述程序源码进行校验,当校验成功时,根据所述程序源码生成所述程序原始代码;
根据所述程序升级代码与程序原始代码获取更新数据。
4.根据权利要求1所述的应用升级方法,其特征在于,将所述更新数据同步至控制终端前,还包括:
对所述更新数据的权限进行校验;
当所述更新数据的权限满足条件时,将所述更新数据同步至控制终端;
当所述更新数据的权限不满足条件时,修改所述更新数据的权限。
5.根据权利要求1所述的应用升级方法,其特征在于,将所述更新数据同步至控制终端,包括:
检测外界连接条件;
当所述外界连接条件满足时,将所述更新数据同步至所述控制终端。
6.一种智能终端,其特征在于,所述智能终端包括:
处理单元,用于根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,所述升级数据为所述待升级应用中需要升级功能的源码,所述程序升级代码为对所述待升级应用升级后的可执行代码;
所述处理单元,还用于根据所述程序升级代码与程序原始代码获取更新数据,所述程序原始代码为所述待升级应用升级前的可执行代码;
同步单元,用于将所述更新数据同步至控制终端,以便于所述控制终端根据所述更新数据对所述待升级应用进行升级。
7.根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于根据所述待升级应用的升级数据和程序源码生成所述待升级应用的升级安装包,并安装所述待升级应用的升级安装包以获取程序升级代码。
8.根据权利要求6所述的智能终端,其特征在于,所述处理单元,具体用于:
对所述程序源码进行校验,当校验成功时,根据所述程序源码生成所述程序原始代码;
根据所述程序升级代码与程序原始代码获取更新数据。
9.根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于:
对所述更新数据的权限进行校验;
当所述更新数据的权限满足条件时,将所述更新数据同步至智能终端;
当所述更新数据的权限不满足条件时,修改所述更新数据的权限。
10.根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于:
检测所述智能终端的外界连接条件;
所述同步单元,具体用于:
当外界连接条件满足时,将所述更新数据同步至所述控制终端。
11.一种升级系统,其特征在于,包括权利要求6-10中任一种智能终端以及控制终端,所述控制终端安装有待升级应用,所述控制终端用于根据更新数据对所述待升级应用进行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610333465.8A CN106020882A (zh) | 2016-05-18 | 2016-05-18 | 一种应用升级方法、智能终端及升级系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610333465.8A CN106020882A (zh) | 2016-05-18 | 2016-05-18 | 一种应用升级方法、智能终端及升级系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020882A true CN106020882A (zh) | 2016-10-12 |
Family
ID=57098711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610333465.8A Pending CN106020882A (zh) | 2016-05-18 | 2016-05-18 | 一种应用升级方法、智能终端及升级系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020882A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106604141A (zh) * | 2016-12-28 | 2017-04-26 | 北京风行在线技术有限公司 | 一种双升级方法 |
CN106919382A (zh) * | 2017-01-22 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 用于生成应用更新包的方法和装置 |
CN108182074A (zh) * | 2017-12-29 | 2018-06-19 | 五八有限公司 | 应用的功能上下线方法、装置、移动终端及存储介质 |
CN108304722A (zh) * | 2017-12-21 | 2018-07-20 | 广州小鹏汽车科技有限公司 | 一种软件安装包及其生成方法、升级方法和系统 |
CN109271182A (zh) * | 2017-07-18 | 2019-01-25 | 北京京东尚科信息技术有限公司 | 用于搜索引擎升级的方法及装置 |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN111158714A (zh) * | 2019-11-28 | 2020-05-15 | 上海能塔智能科技有限公司 | 车载域控制器ota升级软件的方法及装置、存储介质、终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131568A1 (en) * | 2010-11-23 | 2012-05-24 | Electronics And Telecommunications Research Institute | System and method of providing service agent |
CN102707977A (zh) * | 2012-05-17 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 一种基于Android应用软件的增量升级方法 |
US20130054951A1 (en) * | 2011-08-26 | 2013-02-28 | Novatek Microelectronics Corp. | Software execution method and electronic device using the same |
CN103885807A (zh) * | 2014-04-03 | 2014-06-25 | 四川九成信息技术有限公司 | 设备程序更新方法 |
CN104636172A (zh) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | 一种应用升级方法和装置 |
CN105138382A (zh) * | 2015-09-24 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种Android系统升级的方法及终端 |
-
2016
- 2016-05-18 CN CN201610333465.8A patent/CN106020882A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131568A1 (en) * | 2010-11-23 | 2012-05-24 | Electronics And Telecommunications Research Institute | System and method of providing service agent |
US20130054951A1 (en) * | 2011-08-26 | 2013-02-28 | Novatek Microelectronics Corp. | Software execution method and electronic device using the same |
CN102707977A (zh) * | 2012-05-17 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 一种基于Android应用软件的增量升级方法 |
CN103885807A (zh) * | 2014-04-03 | 2014-06-25 | 四川九成信息技术有限公司 | 设备程序更新方法 |
CN104636172A (zh) * | 2015-03-09 | 2015-05-20 | 联想(北京)有限公司 | 一种应用升级方法和装置 |
CN105138382A (zh) * | 2015-09-24 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种Android系统升级的方法及终端 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106604141A (zh) * | 2016-12-28 | 2017-04-26 | 北京风行在线技术有限公司 | 一种双升级方法 |
CN106919382A (zh) * | 2017-01-22 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 用于生成应用更新包的方法和装置 |
CN109271182A (zh) * | 2017-07-18 | 2019-01-25 | 北京京东尚科信息技术有限公司 | 用于搜索引擎升级的方法及装置 |
CN109271182B (zh) * | 2017-07-18 | 2022-09-06 | 北京京东尚科信息技术有限公司 | 用于搜索引擎升级的方法及装置 |
CN108304722A (zh) * | 2017-12-21 | 2018-07-20 | 广州小鹏汽车科技有限公司 | 一种软件安装包及其生成方法、升级方法和系统 |
CN108182074A (zh) * | 2017-12-29 | 2018-06-19 | 五八有限公司 | 应用的功能上下线方法、装置、移动终端及存储介质 |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN111158714A (zh) * | 2019-11-28 | 2020-05-15 | 上海能塔智能科技有限公司 | 车载域控制器ota升级软件的方法及装置、存储介质、终端 |
CN111158714B (zh) * | 2019-11-28 | 2023-04-21 | 上海能塔智能科技有限公司 | 车载域控制器ota升级软件的方法及装置、存储介质、终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020882A (zh) | 一种应用升级方法、智能终端及升级系统 | |
CN105138382B (zh) | 一种Android系统升级的方法及终端 | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN107465539A (zh) | 固件的升级方法、终端及固件的升级系统 | |
CN107193593B (zh) | 一种可升级文件的升级方法、机顶盒和存储介质 | |
TWI533216B (zh) | 作業系統更新方法 | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
CN106325953A (zh) | 一种Weblogic集群一键自动部署方法 | |
KR102083751B1 (ko) | 보안 요소에서의 객체들을 관리하기 위한 방법 | |
CN104077160A (zh) | 一种升级安卓软件的方法、设备和系统 | |
CN104754062A (zh) | 基于互联网的信息推广方法、服务器及用户终端 | |
CN109753300B (zh) | 一种算法升级方法、计算任务发送方法及相关装置 | |
CN106502713A (zh) | 一种软件升级方法和系统 | |
CN107193609A (zh) | 应用中功能模块调用方法及装置、电子设备 | |
CN104636172A (zh) | 一种应用升级方法和装置 | |
CN105786636B (zh) | 一种系统修复方法及装置 | |
CN107844306A (zh) | 应用程序的修复方法、装置、存储介质及终端 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN104536752A (zh) | 自动生成apk的方法及装置 | |
JP2023505844A (ja) | パッケージベースリモートファームウェアアップデート | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
US11023220B2 (en) | Firmware update with integrated smart sequence and action engine | |
CN110493644B (zh) | 电视应用升级方法、电视终端及服务器 | |
CN104158907A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |