0 votes

Comment faire pour que `adb reboot` fonctionne comme `/system/bin/reboot` ?

J'ai un problème avec mon appareil. Lorsque je fais adb reboot puis ça s'est bloqué au démarrage dans une boucle.

Mais, quand je le fais adb shell et ensuite reboot il fonctionne bien.

J'ai fait des recherches sur Internet et j'ai compris que les deux ont un comportement différent :

  • adb reboot ça fonctionne comme si vous débranchiez la batterie du téléphone. Cela signifie qu'il ne fermera aucune application, n'affichera pas de joli écran d'accueil de redémarrage.
  • adb shell reboot utilise /system/bin/reboot et il effectue un redémarrage en douceur avec fermeture des applications ouvertes, affichage de l'écran d'accueil, etc.

Pour vérifier que adb shell reboot exécuter /system/bin/reboot J'ai déplacé le /system/bin/reboot à un autre endroit et comme prévu le reboot commande ne fonctionnant plus, je l'ai remis après confirmation.

Je veux adb reboot à utiliser /system/bin/reboot exécutable.

Je veux le faire à partir de l'appareil Android, ce qui en fait une solution générale pour tous les utilisateurs de l'appareil. Je sais que je peux exécuter adb shell reboot mais les autres utilisateurs ne le feront pas.

Y a-t-il un moyen de le faire ?

2voto

Firelord Points 23064

Écrivez un script dans votre PC, recherchez l'argument 'reboot' et exécutez votre propre commande à la place.

Je ne sais pas à quoi ressemblerait un script compatible avec Windows, mais voici à quoi ressemblerait un simple script bash.

#!/bin/bash
ADB="PATH\_TO\_RENAMED\_ADB\_BINARY"

if \[\[ "$1" == "reboot" \]\] && \[\[ -z ${2} \]\]; then         # $1 is the first argument received by adb
    "$ADB" shell '/system/bin/reboot'    
else
    "$ADB" "$@"                            # $@ contains all the arguments received by adb
fi

Enregistrez le script sous adb donnez-lui la permission d'exécuter, renommez le binaire adb en lui donnant le nom de adb_orig puis enregistrez ce script sous le nom de adb où se trouve adb à l'origine.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X