从命令行进入恢复模式


9

有谁知道是否有办法让Android手机从Android命令行重启进入恢复模式?

注意:

没有 ADB访问权限。

知道从引导加载程序执行该操作的神奇上电顺序。我已经尝试过常见的事情,但没有任何效果。

确实有根。(并且可以使用终端仿真器直接在设备上输入命令。)

我知道这是有可能的,因为像ROM Manager这样的应用程序可以做到。但是如何?

Answers:


11

通常,reboot二进制文件提供了一个recovery开关。切换到根目录后,执行以下命令:

/system/bin/reboot recovery

如果您的制造商不支持此功能,则该功能可能无效。ROM Manager类型的应用程序使用Android的API,您无法直接通过终端仿真器进行访问。


1
您不需要的完整路径reboot,但这是完全正确的。
马修(Matthew)

1
@MatthewRead是的,确实不需要完整的路径。:)但是,如果有人弄乱了PATH变量,我不想留下任何机会。
Android Quesito 2012年

@ Otech1408您必须具有root用户的设备才能执行此操作。
onik 2014年

在非root用户的设备上,您可以通过adb来实现这一目标:adb reboot recovery
除以零

su在运行之前,您可能需要输入终端以获得root权限reboot recovery
维沙尔·比斯瓦斯

2

我在普通的Android 5.0和6.0.1,CM 14和Android 8.1.0 上测试了以下命令,并正常关闭并重新启动以恢复:

su -c 'svc power reboot recovery'

它也可以在Android 4.4.2上运行,但是关闭似乎是低级的。但是它需要root访问。

另外,如果您运行的是Android KitKat或更高版本*并且具有root访问权限,则可以在终端应用中尝试以下命令:

su -c 'setprop sys.powerctl reboot,recovery'
  • adb shell替换su -c以使用运行命令
  • 替换重新启动,重新启动进行恢复重新启动设备
  • 代替重新启动,恢复关闭关闭该装置

请注意,所有这些setprop命令都将执行低级(不干净;不正常)关闭/重新启动。

在Android Lollipop及更高版本*中,您还可以尝试:

su -c 'setprop ctl.start pre-recovery'

对于Android Jelly Bean及以下版本,SS-3的答案似乎是唯一可能的解决方案。


* 测试命令的最新版本是Android 6.0.1。


我想CM的su二进制文件没有 -c参数,因此请先使用切换到root用户su,然后执行带引号的命令
Firelord

1
我相信它正在运行蛋糕或甜甜圈。无论如何,它很早以前就已经降落到空中的电话回收中心。但是还是要谢谢!
大卫

1
@DavidGiven:我似乎想起了一个老问题,但看起来却很愚蠢,但我这样做是因为您没有提到特定的Android版本,所以我试图以此为契机,介绍对您和其他人都有效的方法以及后续的Android版本。它还帮助我避免了重复的问题,但避免了其他Android版本。
Firelord

1
“ su -c'svc电源重新启动恢复'”正在基于cm14.1(android 7.1)的rom上运行。在重启进入恢复之前,它会正常关闭。这是到目前为止我遇到的最好的解决方案。
敏锐的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.