CN105159803A - 一种应用程序的恢复方法及系统 - Google Patents
一种应用程序的恢复方法及系统 Download PDFInfo
- Publication number
- CN105159803A CN105159803A CN201510595311.1A CN201510595311A CN105159803A CN 105159803 A CN105159803 A CN 105159803A CN 201510595311 A CN201510595311 A CN 201510595311A CN 105159803 A CN105159803 A CN 105159803A
- Authority
- CN
- China
- Prior art keywords
- apk
- catalogue
- installation file
- data
- app
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序的恢复方法及系统,该方法包括:编译针对第三方应用程序apk的Android.mk文件;在上述编译的过程中,安装apk及与该apk相关的安装文件到data/app目录,并将apk及与apk相关的安装文件备份到system/etc目录;当检测到设备为恢复出厂设置后的启动状态时,将system/etc目录下的apk及与apk相关的安装文件安装到data/app目录。本发明有效解决了现有技术中手机FDR后应用程序没法恢复的技术问题,进而能够使厂商在定制一些第三方应用程序时得到的处理方式更加灵活,并且可以统一管理,减少沟通上的成本。
Description
技术领域
本发明涉及应用软件管理技术领域,特别是涉及一种应用程序的恢复方法及系统。
背景技术
目前,众所周知,Android作为一个开源的操作系统,许多厂商都在此基础上进行二次开发,定制一些具有自己特色的功能,同时也会跟一些第三方公司合作,预安装一些第三方的应用与服务,以便手机的功能变得更加丰富,以满足用户的各种需求,加大自己的产品在市场上的竞争力。可是,在合作期间,由于信息保密性的缘故,第三方公司往往不会提供应用程序的源码给厂商,而是提供一个apk,然后厂商通过编写Android.mk文件的方式将其预安装到手机上。
在实际应用中,某些apk里会集成一些so库文件或者jar包,并且读取这些文件的路径为data目录,而非system目录。在这种情况下,如果将对apk进行预安装时,如果将apk安装到system/app下,会因为跟so库文件或者jar包文件路径不一致,导致异常产生,应用程序没法启动;但是,如果将apk安装到data/app下,一旦手机FDR(FactoryDataReset,恢复出厂设置)后,应用程序将没法恢复。而应用程序没法恢复与厂商的初衷是相违背的。
当然,这种情况下,厂商可以跟第三方公司的技术人员沟通,修改读取so库文件或者jar包的路径为system目录。可是,这样将会造成厂商对第三方应用程序的过多依赖,没法统一处理,沟通成本增加。
发明内容
有鉴于此,本发明提供了一种应用程序的恢复方法及系统,以解决现有技术中手机FDR后应用程序没法恢复的技术问题。
为解决上述技术问题,本发明提供一种应用程序的恢复方法,包括:
编译针对第三方应用程序apk的Android.mk文件;
在所述编译的过程中,安装所述apk及与所述apk相关的安装文件到data/app目录,并将所述apk及与所述apk相关的安装文件备份到system/etc目录;
当检测到设备为恢复出厂设置后的启动状态时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
上述方法中,优选的,所述将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录,包括:
在运行init进程时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
上述方法中,优选的,在所述检测到设备为恢复出厂设置后的启动状态之前,还包括:
对所述设备进行恢复出厂设置的操作,清空所述data/app目录下的所述apk及与所述apk相关的安装文件。
本发明还提供了一种应用程序的恢复系统,包括:
编译单元,用于编译针对第三方应用程序apk的Android.mk文件;
备份单元,用于在所述编译的过程中,安装所述apk及与所述apk相关的安装文件到data/app目录,并将所述apk及与所述apk相关的安装文件备份到system/etc目录;
安装单元,用于当检测到设备为恢复出厂设置后的启动状态时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
上述系统中,优选的,所述安装单元具体用于:
在运行init进程时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
上述系统中,优选的,还包括:
恢复出厂设置单元,用于在所述检测到设备为恢复出厂设置后的启动状态之前,对所述设备进行恢复出厂设置的操作,清空所述data/app目录下的所述apk及与所述apk相关的安装文件。
上述系统中,优选的,所述设备为智能手机。
由以上本发明提供的技术方案可以看出,在针对第三方应用程序apk的Android.mk文件的编译过程中,先安装apk及与apk相关的安装文件到data/app目录,然后再将上述apk及与apk相关的安装文件备份到system/etc目录;当检测到设备为恢复出厂设置后的启动状态时,将system/etc目录下的apk及与apk相关的安装文件安装到data/app目录,以此实现了由于恢复出厂设置清空的apk及与apk相关的安装文件的恢复。显然,本发明有效解决了现有技术中手机FDR后应用程序没法恢复的技术问题,进而能够使厂商在定制一些第三方应用程序时得到的处理方式更加灵活,并且可以统一管理,减少沟通上的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种应用程序的恢复方法的流程图;
图2为本发明实施例提供的基于图1的流程图;
图3为本发明实施例提供的一种应用程序的恢复系统的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种应用程序的恢复方法及系统,以解决现有技术中手机FDR后应用程序没法恢复的技术问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参考图1,图1示出了本发明实施例提供的一种应用程序的恢复方法的流程图,该方法具体可以包括如下步骤:
步骤S100、编译针对第三方应用程序apk的Android.mk文件;
具体地,在实际应用中,厂商拿到第三方公司提供的应用程序apk(简称apk)后,先解压这个apk,接着再针对该apk编写Android.mk文件,然后对编好的Android.mk文件进行源码编译。
其中,Android应用程序包文件(apk)是一种Android操作系统上的应用程序安装文件格式,其英文全称为“applicationpackagefile”。
需要说明的是,由于Android系统是开源的操作系统,技术人员可以对其进行二次开发,所以,本发明所提供的技术方案主要是针对Android设备的,当然,也并不局限于此,只要是在没有做出创造性劳动前提下所获得的所有方案设计思路都属于本发明保护的范围。
步骤S101、在编译的过程中,安装apk及与该apk相关的安装文件到data/app目录,并将apk及与该apk相关的安装文件备份到system/etc目录;
具体地,源码编译成image的时候,判断该apk是否为第三方apk,如果是,则将该apk以及相关安装文件安装到data/app目录下,同时将其备份到system/etc目录下。
步骤S102、当检测到设备为恢复出厂设置后的启动状态时,将system/etc目录下的apk及与该apk相关的安装文件安装到data/app目录。
具体地,当用户点击FDR,重启设备时,通过判断是否为factoryreset来将备份在system/etc的apk以及相关安装文件重新安装到data/app目录下,从而实现第三方应用程序的恢复。
实际应用中,对设备进行恢复出厂设置的操作,清空data/app目录下的apk及与该apk相关的安装文件。
这里需要说明的是,本发明中涉及的Android.mk、data/app目录及system/etc目录的名称仅仅是基于当前普遍使用的名称,但并不局限于名称的形式,只要文件本身实质和功能与本发明中的Android.mk一致,目录本身实质和功能与本发明中data/app目录及system/etc目录一致的都属于本发明保护的范围。
综上,本发明以上技术方案实现了由于恢复出厂设置清空的apk及与apk相关的安装文件的恢复,有效解决了现有技术中手机FDR后应用程序没法恢复的技术问题,进而能够使厂商在定制一些第三方应用程序时得到的处理方式更加灵活,并且可以统一管理,减少沟通上的成本。
基于上述本发明实施例所公开的技术方案,本实施例中,基于实际应用,对步骤S102中将system/etc目录下的apk及与该apk相关的安装文件安装到data/app目录做进一步地阐述,参考图2,本发明技术方案建立在Android的开机流程的基础上,在运行init进程时添加恢复应用的服务,将备份在system/etc下的应用以及相关文件拷贝到data/app下,完成安装,具体内容如下:
步骤S200、BootROM:当电源按下,引导芯片代码开始从预定义的地方开始执行,启动系统。
步骤S201、BootLoader:启动引导程序,检测RAM,设置网卡,内存等等参数。
步骤S202、Kernel:启动内核,设置缓存,被保护存储器,计划列表,加载驱动。当内核完成系统设置后,它首先会寻找系统文件中的“init”文件,启动init进程。
步骤S203、init:运行init进程,其主要目的有两个,一是挂载目录,比如/sys,/dev,/proc,二是运行init.rc脚本,进行Android的一些初始化工作。这个流程上,Restore_apps服务将被添加进来,作为一个服务启动起来。
步骤S204、Restore_apps:恢复预安装应用的服务。
步骤S205、Zygote:启动Zygote进程。用于管理android的各种进程。
步骤S206、DalvikVM:启动虚拟机。
步骤S207、SystemServers:启动系统服务。
实际具体实施时,相较现有技术的开机流程,步骤S203需要进行一定的定制修改,步骤S204为新添加的流程,用于恢复预安装的应用程序。
基于上述本发明实施例提供的应用程序的恢复方法相对应,本发明实施例还提供了一种应用程序的恢复系统,参考图3,该系统300可以包括如下内容:
编译单元301,用于编译针对第三方应用程序apk的Android.mk文件;
备份单元302,用于在编译的过程中,安装apk及与apk相关的安装文件到data/app目录,并将apk及与apk相关的安装文件备份到system/etc目录;
安装单元303,用于当检测到设备为恢复出厂设置后的启动状态时,将system/etc目录下的apk及与apk相关的安装文件安装到data/app目录。
本发明中,上述安装单元303具体可以用于:
在运行init进程时,将system/etc目录下的apk及与apk相关的安装文件安装到data/app目录。
本发明中,上述系统300还可以包括:
恢复出厂设置单元,用于在检测到设备为恢复出厂设置后的启动状态之前,对设备进行恢复出厂设置的操作,清空data/app目录下的apk及与apk相关的安装文件。
本发明中,上述设备具体可以为智能手机。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种应用程序的恢复方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (7)
1.一种应用程序的恢复方法,其特征在于,包括:
编译针对第三方应用程序apk的Android.mk文件;
在所述编译的过程中,安装所述apk及与所述apk相关的安装文件到data/app目录,并将所述apk及与所述apk相关的安装文件备份到system/etc目录;
当检测到设备为恢复出厂设置后的启动状态时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
2.如权利要求1所述的方法,其特征在于,所述将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录,包括:
在运行init进程时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
3.如权利要求2所述的方法,其特征在于,在所述检测到设备为恢复出厂设置后的启动状态之前,还包括:
对所述设备进行恢复出厂设置的操作,清空所述data/app目录下的所述apk及与所述apk相关的安装文件。
4.一种应用程序的恢复系统,其特征在于,包括:
编译单元,用于编译针对第三方应用程序apk的Android.mk文件;
备份单元,用于在所述编译的过程中,安装所述apk及与所述apk相关的安装文件到data/app目录,并将所述apk及与所述apk相关的安装文件备份到system/etc目录;
安装单元,用于当检测到设备为恢复出厂设置后的启动状态时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
5.如权利要求4所述的系统,其特征在于,所述安装单元具体用于:
在运行init进程时,将所述system/etc目录下的所述apk及与所述apk相关的安装文件安装到所述data/app目录。
6.如权利要求5所述的系统,其特征在于,还包括:
恢复出厂设置单元,用于在所述检测到设备为恢复出厂设置后的启动状态之前,对所述设备进行恢复出厂设置的操作,清空所述data/app目录下的所述apk及与所述apk相关的安装文件。
7.如权利要求6所述的系统,其特征在于,所述设备为智能手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595311.1A CN105159803A (zh) | 2015-09-17 | 2015-09-17 | 一种应用程序的恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595311.1A CN105159803A (zh) | 2015-09-17 | 2015-09-17 | 一种应用程序的恢复方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105159803A true CN105159803A (zh) | 2015-12-16 |
Family
ID=54800665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510595311.1A Pending CN105159803A (zh) | 2015-09-17 | 2015-09-17 | 一种应用程序的恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159803A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920704A (zh) * | 2018-07-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 文件恢复方法、文件恢复装置及移动终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768628A (zh) * | 2012-06-19 | 2012-11-07 | Tcl集团股份有限公司 | 一种预安装第三方应用的方法及装置 |
CN103176864A (zh) * | 2013-03-11 | 2013-06-26 | 广东欧珀移动通信有限公司 | 一种基于安卓系统的备份方法、装置以及移动终端 |
CN104123199A (zh) * | 2014-07-03 | 2014-10-29 | 可牛网络技术(北京)有限公司 | 应用程序的恢复方法、装置和移动终端 |
WO2015055074A1 (zh) * | 2013-10-17 | 2015-04-23 | 北京奇虎科技有限公司 | 动态加载和调用程序的方法及装置 |
CN104679544A (zh) * | 2013-11-29 | 2015-06-03 | 中兴通讯股份有限公司 | 应用程序管理方法及装置 |
CN104679534A (zh) * | 2013-11-28 | 2015-06-03 | 中兴通讯股份有限公司 | 系统应用安装包加载处理方法、装置及终端 |
-
2015
- 2015-09-17 CN CN201510595311.1A patent/CN105159803A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768628A (zh) * | 2012-06-19 | 2012-11-07 | Tcl集团股份有限公司 | 一种预安装第三方应用的方法及装置 |
CN103176864A (zh) * | 2013-03-11 | 2013-06-26 | 广东欧珀移动通信有限公司 | 一种基于安卓系统的备份方法、装置以及移动终端 |
WO2015055074A1 (zh) * | 2013-10-17 | 2015-04-23 | 北京奇虎科技有限公司 | 动态加载和调用程序的方法及装置 |
CN104679534A (zh) * | 2013-11-28 | 2015-06-03 | 中兴通讯股份有限公司 | 系统应用安装包加载处理方法、装置及终端 |
CN104679544A (zh) * | 2013-11-29 | 2015-06-03 | 中兴通讯股份有限公司 | 应用程序管理方法及装置 |
CN104123199A (zh) * | 2014-07-03 | 2014-10-29 | 可牛网络技术(北京)有限公司 | 应用程序的恢复方法、装置和移动终端 |
Non-Patent Citations (1)
Title |
---|
JINGWEN3699: "《为什么我复制到system/app下了,就是用不了呢》", 《HTTP://BLOG.CSDN.NET/JINGWEN3699/ARTICLE/DETAILS/8241180》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920704A (zh) * | 2018-07-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 文件恢复方法、文件恢复装置及移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473067B (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
US20160378458A1 (en) | Method and device for system application installation package, and terminal | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN105528225A (zh) | 应用程序的加载方法及加载装置 | |
TWI533216B (zh) | 作業系統更新方法 | |
CN102346673A (zh) | 一种手机系统升级的方法及装置 | |
CN106648724B (zh) | 应用程序的热修复方法及终端 | |
CN104834555A (zh) | 调用功能模块的方法、相关装置及装置修复方法 | |
CN105302711A (zh) | 一种应用修复方法、装置及终端 | |
CN103019764B (zh) | Andriod资源包可安装性的检测方法及系统 | |
CN104035842A (zh) | 一种删除和恢复内置应用程序的方法 | |
CN102609304A (zh) | 一种Android手机内置第三方应用的管理方法 | |
CN104111843A (zh) | 一种基于沙箱的脚本更新方法及系统 | |
CN109508249B (zh) | 崩溃处理方法、装置及电子设备 | |
CN104731626A (zh) | 应用的安装方法及装置 | |
US9772892B2 (en) | Recovery method for portable touch-control device and portable touch-control device using the same | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN105159803A (zh) | 一种应用程序的恢复方法及系统 | |
CN104765631A (zh) | 一种移动终端的应用程序恢复方法及装置 | |
CN104331311A (zh) | 一种升级包生成方法和装置 | |
CN113342376B (zh) | 一种针对物联网设备的操作系统进行升级的方法及装置 | |
CN108595292B (zh) | 一种系统的优化方法、移动终端及计算机存储介质 | |
CN108536444B (zh) | 插件编译方法、装置、计算机设备和存储介质 | |
CN106778270B (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: 20151216 |