android 手机分区失败怎么办,Android设备DATA分区数据防出错方法与流程

本发明涉及Android设备技术领域,尤其涉及一种Android设备DATA分区数据防出错方法。

背景技术:

现有手机在生成成功后,都要对手机进行充电及对手机系统和软件进行下载更新,而在对手机软件进行下载更新的过程中会出现掉电的情况,导致下载更新失败,从而导致手机或者软件无法使用的情况发生,这种情况下常常采用手动恢复出厂设置,操作复杂,降低产线产能,异常开机情况下甚至无法使用此法;或者采用异常文件搜索算法,遍历速度慢,误判情况多。

技术实现要素:

针对上述技术中存在的不足之处,本发明提供一种Android设备DATA分区数据防出错方法,通过对DATA区的内置数据进行记录,对apk 和jar解压后的数据进行删除,再由系统重新生成一份,从而避免了出错的可能。

为了达到上述目的,本发明一种Android设备DATA分区数据防出错方法,包括以下具体步骤:

步骤1,DATA数据生成:在下载更新软件之前,对需要下载到DATA分区的数据进行扫描,并记录下相应的文件名称到A文件,同时也包括A文件名;

步骤2,软件烧写:将需要的软件烧写至手机中;

步骤3,开机初始化过程对记录在A文件中以外的文件的处理:Android设备初始化开始,开机后init进程未发现A文件存在,则执行步骤4;开机后init进程发现A文件的存在,手机未掉电系统会删掉DATA分区下除A文件中记录的文件之外的所有文件,而被删掉的文件将会由系统重新生成,则执行步骤4;手机掉电DATA分区生产部分文件,存在不完成的文件,则重新执行步骤3;该步骤保证了手机在解压apk或者jar时文件的完整性,避免了因缺失文件而使手机不能正常使用;

步骤4,开机初始化结束后对A文件的处理:当Android设备初始化完成后,系统下发BOOT_COMPLETE消息,相应的应用程序将A文件删除,开机流程结束。

其中,所述步骤1中的A文件中记录的手机中的文件为内置数据,A文件为可以进行标志的数据文件。

其中,所述步骤1中DATA数据是在packageManagerSerice启动之后生成,A文件是标志文件不会再次生成。

其中,所述步骤3中删除的数据为系统将apk及jar包解压后生成的数据,删除的apk和 jar数据将由系统重新生成一份完整的文件。

其中,所述步骤4中删除A文件是为了下次开机不会再有删除DATA分区数据的动作。

其中,所述步骤4中收到BOOT_COMPLETE的消息广播后删除A,证明依次完整的开机过程走完,中间没有发生意外掉电的情况。

其中,该方法充分利用Angroid系统DATA数据生成机制及开机结束消息分发机制。

其中,所述DATA数据生成机制是指在手机开机的时候,系统会扫描所有的apk和jar文件,若DATA分区没有相应的数据,那么DATA数据生成机制会进行重新解压并重写相应的数据。

其中,所述开机结束消息分发机制是指在DATA分区数据生成等动作执行之后,系统会发布BOOT_COMPLETE的消息广播,该算法收到广播后,会删除标志文件。

本发明的有益效果是:

与现有技术相比,本发明的Android设备DATA分区数据防出错方法,充分利用android系统DATA数据生成机制及开机结束消息分发机制;只需要一个A文件,就可以防止手机在更新下载系统时出现掉电的情况,从而导致手机在解压apk及jar时解压不完整或者出错,导致手机不能正常使用,本发明适用于所有装有Android系统的手机,通用性强,而且无需人工干预,只需一个A文件所以代码量小,速度快,无误判情况。

附图说明

图1为本发明Android设备DATA分区数据防出错方法的方框流程图。

具体实施方式

为了更清楚地表述本发明,下面结合附图对本发明作进一步地描述。

参阅图1,本发明一种Android设备DATA分区数据防出错方法,包括以下具体步骤:

S1,DATA数据生成:在下载更新软件之前,对需要下载到DATA分区的数据进行扫描,并记录下相应的文件名称到A文件,同时也包括A文件名;手机第一次开机,DATA分区没有数据,A文件中未记录其它文件名;第一次开机以为DATA分区没有数据,所以第一次开机算是误判,但是对系统没有影响;

S2,软件烧写:将需要的软件烧写至手机中;

S3,开机初始化过程对记录在A文件中以外的文件的处理:Android设备初始化开始,开机后init进程未发现A文件存在,则执行步骤S4;开机后init进程发现A文件的存在,手机未掉电系统会删掉DATA分区下除A文件中记录的文件之外的所有文件,而被删掉的文件将会由系统重新生成,则执行步骤S4;手机掉电DATA分区生产部分文件,存在不完成的文件,则重新执行步骤S3;该步骤保证了手机在解压apk或者jar时文件的完整性,避免了因缺失文件而使手机不能正常使用;当系统初始化时发现没有相应数据,就会重写一份,删除数据的这个时机很早,要抢在解压重写数据之前;

S4,开机初始化结束后对A文件的处理:当Android设备初始化完成后,系统下发BOOT_COMPLETE消息,相应的应用程序将A文件删除,开机流程结束。系统会发布BOOT_COMPLETE的消息广播,该算法收到广播后,会删除标志文件。删掉A文件是为了下次开机不会有删除data分区数据的动作。

本发明的Android设备DATA分区数据防出错方法,与现有技术相比,充分利用android系统DATA数据生成机制及开机结束消息分发机制;只需要一个A文件,就可以防止手机在更新下载系统时出现掉电的情况,从而导致手机在解压apk及jar时解压不完整或者出错,导致手机不能正常使用,本发明适用于所有装有Android系统的手机,通用性强,而且无需人工干预,只需一个A文件所以代码量小,速度快,无误判情况。

本实施例中,步骤S1中的A文件中记录的手机中的文件为内置数据,A文件为可以进行标志的数据文件。

本实施例中,步骤S1中DATA数据是在packageManagerSerice启动之后生成,A文件是标志文件不会再次生成。

本实施例中,步骤S3中删除的数据为系统将apk及jar包解压后生成的数据,删除的apk和 jar数据将由系统重新生成一份完整的文件。data分区中的数据大致分为三类,(一)内置数据,打包刷机包时就存在了;(二)系统将apk及jar包解压后生成的数据;(三)用户在试用手机过程中产生的用户数据。A文件记录了内置数据中的文件名,就是说内置的数据不能被删掉,删掉是apk及jar包解压后生成的数据和用户在试用手机过程中产生的用户数据,但是因为手机还没有到用户手中,所以用户在试用手机过程中产生的用户数据文件是不存在的,最后删除的只是系统将apk及jar包解压后生成的数据,这类数据是存在出错的可能性的。

本实施例中,该方法充分利用Angroid系统DATA数据生成机制及开机结束消息分发机制。DATA数据生成机制是指在手机开机的时候,系统会扫描所有的apk和jar文件,若DATA分区没有相应的数据,那么DATA数据生成机制会进行重新解压并重写相应的数据。开机结束消息分发机制是指在DATA分区数据生成等动作执行之后,系统会发布BOOT_COMPLETE的消息广播,该算法收到广播后,会删除标志文件。

PackageManagerService是负责管理系统的Package,包括APK的安装,卸载,信息的查询等等。

BOOT_COMPLETE是指手机启动完成。

以上公开的仅为本发明的几个具体实施例,但是本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值