CN102609304B - 一种Android手机内置第三方应用的管理方法 - Google Patents
一种Android手机内置第三方应用的管理方法 Download PDFInfo
- Publication number
- CN102609304B CN102609304B CN 201210027137 CN201210027137A CN102609304B CN 102609304 B CN102609304 B CN 102609304B CN 201210027137 CN201210027137 CN 201210027137 CN 201210027137 A CN201210027137 A CN 201210027137A CN 102609304 B CN102609304 B CN 102609304B
- Authority
- CN
- China
- Prior art keywords
- party
- data
- mobile phone
- management method
- built
- 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.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims abstract description 31
- 238000005192 partition Methods 0.000 claims description 55
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 abstract 2
- 230000009191 jumping Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 101100322583 Caenorhabditis elegans add-2 gene Proteins 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明涉及一种Android手机内置第三方应用的管理方法,包括:101)将所有内置第三方应用放在/data下并建立应用列表;102)判断是否恢复出厂设置?否跳过下面所有步骤;103)基于各第三方应用占用空间记录一串校验数据;104)从内存或存储卡里分配与各内置第三方应用占用空间大小相同的缓冲区;105)确保挂载上/data/app,将各第三方应用拷贝到缓冲区中,格式化/data;106)再次确保挂载上/data/app,并修改其权限为771;107)从缓冲区将各第三方应用拷贝回/data;108)再次检测各第三方应用占用空间大小,与步骤103)获得的检验数据对比,删除步骤107)中的错误拷贝。
Description
技术领域
本发明涉及智能手机,具体涉及一种安卓系统(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)重启后,升级包里的内置第三方应用被安装到系统中。
最后,以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
Claims (8)
1.一种Android手机内置第三方应用的管理方法,其特征在于,利用手机Android系统,包括以下步骤:
101)将所有内置第三方应用放在/data目录分区下,并建立保存应用列表;
102)判断是否恢复出厂设置?是进入下一步,否则跳过下面所有步骤;
103)在系统中基于各个内置第三方应用的占用空间记录一串校验数据;
104)从内存或存储卡里分配与各个内置第三方应用占用空间大小相同的缓冲区;
105)确保挂载上/data/app目录分区,将各个内置第三方应用拷贝到缓冲区中,格式化/data目录分区;
106)再次确保挂载上/data/app目录分区,并修改/data/app目录分区对应其创建文件用户/创建文件用户的用户组/其他用户的权限分别为“771”;
107)从缓冲区将各个内置第三方应用拷贝回/data目录分区;
108)再次检测各第三方应用的占用空间大小,与在步骤103)获得的校验数据对比,再根据对比结果删除步骤107)中的错误拷贝。
2.根据权利要求1所述Android手机内置第三方应用的管理方法,其特征在于,若所述步骤108)中对比结果一致,则提示恢复成功和或重启手机。
3.根据权利要求1所述Android手机内置第三方应用的管理方法,其特征在于,若所述步骤108)中对比结果不一致,则提示用户有应用丢失和或提示用户获取升级包升级。
4.根据权利要求1所述Android手机内置第三方应用的管理方法,其特征在于,该管理方法还包括步骤108)之后的重启手机。
5.根据权利要求1所述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/$prj_name/data/app目录分区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210027137 CN102609304B (zh) | 2012-02-08 | 2012-02-08 | 一种Android手机内置第三方应用的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210027137 CN102609304B (zh) | 2012-02-08 | 2012-02-08 | 一种Android手机内置第三方应用的管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609304A CN102609304A (zh) | 2012-07-25 |
CN102609304B true CN102609304B (zh) | 2013-09-25 |
Family
ID=46526698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210027137 Expired - Fee Related CN102609304B (zh) | 2012-02-08 | 2012-02-08 | 一种Android手机内置第三方应用的管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609304B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831173B (zh) * | 2012-07-27 | 2016-09-07 | Tcl集团股份有限公司 | 基于Android系统的内存扩展方法、装置及终端设备 |
CN103324507A (zh) * | 2013-06-25 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 一种终端预置应用程序更新的方法和装置 |
CN104035842A (zh) * | 2014-06-30 | 2014-09-10 | 上海斐讯数据通信技术有限公司 | 一种删除和恢复内置应用程序的方法 |
CN106155734B (zh) * | 2015-04-27 | 2020-09-18 | 南京中兴软件有限责任公司 | 一种软件版本的下载方法及装置 |
CN106201567A (zh) * | 2015-05-08 | 2016-12-07 | 小米科技有限责任公司 | 获得应用信息的方法及装置 |
CN104932955A (zh) * | 2015-05-29 | 2015-09-23 | 深圳市创维电器科技有限公司 | 移动终端恢复出厂设置时的数据备份方法及移动终端 |
CN106610839B (zh) * | 2015-10-21 | 2020-10-30 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN106293814B (zh) * | 2016-07-29 | 2020-02-07 | 北京小米移动软件有限公司 | 升级方法及装置 |
CN114143394B (zh) * | 2021-08-13 | 2023-07-21 | 希姆通信息技术(上海)有限公司 | 一种可卸载并且可恢复安装的应用预装与卸载方法 |
CN114861209B (zh) * | 2022-05-24 | 2024-06-04 | Oppo广东移动通信有限公司 | 内存空间的占用信息的获取方法、装置及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426032A (zh) * | 2008-11-28 | 2009-05-06 | 深圳华为通信技术有限公司 | 安装Java应用的终端及其安装Java应用的方法 |
CN102223441A (zh) * | 2011-06-14 | 2011-10-19 | 李海军 | 个性化定制手机恢复出厂设置的方法 |
CN102222027A (zh) * | 2011-06-20 | 2011-10-19 | 中兴通讯股份有限公司 | 终端恢复出厂设置方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281475A1 (en) * | 2009-05-04 | 2010-11-04 | Mobile On Services, Inc. | System and method for mobile smartphone application development and delivery |
-
2012
- 2012-02-08 CN CN 201210027137 patent/CN102609304B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426032A (zh) * | 2008-11-28 | 2009-05-06 | 深圳华为通信技术有限公司 | 安装Java应用的终端及其安装Java应用的方法 |
CN102223441A (zh) * | 2011-06-14 | 2011-10-19 | 李海军 | 个性化定制手机恢复出厂设置的方法 |
CN102222027A (zh) * | 2011-06-20 | 2011-10-19 | 中兴通讯股份有限公司 | 终端恢复出厂设置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102609304A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609304B (zh) | 一种Android手机内置第三方应用的管理方法 | |
WO2017067448A1 (zh) | 一种无线固件升级方法、系统及计算机存储介质 | |
CN100426238C (zh) | Vex-虚拟扩展框架 | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
CN104142847B (zh) | 云计算环境下的无状态化虚拟机及其应用 | |
CN102591745B (zh) | 基于安卓系统的系统恢复方法、装置及智能设备 | |
CN106445663A (zh) | 应用数据的迁移方法及装置 | |
CN104216793A (zh) | 应用程序备份、恢复的方法及设备 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN102622280A (zh) | 一种基于双文件系统的软件版本升级的控制方法及装置 | |
CN101158906A (zh) | 一种客户端程序自动更新升级的方法 | |
WO2014146256A1 (zh) | 一种升级方法、智能终端及升级系统 | |
CN104239166A (zh) | 一种对运行中虚拟机实现文件备份的方法 | |
CN104932955A (zh) | 移动终端恢复出厂设置时的数据备份方法及移动终端 | |
CN104714811A (zh) | 差分升级包的制作方法及装置、系统差分升级方法及装置 | |
US20160170735A1 (en) | Operating system updating method by using a checklist | |
CN101436138A (zh) | 一种用于软件升级且动态回滚的控制装置以及控制方法 | |
CN101751593A (zh) | 智能卡及其备份与恢复方法和系统 | |
CN107943501A (zh) | 嵌入式设备升级方法、装置、计算机设备和存储介质 | |
CN104035842A (zh) | 一种删除和恢复内置应用程序的方法 | |
CN102521289A (zh) | 一种文件同步方法、装置及系统 | |
CN103049343A (zh) | 操作系统蓝屏恢复方法及装置 | |
CN104516796A (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
CN107766063A (zh) | 一种批量升级软件的方法及系统 | |
CN106126277A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130925 |