在工作中开发过程中,我们经常调试apk,然后推进机器里面去会已停止运行,你点几下就会恢复出厂设置。
意思是说,不能加载正常的安卓系统,可能数据损坏,如果你继续收到此消息,请执行恢复出厂设置擦除所有的用户数据
我们查看下recovery的log:

cat /tmp/recovery.log
[    1.516818]           erasing_text: en (68 x 29 @ 990)
[    1.520345]        no_command_text: en (124 x 29 @ 990)
[    1.523416]             error_text: en (49 x 29 @ 990)
[    1.993076]        installing_text: en (228 x 29 @ 990)
[    2.028634] SELinux: Loaded file_contexts
[    2.028675] Command: "/sbin/recovery" "--prompt_and_wipe_data" "--reason=RescueParty" "--locale=en_US"
  • 救援程序
    很多用户严重依赖他们的手机,需要一台始终可以正常工作的设备。然而,有时设备会陷入重新启动循环僵局,这样,用户便需要提交支持服务单据或保修咨询。这个过程会让用户不舒服,而对于设备制造商和运营商来说,则需要支付高昂的费用。Android 8.0 中纳入了一个功能,当该功能注意到核心系统组件陷入崩溃循环僵局时,就会派出“救援程序”。然后救援程序会通过一系列操作来上报相关情况,以期恢复设备。最后的解决方法是,救援程序使设备重新启动并进入恢复模式,然后提示用户恢复出厂设置。Android 兼容性定义文档并未要求提供此类救援功能,但此类功能对减少邮件支持记录来说非常有用。
  • 实现
    在 Android 8.0 中,救援程序默认处于启用状态,其实现位于/services/core/java/com/android/server/RescueParty.java 中。 在出现以下情况时,救援程序会收到有关启动和崩溃事件的信息,然后即会启动:

system_server 在 5 分钟内重启 5 次以上。
永久性系统应用在 30 秒内崩溃 5 次以上。

当检测到上述某种情况时,救援程序会将其上报给下一救援级别、处理与该级别相关联的任务,并让设备继续运行,看看能否恢复。清除或重置内容的程度随级别而增加。最高级别会提示用户将设备恢复出厂设置。要支持救援程序,无需特别的硬件支持。实现后,设备的恢复系统必须响应 --prompt_and_wipe_data 命令,且设备必须先提供一种方法,让用户确认用户数据是否有任何损坏,然后再继续运行。此外,恢复系统还应为用户提供有关尝试再次启动设备的选项。

由于每个救援级别都会使设备再次变为可运行状态的时间延后(可能长达 5 分钟),因此设备制造商不应添加自定义救援级别。设备处于不可运行的状态的时间越长,用户发出支持请求或保修咨询,而不是自行恢复其设备的可能性就越大。
验证
当设备具有有效的 USB 数据连接时,系统会停止所有救援事件,因为这是一个较强的信号,表示有人正在调试设备。

  • 要停止此类抑制行为,请运行:
    adb shell setprop persist.sys.enable_rescue 1

在此处,您可以触发系统或界面崩溃循环。

  • 要触发低级 system_server 崩溃循环,请运行:
    adb shell setprop debug.crash_system 1
  • 要触发中级 SystemUI 崩溃循环,请运行:
    adb shell setprop debug.crash_sysui 1

这两个崩溃循环都会启动救援逻辑。所有的救援操作也都会记录到存储在 /data/system/uiderrors.txt 中的永久性的 PackageManager 日志中,以供日后进行检查和调试。 此外,“软件包警告消息”部分下的每个错误报告中也会包含这些永久性的日志。来这个是android加的自动判断系统状态,实现的救援程序,触发进入recovery,强制执行恢复出厂设置。
主要的代码路径:frameworks/base/services/core/java/com/android/server/RescueParty.java
有时候我们在断电煲机的时候,有时候会触发系统的救援程序,其实是在压力测试,但是触发了android本身的救援程序,我们可以把救援程序禁止,这样防止煲机触发进入recovery系统。执行如下命令即可:setprop persist.sys.disable_rescue true

Android 8.1 recovery 强制执行恢复出厂设置相关推荐

  1. Android知识点 431 -- recovery 强制执行恢复出厂设置(Rescue Party)

    转载原文:https://www.cnblogs.com/codeking100/p/10339258.html 返回知识列表:Android知识点list 1 Incremented rescue ...

  2. recovery 强制执行恢复出厂设置(Rescue Party)

    有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面: Can't load Android system. Your data may be corrupt. If y ...

  3. 强制执行恢复出厂设置android

    前言 有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面 原因分析 我们查看下recovery的log: cat /tmp/recovery.log [ 1.51681 ...

  4. Android 9.0 进入recovery模式 自动恢复出厂设置的定制化

    1.概述 在9.0 设备中,由于定制的设备没有音量+和音量-按键,所以通过手动选择recovery选择界面的模式时,就不能选择进入哪种模式,这时就需要进入recovery的时候,默认进入恢复出厂设置模 ...

  5. android平板怎么双清,华为M2平板10.0怎么双清?华为M2进入recovery格机恢复出厂设置...

    双清对于搭载了安卓系统的华为M2平板电脑来说,是非常实用的一个功能,不管是刷固件出现系统问题,还是日常操作需要修复系统特殊异常情况都需要用到的操作.但是很多的华为M2平板用户并不了解这个操作怎么来进行 ...

  6. Android 如何才能捕获系统的恢复出厂设置事件

    点击恢复出厂设置后,系统重启,再次进入系统后,一切数据都被清空,怎样可以得知之前到底是否恢复出厂设置了呢?怎样可以标记 恢复出厂设置事件 ?我希望在系统重启后,根据客户需求,判断出刚刚恢复过出厂设置, ...

  7. Android L集成新特性之恢复出厂设置保护之如何实现,类似苹果ID的远程控制功能

    在Android 5.0 以后以后的设备默认开启恢复出厂设置保护功能,主要是为了减少用户在丢失手机的带来的损失,比如手机上的一些照片和其他一些重要资料被偷盗者非法利用.此功能可以让用户可以通过谷歌账号 ...

  8. android 设备管理器 解锁,4种方法解锁Android手机模式锁定而无需恢复出厂设置

    第1部分:如何使用dr.fone解锁Android模式锁定而无需恢复出厂设置? 如果您正在寻找一种快速可靠的方式来移动任何Android设备上的锁定屏幕,那么只需尝试dr.fone - Android ...

  9. 魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办

    魅蓝s6怎么恢复出厂设置?忘记密码怎么办?手机是现代生活必不可少的工具之一,在使用时我们常常会忘记手机密码.本次就给大家介绍手机密码忘了怎么恢复出厂设置,快来看看吧. 我们知道手机恢复出厂设置的注意事 ...

最新文章

  1. golang中的Session支持
  2. iOS App 启动性能优化
  3. 【数学基础】参数估计之贝叶斯估计
  4. php 解析数组,如何用PHP解析array数组
  5. Selenium中WebDriver的close()和quit()
  6. MinGW GCC 7.1.0 2017年6月份出炉啦
  7. oracle分页查询过程的简单实现
  8. 张小龙 4 小时演讲没时间看?看这一篇就够了!「附赠张小龙历年演讲实录 PDF」...
  9. Fiddler2汉化版使用说明
  10. 【Django】实现文件下载
  11. 理解机器翻译模型 Transformer
  12. 【日语】日文假名输入与键盘对应
  13. MySQL闪回工具之my2sql
  14. 在windows XP运行CISCO7200路由器仿真器
  15. 2018ei期刊目录计算机,科学网—2018年智能计算与信息系统国际会议(ICIS2018)征文期刊EI检索 - 周建国的博文...
  16. php北京平均工资,2016年北京平均工资是多少?
  17. matlab函数之reshape()
  18. 小正数,避免极小截断误差
  19. 【《WebGL编程指南》读书笔记——着色器和程序对象的准备】
  20. 【变量创建】CFPS应用及C刊变量复盘STATA实战1

热门文章

  1. 梦幻互通版无法显示服务器,梦幻西游互通版黑屏无法登陆怎么办 梦幻西游互通版黑屏无法登陆解决方法...
  2. 【面试分享】Java,1年,15K,多吗???
  3. pdf转eps格式的方法,以及LATEX插入eps图像有白边或者黑框的解决办法
  4. 不装了、摊牌了,我们要搞事情
  5. 一件极小的事,却泄漏了乐视超级电视成功的所有秘密
  6. 学习Python过程中的一些记录,慢慢更新中,希望能坚持下去~
  7. 余情未了用计算机弹,2018年职称计算机考试题库(7)
  8. QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。
  9. linux后台永久执行jar程序
  10. lotus同一台机拆分P1、P2绑定CPU