一种Android手机内置第三方应用的管理方法

文档序号:6364359阅读:344来源:国知局
专利名称:一种Android手机内置第三方应用的管理方法
技术领域
本发明涉及智能手机,具体涉及一种安卓系统(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)获得的检验数据对
3比,再根据对比结果删除步骤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手机有更大的意义,较现有技术具有以下优点I、将内置第三方应用放在/data目录分区下;2、内置第三方应用用户可选择更改(如升级、删除);3、内置第三方应用升级后只占用一份存储空间;4、在恢复出厂设置前后将内置第三方应用通过内存/SD卡等存储介质进行备份、 还原;5、在恢复出厂设置前后检测内置第三方应用的完整性;6、恢复出厂设置后能恢复成内置第三方应用在恢复出厂设置前的最新版本;7、让系统支持升级/data目录分区;8、提出了编译带/data目录分区的升级包的方法。


下面结合附图和具体实施例进一步对本发明进行详细说明图I为本发明具体实施例Android手机中的恢复出厂设置软件程序流程示意图2为本发明具体实施例Android手机中内置第三方应用升级流程示意图。
具体实施例方式首先,说明本发明具体实施例的思路Android系统自带的system目录分区下的应用是被系统保护的,出厂后就不能被更改;data目录分区下的应用是可以进行升级、删除等更改的;恢复出厂设置会作格式化 data目录分区的操作;Android默认的升级机制只能升级system分区。基于以上几点,我们可以将内置第三方应用放在data目录分区下,这样就解决了第三方应用不可删除、升级后占两份空间的问题;由于Android系统自带的恢复出厂设置的主要工作就是格式化data 目录分区,因此,我们需要修改恢复出厂设置的流程在系统中基于各内置第三方应用的完整性(以第三方应用占用空间)记录一串校验数据,分析备份内置第三方应用所需占用的空间,再从内存里分配与占用空间相同的缓冲区,之后将内置第三方应用复制到分配的缓冲区中,再格式化/data目录分区,在格式化data目录分区完成后,从内存的缓冲区将内置第三方应用恢复回data目录分区,并在再次检测各第三方应用的占用空间大小,与在格式化/data目录分区前做的检验数据对比用于检测是否发生正确。另一方面,为使厂商提供的升级包能升级第三方应用,还必须修改Android原有的升级机制,使之能支持从升级包里升级data目录分区,相应的,厂商提供的升级包里也需要有/data目录分区的数据。 如此,我们就可以实现内置第三方应用用户可删除、升级后不占两份空间、恢复出厂设置后能恢复成升级前用户的内置第三方应用、升级包能升级/data目录分区的第三方应用的目的。第二,结合图I和2中程序流程详细说明本发明实现如图I所示,本发明具体实施例Android手机中的恢复出厂设置软件程序,具体包括以下步骤101)将内置第三方应用放到/data目录分区下,维护一张记录内置第三方应用名称的列表,由于Android安装包(apk)有可能会升级,而Android系统中,奇数次升级会在包名后加上-I,偶数次升级会加上_2,因此,该列表中应加上两个包名,例如下表
static const char* wipedata_whitelist[] = {
/*0riginal apk name listed as follow:*/
"Android_OPPO_11091_QQ_Beta4.apk",
/*After odd times updated, new apk name listed as follow:*/ "com.tencent.mqq-1 .apk",
"com.tencent.mqq-2.apk",102)判断是否需要进行恢复出厂设置?如果不是,只是需要删除、升级等操作,按正常流程执行即可;103)用户选择恢复出厂设置,在系统中基于各内置第三方应用的完整性(即以第三方应用占用空间)记录一串校验数据;104)从内存或存储卡里分配与各内置第三方应用占用空间大小相同的缓冲区;105)确保挂载上/data/app目录分区,将内置第三方应用拷贝到缓冲区中,格式化/data目录分区;106)在格式化/data目录分区完成后,再次确保挂载上/data/app目录分区,并修改/data/app目录分区对应创建文件用户/创建文件用户的用户组/其他用户的权限分别为771,以免非正常操作破坏数据;其中7对应可读可写执行,I对应只可读;107)从缓冲区将内置第三方应用恢复回/data目录分区;108)再次检测各第三方应用的占用空间大小,与在103)步获得的检验数据对比用于检测是否数据恢复是否正确;删除恢复出错的第三方应用(这种非自愿被删除,用户可以通过图2对应的软件升级来弥补);109)重启手机后,内置第三方应用成功恢复为恢复出厂设置前的版本。如图2所示,本发明具体实施例Android手机中内置第三方应用升级,具体包括以下步骤(一)网络服务侧201)从工程编译的 out/target/product/$prj_name/data/app 目录分区读取出内置第三方应用;202)调用命令 common 对象的 ZipWriteStr 函数 common. ZipffriteStr (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)重启后,升级包里的内置第三方应用被安装到系统中。最后,以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
权利要求
1.一种Android手机内置第三方应用的管理方法,其特征在于,利用手机Android系统,包括以下步骤101)将所有内置第三方应用放在/data目录分区下,并建立保存应用列表;102)判断是否恢复出厂设置?是进入下一步,否则跳过下面所有步骤;103)在系统中基于各个内置第三方应用的占用空间记录一串校验数据;104)从内存或存储卡里分配与各个内置第三方应用占用空间大小相同的缓冲区;105)确保挂载上/data/app目录分区,将各个内置第三方应用拷贝到缓冲区中,格式化/data目录分区;106)再次确保挂载上/data/app目录分区,并修改/data/app目录分区对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771” ;107)从缓冲区将各个内置第三方应用拷贝回/data目录分区;108)再次检测各第三方应用的占用空间大小,与在步骤103)获得的检验数据对比,再根据对比结果删除步骤107)中的错误拷贝。
2.根据权利要求I所述Android手机内置第三方应用的管理方法,其特征在于,若所述步骤108)中对比结果一致,则提示恢复成功和或重启手机。
3.根据权利要求I所述Android手机内置第三方应用的管理方法,其特征在于,若所述步骤108)中对比结果不一致,则提示用户有应用丢失和或提示用户获取升级包升级。
4.根据权利要求I所述Android手机内置第三方应用的管理方法,其特征在于,该管理方法还包括步骤108)之后的重启手机。
5.根据权利要求I所述Android手机内置第三方应用的管理方法,其特征在于,该管理方法还包括位于手机侧的具体步骤203)接收升级包,格式化本地/data目录分区;204)挂载/data目录分区;205)将升级包中的/data/app目录分区解包到系统中;206)修改系统中的/data/app目录分区权限对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771”。
6.根据权利要求5所述Android手机内置第三方应用的管理方法,其特征在于,该管理方法还包括步骤206)之后的重启手机。
7.根据权利要求5所述Android手机内置第三方应用的管理方法,其特征在于,该管理方法还包括位于网络服务侧的具体步骤201)从工程编译的对应目录下读取出待更新的内置第三方应用;202)将上一步读出的内置第三方应用的/data/app目录分区打入到升级包中。
8.根据权利要求7所述Android手机内置第三方应用的管理方法,其特征在于,所述对应目录是 out/target/product/$pr j_name/data/app 目录分区。
全文摘要
本发明涉及一种Android手机内置第三方应用的管理方法,包括101)将所有内置第三方应用放在/data下并建立应用列表;102)判断是否恢复出厂设置,否跳过下面所有步骤;103)基于各第三方应用占用空间记录一串校验数据;104)从内存或存储卡里分配与各内置第三方应用占用空间大小相同的缓冲区;105)确保挂载上/data/app,将各第三方应用拷贝到缓冲区中,格式化/data;106)再次确保挂载上/data/app,并修改其权限为771;107)从缓冲区将各第三方应用拷贝回/data;108)再次检测各第三方应用占用空间大小,与步骤103)获得的检验数据对比,删除步骤107)中的错误拷贝。
文档编号G06F9/46GK102609304SQ20121002713
公开日2012年7月25日 申请日期2012年2月8日 优先权日2012年2月8日
发明者曾元清 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1