安卓强制恢复出厂recovery无命令_在recovery模式下无法恢复出厂设置

安卓强制恢复出厂recovery无命令_在recovery模式下无法恢复出厂设置有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面:Can'tloadAndroidsystem.Yourdatamaybecorrupt.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面

 
安卓强制恢复出厂recovery无命令_在recovery模式下无法恢复出厂设置
Can’t load Android system. Your data may be corrupt.
If you continue to get this message, you may need to
perform a factory data reset and erase all user data
stored on this device.

 

 

意思是说,不能加载正常的安卓系统,可能数据损坏,如果你继续收到此消息,请执行恢复出厂设置擦除所有的用户数据
 
我们查看下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"

 

有参数“
–prompt_and_wipe_data”,我们可以在google的官方查看此命令何意:
 
这个需要代理服务器才能查看,我把原文贴下:

 

救援程序

很多用户严重依赖他们的手机,需要一台始终可以正常工作的设备。然而,有时设备会陷入重新启动循环僵局,这样,用户便需要提交支持服务单据或保修咨询。这个过程会让用户不舒服,而对于设备制造商和运营商来说,则需要支付高昂的费用。

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 数据连接时,系统会停止所有救援事件,因为这是一个较强的信号,表示有人正在调试设备。

1要停止此类抑制行为,请运行:

adb shell setprop persist.sys.enable_rescue 1

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

2要触发低级 system_server 崩溃循环,请运行:

adb shell setprop debug.crash_system 1

3要触发中级 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167276.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月5日 上午9:46
下一篇 2022年8月5日 上午9:46


相关推荐

  • 线性回归和逻辑回归的区别

    线性回归和逻辑回归的区别回归问题的条件 前提 1 收集的数据 2 假设的模型 即一个函数 这个函数里含有未知的参数 通过学习 可以估计出参数 然后利用这个模型去预测 分类新的数据 1 线性回归假设特征和结果都满足线性 即不大于一次方 这个是针对收集的数据而言 收集的数据中 每一个分量 就可以看做一个特征数据 每个特征至少对应一个未知的参数 这样就形成了一个线性模型函数 向量表示形式 这个

    2026年3月18日
    1
  • mysql 拼接字符_mysql将字符串和数字拼接

    mysql 拼接字符_mysql将字符串和数字拼接数据准备CREATETABLE`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`account`varchar(100)DEFAULTNULL,`password`varchar(100)DEFAULTNULL,`type`tinyint(4)DEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`acc…

    2022年9月30日
    5
  • 英文翻译插件介绍_好用的翻译插件

    英文翻译插件介绍_好用的翻译插件明确需求开发一款插件最先要考虑的当然是它要实现什么功能了。比如我想做的是varname-go-die主要功能就是让开发者有时候遇到起变量名但是不知道英文怎么拼时,不需要切换到翻译软件去查找再copy

    2022年8月1日
    12
  • XPath解析中的 ‘Element a at 0x5308a80’是什么

    XPath解析中的 ‘Element a at 0x5308a80’是什么话不多说,直接上代码以链家网为例,解析网页打印出来的东西居然不是想象中的html文件,而是“<Elementhtmlat0x52e5c10>”这么个东西。这个东西其实是一个元素,后面会介绍到。现在还是说说怎么把这个东西变成我们能看懂的html内容吧。fromlxmlimportetreeimportrequestsfromlxml.htmlimport…

    2025年9月26日
    7
  • ASP.NET_正则表达式_匹配HTML中的一行或多行

    ASP.NET_正则表达式_匹配HTML中的一行或多行

    2021年11月16日
    49
  • css 相对定位 position relative

    css 相对定位 position relativecss 相对定位 nbsp nbsp nbsp nbsp nbsp 这里相对的意思是 相对于一个元素没有定位前显示的位置 也就是原来显示的位置 nbsp nbsp nbsp nbsp 这个需要注意 nbsp nbsp nbsp nbsp 下面分两个部分来看相对定位 第一部分 如何实现相对定位 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 代码 1 没有加定位的情况下 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp htmlheadm

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号