Entre no modo de recuperação na linha de comando

9

Alguém sabe se existe uma maneira de reiniciar um telefone Android no modo de recuperação, na linha de comando do Android?

Nota:

Eu não tenho acesso adb.

Eu não sei o power-on mágica sequência para fazê-lo a partir do gerenciador de inicialização. Eu tentei as coisas comuns e nada funciona.

I DO têm raiz. (E pode inserir comandos diretamente no dispositivo usando um emulador de terminal.)

Eu sei que é possível, de alguma forma, porque aplicativos como o ROM Manager fazem isso. Mas como?

David Given
fonte

Respostas:

11

Geralmente, o rebootbinário fornece uma recoveryopção. Depois de mudar para o root, execute este comando:

/system/bin/reboot recovery

Isso pode não funcionar se o fabricante não oferecer suporte. Os aplicativos do tipo ROM Manager usam API do Android que você não pode acessar diretamente pelo Emulador de Terminal.

Android Quesito
fonte
11
Você não deve precisar o caminho completo reboot, mas isso é exatamente correto.
Mateus Leia
11
@MatthewRead Sim, o caminho completo não é realmente necessário. :) Mas, eu não queria deixar uma chance no caso de alguém estragar a PATHvariável.
Android Quesito
@ Otech1408 Você precisa ter um dispositivo raiz para fazer isso.
Onik
em dispositivos não enraizadas você pode conseguir isso através adb:adb reboot recovery
dividido por zero
Pode ser necessário digitar o suterminal para obter acesso root antes de executar reboot recovery.
Vishal Biswas
2

Testei o seguinte comando no estoque Android 5.0 e 6.0.1, CM 14 e Android 8.1.0 com desligamento normal e reinicialização para recuperação:

su -c 'svc power reboot recovery'

Também funcionou no Android 4.4.2, mas o desligamento parecia ser de baixo nível. Requer acesso root, no entanto.

Como alternativa, se você estiver executando o Android KitKat ou superior * e tiver acesso root, poderá tentar este comando em um aplicativo de terminal:

su -c 'setprop sys.powerctl reboot,recovery'
  • substitua su -c pelo shell adb para executar o comando usando
  • substituir reinicialização, recuperação com reinicialização para reiniciar o dispositivo
  • substituir reinicialização, recuperação com desligamento para desligar o dispositivo

Observe que todos esses setpropcomandos fariam um desligamento / reinicialização de baixo nível (impuro; não gracioso).

No Android Lollipop e acima * , você também pode tentar:

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

Para o Android Jelly Bean e abaixo, a resposta do SS-3 parece ser a única solução possível.


* A última versão na qual o comando é testado é o Android 6.0.1.

Senhor do Fogo
fonte
Su do CM binário Suponho que não tem -cargumento, então, primeiro mude para usuário root usando sue, em seguida, executar o comando citado
Firelord
11
Eu acredito que estava rodando bolinho ou rosquinha. Independentemente disso, foi para o grande centro de reciclagem de telefones no céu há muito tempo. Mas obrigada mesmo assim!
David Given
11
@DavidGiven: Pode parecer bastante bobagem que eu revivi uma pergunta antiga, mas fiz isso porque você não mencionou uma versão específica do Android, então tentei usá-la como uma oportunidade para mencionar o que funcionaria não apenas para você, mas para outras e sucessivas versões do Android também. Também me ajudou a evitar fazer uma pergunta duplicada, mas para outras versões do Android.
Firelord
11
O "su -c 'svc power reboot recovery'" está funcionando no meu rom com base em cm14.1 (android 7.1). Ele está sendo desligado normalmente antes de reiniciar a recuperação. Esta é a melhor solução que encontrei até agora.
afiado