Rufen Sie den Wiederherstellungsmodus über die Befehlszeile auf

Weiß jemand, ob es eine Möglichkeit gibt, ein Android-Telefon über die Android-Befehlszeile in den Wiederherstellungsmodus neu zu starten?

Notiz:

Ich habe KEINEN adb-Zugriff.

Ich kenne die magische Einschaltsequenz NICHT , um dies vom Bootloader aus zu tun. Ich habe die üblichen Dinge ausprobiert und nichts funktioniert.

Ich habe Root. (Und kann über einen Terminal-Emulator Befehle direkt auf dem Gerät eingeben.)

Ich weiß, dass es irgendwie möglich ist, weil Anwendungen wie ROM Manager es tun. Aber wie?

Antworten (2)

Im Allgemeinen bietet rebootBinär einen recoverySchalter. Führen Sie nach dem Wechsel zu root diesen Befehl aus:

/system/bin/reboot recovery

Dies funktioniert möglicherweise nicht, wenn Ihr Hersteller es nicht unterstützt. Apps vom Typ ROM Manager verwenden die API von Android, auf die Sie nicht direkt über den Terminalemulator zugreifen können.

Sie sollten nicht den vollständigen Pfad für benötigen reboot, aber dieser ist genau richtig.
@MatthewRead Ja, der vollständige Pfad ist wirklich nicht erforderlich. :) Aber ich wollte keine Chance lassen, falls jemand etwas mit PATHVariablen vermasselt hat.
@Otech1408 Sie müssen dazu ein gerootetes Gerät haben.
Auf nicht gerooteten Geräten können Sie dies über adb erreichen:adb reboot recovery
Möglicherweise müssen Sie suTerminal eingeben, um Root-Zugriff zu erhalten, bevor Sie ausführen reboot recovery.
Hi. Was wären diese Android-APIs? Wissen Sie? (PS: Ich habe Zugriff auf die internen APIs, sodass ich sie verwenden kann, falls sie benötigt werden.)

Ich habe den folgenden Befehl auf Standard-Android 5.0 und 6.0.1, CM 14 und Android 8.1.0 mit ordnungsgemäßem Herunterfahren und Neustart zur Wiederherstellung getestet:

su -c 'svc power reboot recovery'

Es funktionierte auch auf Android 4.4.2, aber das Herunterfahren schien auf niedriger Ebene zu sein. Es erfordert jedoch Root-Zugriff.

Wenn Sie Android KitKat oder höher * ausführen und Root-Zugriff haben, können Sie alternativ diesen Befehl in einer Terminal-App ausprobieren:

su -c 'setprop sys.powerctl reboot,recovery'
  • Ersetzen Sie su -c durch adb shell , um den Befehl mit
  • Ersetzen Sie Neustart, Wiederherstellung durch Neustart , um das Gerät neu zu starten
  • Ersetzen Sie Neustart, Wiederherstellung durch Herunterfahren , um das Gerät herunterzufahren

Beachten Sie , dass alle diese setpropBefehle ein Herunterfahren/Neustarten auf niedriger Ebene (unsauber; nicht ordnungsgemäß) ausführen würden.

In Android Lollipop und höher * können Sie auch Folgendes versuchen:

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

Für Android Jelly Bean und darunter scheint die Antwort von SS-3 die einzig mögliche Lösung zu sein.


* Die letzte Version, auf der der Befehl getestet wird, ist Stock Android 6.0.1.

Ich nehme an, die su-Binärdatei von CM hat kein -cArgument, also wechseln Sie zuerst mit zum Root-Benutzer suund führen Sie dann den Befehl in Anführungszeichen aus
Ich glaube, es lief entweder Cupcake oder Donut. Unabhängig davon ist es vor langer Zeit in das große Telefon-Recycling-Zentrum am Himmel gegangen. Danke trotzdem!
@DavidGiven: Es mag ziemlich albern erscheinen, dass ich eine alte Frage wiederbelebt habe, aber ich habe das getan, weil Sie keine bestimmte Android-Version erwähnt haben, also habe ich versucht, sie als Gelegenheit zu nutzen, um zu erwähnen, was nicht nur für Sie, sondern auch für andere funktionieren würde sowie nachfolgende Android-Versionen. Es hat mir auch geholfen, eine doppelte Frage zu vermeiden, aber für andere Android-Versionen.
Das "su -c 'svc power reboot recovery'" funktioniert auf meinem cm14.1 (android 7.1) basierten ROM. Es wird ordnungsgemäß heruntergefahren, bevor es in die Wiederherstellung neu gestartet wird. Das ist die beste Lösung, die mir bisher untergekommen ist.