一种ota升级的方法和系统的制作方法

文档序号:6519108阅读:229来源:国知局
一种ota升级的方法和系统的制作方法
【专利摘要】本发明公开了一种OTA升级的方法和系统,该方法包括:S1:在OTA服务器中设置第一存储模块和第一入口模块,以及设置记录模块;S2:将第一存储模块、第一入口模块和记录模块合成OTA升级包;S3:将OTA升级包发送至移动终端,利用OTA升级包对移动终端进行升级。实施本发明的有益效果是,即使后续OTA升级包中更改包名还是入口类名,软件进行OTA升级后可以保持手机桌面原有的显示位置不变。
【专利说明】一种OTA升级的方法和系统
【技术领域】
[0001]本发明涉及移动通信【技术领域】,更具体地说,涉及一种OTA升级的方法和系统。
【背景技术】
[0002]目前各大运营商一般将软件版本升级包置于0TA(0ver-the-Air Technology,空中下载技术)服务器中,移动终端基于当前软件版本,自动或手动于OTA服务器中搜索相应软件版本的升级包,并将软件版本升级包下载到移动终端上,将本机版本升级为新的软件版本。
[0003]但是对于手机厂商来说,一般都会针对手机软件发布OTA软件版本帮助用户升级最新的软件版本,但同时要尽可能保证升级时不会清除用户的数据。而对于桌面来说,如果清除了数据,用户在升级前分类整理好的图标在升级完成后会产生排序错误。这是因为,厂商在制作OTA升级软件时有可能会更改某些之前内置应用的包名或者类名,而且手机自带的系统软件一般都是不可以卸载的。一旦出现这种情况,系统在升级完成后开机,更改后的应用程序由于无法从数据库中找到相同的包名和类名的数据,最终就会导致这几个应用被误当做新安装的程序,图标的位置也发生了变化。
[0004]Android(安卓)系统中标识每个应用程序的唯一性是通过应用程序的包名和入口类名来确定的。桌面在重新加载时会根据从包管理中读取的应用程序的包名和类名,与数据库中保存的应用程序的包名和类名信息进行匹配,从而从数据库中得到应用程序正确的位置信息,如果在数据库中找不到记录就认为该应用是新安装的应用,此时会将图标插入到其他空白位置或者最后面的位置。因此,在Android软件进行OTA升级后,如何防止应用程序排序错误是很有必要的。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种OTA升级的方法和系统。
[0006]本发明解决其技术问题所采用的技术方案是:构造一种OTA升级的方法;
[0007]S1:在OTA服务器中设置第一存储模块和第一入口模块,其中,所述第一存储模块至少包括第一版本号,所述第一入口模块用于标识升级后的软件的存储地址,所述第一版本号用于标识升级后的软件的版本;
[0008]在OTA服务器中设置用于读取待升级的软件的第二存储模块和第二入口模块的记录模块,其中,第二存储模块至少包括第二版本号,所述第二入口模块用于唯一标识待升级的软件的存储地址,所述第二版本号用于标识待升级的软件的版本;
[0009]S2:将所述第一存储模块、第一入口模块和记录模块合成OTA升级包;
[0010]S3:将所述OTA升级包发送至移动终端,利用所述OTA升级包对所述移动终端进行升级。
[0011]在本发明所述的方法中,所述步骤S3包括以下子步骤:[0012]S31:在所述移动终端中,设置包括位置信息的桌面数据库,并建立所述位置信息与第二入口模块的对应关系,所述位置信息用于确定待升级的软件的桌面位置;
[0013]S32:在所述移动终端中,安装所述OTA升级包对软件升级,读取所述第一存储模块和第一入口模块;解析所述OTA升级包的记录模块,读取待升级的软件的第二存储模块和第二入口模块,将第二版本号存储在所述第一存储模块中;
[0014]S33:比较所述第一版本号和第二版本号,若一致,转至步骤S35 ;若不一致,转至步骤S34 ;
[0015]S34:将所述位置信息与第二入口模块的对应关系更新为所述位置信息与第一入口模块的对应关系;
[0016]S35:加载桌面程序并切换至桌面。
[0017]在本发明所述的方法中,所述步骤SI还包括:设置所述第一入口模块的第一包名和第一入口类名,所述第一包名用于标识升级后的软件的存储地址,所述第一入口类名用于启动所述升级后的软件;
[0018]所述第二入口模块包括第二包名和第二入口类名,所述第二包名用于标识升级后的软件的存储地址,所述第二入口类名用于启动所述升级后的软件。
[0019]在本发明所述的方法中,所述步骤S32还包括:
[0020]读取所述第二入口模块的第二包名和第二入口类名;
[0021]设置用于存储所述第二入口模块的资源文件。
[0022]读取所述第一入口模块的第一包名和第一入口类名;
[0023]将所述第一入口模块存储到资源文件。
[0024]在本发明所述的方法中,所述步骤S34还包括,读取资源文件。
[0025]在本发明所述的方法中,该方法还包括:
[0026]在所述步骤S34之前,比较所述第一包名和第二包名,以及比较第一入口类名和第二入口类名;若所述第一包名和第二包名一致,且第一入口类名和第二入口类名一致,转至S35 ;若所述第一包名和第二包名不一致,或者所述第一入口类名和第二入口不一致,或者所述第一包名和第二包名以及所述第一入口类名和第二入口都不一致,转至S34 ;
[0027]在所述步骤S35之后,保存第一存储模块,删除第二存储模块。
[0028]本发明的另一方面,提供一种OTA升级的系统,包括OTA服务器和移动终端;
[0029]所述OTA服务器包括:
[0030]设置模块,用于设置第一存储模块和第一入口模块,其中,所述第一存储模块包括升级数据和第一版本号,所述第一入口模块用于标识升级后的软件的存储地址,所述第一版本号用于标识升级后的软件的版本;
[0031]以及设置用于记录待升级的软件的第二存储模块和第二入口模块的记录模块,其中,第二存储模块包括待升级的原始数据、第二版本号和用于确定桌面位置的位置信息,所述第二入口模块用于唯一标识待升级的软件的存储地址,所述第二版本号用于标识待升级的软件的版本;
[0032]合成模块,用于将所述第一存储模块、第一入口模块和记录模块合成OTA升级包;
[0033]通信模块,用于将所述OTA升级包发送至移动终端;
[0034]所述移动终端包括:[0035]解析模块,用于解析所述记录模块并读取待升级的软件的第二存储模块和第二入口丰旲块;
[0036]安装模块,用于安装所述OTA升级包对软件升级,读取所述第一存储模块和第一入口模块,将第二版本号存储在所述第一存储模块中;
[0037]比较模块,用于比较所述第一版本号和第二版本号;
[0038]更新模块,用于将所述位置信息与第二入口模块的对应关系更新为所述位置信息与第一入口模块的对应关系;
[0039]加载模块,用于加载桌面程序并切换至桌面;
[0040]桌面数据库,包括用于确定待升级的软件的桌面位置的位置信息,用于建立所述位置信息与第二入口模块的对应关系。
[0041]在本发明所述的系统中,所述第一入口模块包括第一包名和第一入口类名,所述第一包名用于标识升级后的软件的存储地址,所述第一入口类名用于启动所述升级后的软件;
[0042]所述第二入口模块包括第二包名和第二入口类名,所述第二包名用于标识升级后的软件的存储地址,所述第二入口类名用于启动所述升级后的软件。
[0043]在本发明所述的系统中,该系统还包括资源模块,所述资源模块用于存储所述资源文件,并建立所述第一入口模块和第二入口模块的对应关系;
[0044]所述解析模块还用于读取所述第二入口模块的第二包名和第二入口类名,读取所述第一入口模块的第一包名和第一入口类名,以及读取所述资源文件。
[0045]在本发明所述的系统中,所述比较模块还用于比较所述第一入口模块和第二入口模块。
[0046]实施本发明的OTA升级的方法和系统,具有以下有益效果:即使后续OTA升级包中更改包名还是入口类名,软件进行OTA升级后可以保持手机桌面原有的显示位置不变。
【专利附图】

【附图说明】
[0047]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0048]图1是本发明第一实施例提供的一种OTA升级的方法的流程图;
[0049]图2是本发明提供的OTA升级包的结构示意图;
[0050]图3是本发明提供的待升级的软件的结构示意图;
[0051]图4是本发明第一实施例提供的一种OTA升级的系统的方框图;
[0052]图5是本发明第二实施例提供的一种OTA升级的方法的流程图;
[0053]图6是本发明第二实施例提供的一种OTA升级的系统的方框图;
[0054]图7是本发明第三实施例提供的一种OTA升级的方法的流程图。
【具体实施方式】
[0055]为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的【具体实施方式】。
[0056]如图1所示,在本发明提供的一种OTA升级的方法的流程图中,提供了一种在OTA服务器合成的OTA升级包10 (如图2所示)以及在移动终端2进行OTA升级的方法,这里的移动终端2主要针对安装了安卓系统的手机,本发明中提供的OTA升级包10主要适用于由厂商开发的安卓系统ROM软件,在安卓软件OTA升级中,该OTA升级包10中包含供多个软件升级的安装包,每个安装包需自身配置activity的meta-data属性,并在资源文件中定义保存修改记录的字符串资源,有修改包名类名的应用软件(可以有多个应用都修改包名类名)才需要按此格式的要求配置meta-data属性;只是修复了内部缺陷的那种应用软件就不需要配置meta-data。故在OTA服务器I中,所述合成OTA升级包10的方法包括:[0057]S1:设置用于软件升级的第一存储模块11和第一入口模块12,其中,所述第一存储模块11包括第一版本号,所述第一入口模块12包括第一包名和第一入口类名;第一存储模块11和第一入口模块12为现有技术提供的OTA升级包10 ;设置所述第一入口模块12的第一包名和第一入口类名,所述第一包名用于标识升级后的软件的存储地址,所述第一入口类名用于启动所述升级后的软件。[0058]所有存储类(即第一存储模块11或第二存储模块31)均存储在数据库。而入口类是指在应用程序中的AndroidManifest.xml中配置了〈category android:name ="android, intent, category.LAUNCHER" /> 的 activity。也就是在主菜单中点击应用图标时启动的那个类。[0059]比如:在未做任何升级前厂商内置的相机apk在之前的版本中文件名称为 Camera, apk,此时这个apk是放在system/app目录下。应用的包名为com.android, camera, 入口类名为 com.android.cameraLauncher。[0060]用户如果使用的是这个版本的系统软件,在开机完成后,桌面数据库中会记录相机apk的位置信息,这个信息是通过包名(com.andro i d.camera)和入口类名(com.android.cameraLauncher)这两个来同时确定的。 [0061]设置用于记录待升级的软件30 (如图3所示,待升级的软件设置在移动终端2上) 的第二存储模块31和第二入口模块32的记录模块13,其中,第二存储模块31包括第二版本号和用于确定桌面位置的位置信息,所述第二入口模块32包括第二包名和第二入口类名;利用AndroidManifest.xml中的meta-data属性记录修改前的包名和入口类名(即第二入口模块32)。通过读取修改前的包名和入口类名,OTA升级包10在安装后可以查询每个软件是否配置有这个属性,来判断包名或类名是否改变。[0062]该部分通过在升级包的activity标签下添加如下代码:[0063]
【权利要求】
1.一种OTA升级的方法,其特征在于:51:在OTA服务器(I)中设置第一存储模块(11)和第一入口模块(12),其中,所述第一存储模块(11)至少包括第一版本号,所述第一入口模块(12)用于标识升级后的软件的存储地址,所述第一版本号用于标识升级后的软件的版本;在OTA服务器(I)中设置用于读取待升级的软件(30)的第二存储模块(31)和第二入口模块(32)的记录模块(13),其中,第二存储模块(31)至少包括第二版本号,所述第二入口模块(32)用于唯一标识待升级的软件(30)的存储地址,所述第二版本号用于标识待升级的软件(30)的版本;52:将所述第一存储模块(11)、第一入口模块(12)和记录模块(13)合成OTA升级包(10);53:将所述OTA升级包(10)发送至移动终端(2),利用所述OTA升级包(10)对所述移动终端(2)进行升级。
2.如权利要求1所述的方法,其特征在于,所述步骤S3包括以下子步骤:S31:在所述移动终端(2)中,设置包括位置信息的桌面数据库,并建立所述位置信息与第二入口模块(32)的对应关系,所述位置信息用于确定待升级的软件(30)的桌面位置;S32:在所述移动终端(2)中,安装所述OTA升级包(10)对软件升级,读取所述第一存储模块(11)和第一入口模块(12);解析所述OTA升级包(10)的记录模块(13),读取待升级的软件(30)的第二存储模块(31)和第二入口模块(32),将第二版本号存储在所述第一存储模块(11)中;S33:比较所述第一版本号和第二版本号,若一致,转至步骤S35 ;若不一致,转至步骤S34 ;S34:将所述位置信息与第二入口模块(32)的对应关系更新为所述位置信息与第一入口模块(32)的对应关系;S35:加载桌面程序并切换至桌面。
3.根据权利要求2所述的方法,其特征在于,所述步骤SI还包括:设置所述第一入口模块(12)的第一包名和第一入口类名,所述第一包名用于标识升级后的软件的存储地址, 所述第一入口类名用于启动所述升级后的软件;所述第二入口模块(32)包括第二包名和第二入口类名,所述第二包名用于标识升级后的软件的存储地址,所述第二入口类名用于启动所述升级后的软件。
4.根据权利要求3所述的方法,其特征在于,所述步骤S32还包括 :读取所述第二入口模块(32)的第二包名和第二入口类名;设置用于存储所述第二入口模块(32)的资源文件。读取所述第一入口模块(12)的第一包名和第一入口类名;将所述第一入口模块(12)存储到资源文件。
5.根据权利要求4所述的方法,其特征在于,所述步骤S34还包括,读取资源文件。
6.根据权利要求3所述的方法,其特征在于,该方法还包括:在所述步骤S34之前,比较所述第一包名和第二包名,以及比较第一入口类名和第二入口类名;若所述第一包名和第二包名一致,且第一入口类名和第二入口类名一致,转至S35;若所述第一包名和第二包名不一致,或者所述第一入口类名和第二入口不一致,或者所述第一包名和第二包名以及所述第一入口类名和第二入口都不一致,转至S34 ;在所述步骤S35之后,保存第一存储模块(11),删除第二存储模块(31)。
7.—种OTA升级的系统,包括OTA服务器(I)和移动终端(2),其特征在于:所述OTA服务器⑴包括:设置模块(41),用于设置第一存储模块(11)和第一入口模块(12),其中,所述第一存储模块(11)包括升级数据和第一版本号,所述第一入口模块(12)用于标识升级后的软件的存储地址,所述第一版本号用于标识升级后的软件的版本;以及设置用于记录待升级的软件(30)的第二存储模块(31)和第二入口模块(32)的记录模块(13),其中,第二存储模块(31)包括待升级的原始数据、第二版本号和用于确定桌面位置的位置信息,所述第二入口模块(32)用于唯一标识待升级的软件(30)的存储地址,所述第二版本号用于标识待升级的软件(30)的版本;合成模块(42),用于将所述第一存储模块(11)、第一入口模块(12)和记录模块(13) 合成OTA升级包(10);通信模块(43),用于将所述OTA升级包(10)发送至移动终端(2);所述移动终端(2)包括:解析模块(21),用于解析所述记录模块(13)并读取待升级的软件(30)的第二存储模块(31)和第二入口模块(32);安装模块(22),用于安装所述OTA升级包(10)对软件升级,读取所述第一存储模块(11)和第一入口模块(12),将第二版本号存储在所述第一存储模块(11)中;比较模块(23),用于比较所述第一版本号和第二版本号;更新模块(24),用于将所述位置信息与第二入口模块(32)的对应关系更新为所述位置信息与第一入口模块(32)的对应关系;加载模块(25),用于加载桌面程序并切换至桌面;桌面数据库(26),包括用于确定待升级的软件(30)的桌面位置的位置信息,用于建立所述位置信息与第二入口模块(32)的对应关系。
8.根据权利要求7所述的系统,其特征在于,所述第一入口模块(12)包括第一包名和第一入口类名,所述第一包名用于标识升级后的软件的存储地址,所述第一入口类名用于启动所述升级后的软件;所述第二入口模块(32)包括第二包名和第二入口类名,所述第二包名用于标识升级后的软件的存储地址,所述第二入口类名用于启动所述升级后的软件。
9.根据权利要求8所述的系统,其特征在于,该系统还包括资源模块,所述资源模块(27)用于存储所述资源文件,并建立所述第一入口模块(12)和第二入口模块(32)的对应关系;所述解析模块(21)还用于读取所述第二入口模块(32)的第二包名和第二入口类名, 读取所述第一入口模块(12)的第一包名和第一入口类名,以及读取所述资源文件。
10.根据权利要求8所述的系统,其特征在于,所述比较模块(23)还用于比较所述第一入口模块(12)和第二入口模块(32)。
【文档编号】G06F9/445GK103559065SQ201310571817
【公开日】2014年2月5日 申请日期:2013年11月13日 优先权日:2013年11月13日
【发明者】胡心洋, 陈景远 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1