10 votos

Ingresar al modo de recuperación desde la línea de comandos

¿Alguien sabe si hay alguna forma de reiniciar un teléfono Android en modo de recuperación desde la línea de comandos de Android?

Nota:

No tengo acceso a adb.

No conozco la secuencia mágica de encendido para hacerlo desde el cargador de arranque. He probado las cosas comunes y nada funciona.

Tengo acceso root. (Y puedo ingresar comandos directamente en el dispositivo usando un emulador de terminal.)

Sé que es posible, de alguna manera, porque aplicaciones como ROM Manager lo hacen. ¿Pero cómo?

12voto

S S Puntos 8975

Generalmente, el binario reboot ofrece un interruptor de recovery. Después de cambiar a root, ejecuta este comando:

/system/bin/reboot recovery

Esto puede no funcionar si tu fabricante no lo soporta. Las aplicaciones tipo ROM Manager utilizan la API de Android a la que no puedes acceder directamente a través del Terminal Emulator.

1 votos

No deberías necesitar la ruta completa para reboot, pero esto es exactamente correcto.

1 votos

@MatthewRead Sí, realmente no es necesario el camino completo. :) Pero, no quería dejar ninguna posibilidad en caso de que alguien se equivocara con la variable PATH.

0 votos

@Otech1408 Debes tener un dispositivo rooteado para hacer esto.

2voto

Firelord Puntos 161

Probé el siguiente comando en Android stock 5.0 y 6.0.1, CM 14, y Android 8.1.0 con apagado y reinicio al modo de recuperación:

su -c 'svc power reboot recovery'

También funcionó en Android 4.4.2 pero el apagado parecía ser a nivel bajo. Sin embargo, se requiere acceso root.

Alternativamente, si estás utilizando Android KitKat o superior* y tienes acceso root, puedes probar este comando en una aplicación de terminal:

su -c 'setprop sys.powerctl reboot,recovery'
  • sustituye su -c por adb shell para ejecutar el comando usando adb
  • sustituye reboot,recovery por reboot para reiniciar el dispositivo
  • sustituye reboot,recovery por shutdown para apagar el dispositivo

Nota que todos esos comandos setprop realizarían un apagado/reinicio a nivel bajo (no limpio; no es elegante).

En Android Lollipop y superior*, también puedes intentar:

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

Para Android Jelly Bean y versiones anteriores, la respuesta de SS-3 parece ser la única solución posible.


* La última versión en la que se probó el comando es Android stock 6.0.1.

0 votos

El binario su de CM supongo que no tiene el argumento -c, por lo que primero cambie al usuario root usando su y luego ejecute el comando entre comillas

1 votos

Creo que estaba funcionando con cupcake o donut. De todos modos, se fue al gran centro de reciclaje de teléfonos en el cielo hace mucho tiempo. ¡Pero gracias de todos modos!

1 votos

@DavidGiven : Puede parecer bastante tonto que haya revivido una pregunta antigua, pero lo hice porque no mencionaste una versión específica de Android, así que intenté usarlo como una oportunidad para mencionar lo que funcionaría no solo para ti, sino también para otras versiones sucesivas de Android. También me ayudó a evitar dividir una pregunta duplicada, pero para otras versiones de Android.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X