公开/公告号CN102609304A
专利类型发明专利
公开/公告日2012-07-25
原文格式PDF
申请/专利权人 广东欧珀移动通信有限公司;
申请/专利号CN201210027137.7
发明设计人 曾元清;
申请日2012-02-08
分类号G06F9/46(20060101);G06F9/445(20060101);H04M1/725(20060101);
代理机构44271 深圳市惠邦知识产权代理事务所;
代理人满群
地址 523860 广东省东莞市长安镇乌沙海滨路18号
入库时间 2023-12-18 06:17:12
法律状态公告日
法律状态信息
法律状态
2013-09-25
授权
授权
2012-09-26
实质审查的生效 IPC(主分类):G06F9/46 申请日:20120208
实质审查的生效
2012-07-25
公开
公开
技术领域
本发明涉及智能手机,具体涉及一种安卓系统(Android)手机内置第三方应用的管理方法。
背景技术
近年来,Android手机凭借优异的性能和良好的用户体验,在众多硬件厂商的合作下,逐渐成为了智能手机市场的主流。但是其有个特性一直给厂商、消费者带来困扰,那就是内置第三方应用的问题,厂商为了给用户提供更好的使用体验或是基于商业合作的考虑,一般都会内置一些其它软件厂商的第三方应用在手机里,并且希望手机在恢复出厂设置后仍能存在。而用户的需求千差万别,有的希望内置第三方应用能够升级,而且升级不占用另一份空间,有的用户希望能将内置的应用可以删除。对于上述问题,目前的Android手机是按如下方式处理的:由于厂商希望内置第三方应用在恢复出厂设置后仍能存在,那么就必须放在/system目录分区下,且Android的升级包也只能恢复/system目录分区;而出厂后,内置第三方应用又有可能需要升级,这样升级后就会另外放置一份到/data目录分区下,如此同一个应用就会占用两份空间,且恢复出厂设置后,恢复的仍是原先的版本(即非用户升级后的版本)。
因此,一种有效地管理这些内置第三方应用、能最大程度上满足厂商和消费者需求的方法犹为重要。
发明内容
本发明需要解决的技术问题是,如何提供一种Android手机内置第三方应用的管理方法,能使第三方应用同时满足升级和节省空间,并在恢复后能恢复升级后的版本且不会影响系统安全。
本发明的技术问题这样解决:构建一种Android手机内置第三方应用的管理方法,利用手机Android系统,包括以下步骤:
101)将所有内置第三方应用放在/data目录分区下,并建立保存应用列表;
102)判断是否恢复出厂设置?是进入下一步,否则跳过下面所有步骤;
103)在系统中基于各个内置第三方应用的占用空间记录一串校验数据;
104)从内存或存储卡里分配与各个内置第三方应用占用空间大小相同的缓冲区;
105)确保挂载上/data/app目录分区,将内置第三方应用拷贝到缓冲区中,格式化/data目录分区;
106)再次确保挂载上/data/app目录分区,并修改/data/app目录分区对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771”;
107)从缓冲区将各个内置第三方应用拷贝回/data目录分区;
108)再次检测各第三方应用的占用空间大小,与在步骤103)获得的检验数据对比,再根据对比结果删除步骤107)中的错误拷贝。
按照本发明提供的Android手机内置第三方应用的管理方法,所述步骤108)包括以下二种具体处理:
(一)若所述步骤108)中对比结果一致,则提示恢复成功和或重启手机;
(二)若所述步骤108)中对比结果不一致,则提示用户有应用丢失和或提示用户获取升级包升级。
按照本发明提供的Android手机内置第三方应用的管理方法,该管理方法还包括步骤108)之后的重启手机。
按照本发明提供的Android手机内置第三方应用的管理方法,该管理方法还包括位于手机侧的具体步骤:
203)接收升级包,格式化本地/data目录分区;
204)挂载/data目录分区;
205)将升级包中的/data/app目录分区解包到系统中;
206)修改系统中的/data/app目录分区对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771”,以免非正常操作破坏数据。
按照本发明提供的Android手机内置第三方应用的管理方法,该管理方法还包括步骤206)之后的重启手机。
按照本发明提供的Android手机内置第三方应用的管理方法,该管理方法还包括位于网络服务侧的具体步骤:
201)从工程编译的对应目录下读取出待更新的内置第三方应用;
202)将上一步读出的内置第三方应用的/data/app目录分区打入到升级包中。
按照本发明提供的Android手机内置第三方应用的管理方法,所述对应目录是out/target/product/$prj_name/data/app目录分区。
本发明提供的Android手机内置第三方应用的管理方法,可以为广大硬件厂商、用户提供管理第三方应用的有效方法,尤其对自带内存较小的Android手机有更大的意义,较现有技术具有以下优点:
1、将内置第三方应用放在/data目录分区下;
2、内置第三方应用用户可选择更改(如升级、删除);
3、内置第三方应用升级后只占用一份存储空间;
4、在恢复出厂设置前后将内置第三方应用通过内存/SD卡等存储介质进行备份、还原;
5、在恢复出厂设置前后检测内置第三方应用的完整性;
6、恢复出厂设置后能恢复成内置第三方应用在恢复出厂设置前的最新版本;
7、让系统支持升级/data目录分区;
8、提出了编译带/data目录分区的升级包的方法。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明:
图1为本发明具体实施例Android手机中的恢复出厂设置软件程序流程示意图;
图2为本发明具体实施例Android手机中内置第三方应用升级流程示意图。
具体实施方式
首先,说明本发明具体实施例的思路:
Android系统自带的system目录分区下的应用是被系统保护的,出厂后就不能被更改;data目录分区下的应用是可以进行升级、删除等更改的;恢复出厂设置会作格式化data目录分区的操作;Android默认的升级机制只能升级system分区。基于以上几点,我们可以将内置第三方应用放在data目录分区下,这样就解决了第三方应用不可删除、升级后占两份空间的问题;由于Android系统自带的恢复出厂设置的主要工作就是格式化data目录分区,因此,我们需要修改恢复出厂设置的流程:在系统中基于各内置第三方应用的完整性(以第三方应用占用空间)记录一串校验数据,分析备份内置第三方应用所需占用的空间,再从内存里分配与占用空间相同的缓冲区,之后将内置第三方应用复制到分配的缓冲区中,再格式化/data目录分区,在格式化data目录分区完成后,从内存的缓冲区将内置第三方应用恢复回data目录分区,并在再次检测各第三方应用的占用空间大小,与在格式化/data目录分区前做的检验数据对比用于检测是否发生正确。另一方面,为使厂商提供的升级包能升级第三方应用,还必须修改Android原有的升级机制,使之能支持从升级包里升级data目录分区,相应的,厂商提供的升级包里也需要有/data目录分区的数据。如此,我们就可以实现内置第三方应用用户可删除、升级后不占两份空间、恢复出厂设置后能恢复成升级前用户的内置第三方应用、升级包能升级/data目录分区的第三方应用的目的。
第二,结合图1和2中程序流程详细说明本发明实现:
如图1所示,本发明具体实施例Android手机中的恢复出厂设置软件程序,具体包括以下步骤:
101)将内置第三方应用放到/data目录分区下,维护一张记录内置第三方应用名称的列表,
由于Android安装包(apk)有可能会升级,而Android系统中,奇数次升级会在包名后加上-1,偶数次升级会加上-2,因此,该列表中应加上两个包名,例如下表:
102)判断是否需要进行恢复出厂设置?如果不是,只是需要删除、升级等操作,按正常流程执行即可;
103)用户选择恢复出厂设置,在系统中基于各内置第三方应用的完整性(即:以第三方应用占用空间)记录一串校验数据;
104)从内存或存储卡里分配与各内置第三方应用占用空间大小相同的缓冲区;
105)确保挂载上/data/app目录分区,将内置第三方应用拷贝到缓冲区中,格式化/data目录分区;
106)在格式化/data目录分区完成后,再次确保挂载上/data/app目录分区,并修改/data/app目录分区对应创建文件用户/创建文件用户的用户组/其他用户的权限分别为771,以免非正常操作破坏数据;其中:7对应可读可写执行,1对应只可读;
107)从缓冲区将内置第三方应用恢复回/data目录分区;
108)再次检测各第三方应用的占用空间大小,与在103)步获得的检验数据对比用于检测是否数据恢复是否正确;删除恢复出错的第三方应用(这种非自愿被删除,用户可以通过图2对应的软件升级来弥补);
109)重启手机后,内置第三方应用成功恢复为恢复出厂设置前的版本。
如图2所示,本发明具体实施例Android手机中内置第三方应用升级,具体包括以下步骤:
(一)网络服务侧
201)从工程编译的out/target/product/$prj_name/data/app目录分区读取出内置第三方应用;
202)调用命令common对象的ZipWriteStr函数common.ZipWriteStr(output_zip,s.path.join(″/data/app″,name),file_data)将201)步读出内置第三方应用的/data/app目录分区打入到升级包中;
(二)手机侧
203)如果用户选择升级,则先格式/data目录分区,注意,此步不需要备份/data目录分区数据;
204)挂载/data目录分区;
205)调用函数UnpackPackageDir将升级包中的/data/app解包到系统中;
206)修改系统中的/data/app目录分区权限:对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771”,以免非正常操作破坏数据;
207)重启后,升级包里的内置第三方应用被安装到系统中。
最后,以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
机译: 仿冒产品,该仿冒产品是在该国家或地区或部分地区或部分地区制造的人的模型,一种仿造产品是在该国家或地区或部分地区内置或内置的,在一个国家或地区中的一部分,在一个国家或地区中的建筑物,或在一个国家或地区中建立的建筑物,建筑物或建筑物,建筑物或建筑物的建筑物产品,或内置的内置物,内置的内置物,内置的内置物,内置的内置物,或内置的内置物,内置的内置物,内置的内置物,内置的内置物,内置的内置物或内置的内置物,或建在某建筑物中;建在某建筑物中;建在某建筑物中;建在某建筑物中;建在某建筑物中;建在某建筑物中然后
机译: 预设第三方应用程序,智能终端和存储介质的管理方法
机译: 第三方应用,智能终端和存储介质的预设管理方法