7 votes

Puis-je empêcher Android de démarrer en mode sans échec ?

J'ai un Nexus 5 (hammerhead) fonctionnant sous CyanogenMod 11.

Le bouton de réduction du volume est endommagé de telle sorte qu'il est bloqué. sur ( apparemment un mode de défaillance commun après 2+ ans ).

Le seul vrai problème avec l'appareil est qu'il toujours démarre en mode sans échec, à cause du bouton bloqué.

Existe-t-il un moyen de désactiver l'activation du mode sans échec par le volume vers le bas, afin de pouvoir démarrer mon téléphone en mode Android normal et complet ?

1 votes

J'ai exactement le même problème (boutons de volume endommagés et je ne peux pas me débarrasser du mode sans échec). Avez-vous trouvé une solution ?

0 votes

Malheureusement non. :(

0 votes

@janthelme, voir la réponse que je viens d'ajouter qui fait l'affaire. (En désactivant complètement le bouton VOLUME DOWN dans Android).

4voto

Dan Points 440

La bonne façon de faire

Désactiver la panne VOLUME DOWN en éditant /system/usr/keylayout/gpio-keys.kl und /system/usr/keylayout/Generic.kl comme root et en commentant cette clé. Instructions plus longues sur cette réponse .

Une approche bête et méchante qui a en quelque sorte fonctionné pour moi.

C'est une solution hideuse mais elle fonctionne pour moi. Il s'agit d'une solution "attachée" nécessitant adb pour effectuer des "redémarrages progressifs" répétés (redémarrage de l'ordinateur). Android Processus zygote ).

Ce site bash Le script redémarre de manière répétée le processus Android Zygote jusqu'à ce qu'il détecte que l'appareil n'est pas en mode sécurisé. Cela prend environ 20 à 50 redémarrages jusqu'à ce que mon appareil ait de la chance et ne redémarre pas en mode sans échec

#!/bin/sh
n=0
g=0
while true; do
    safe_mode=$(adb shell dumpsys display | egrep -o 'mSafeMode=\w+' | cut -d= -f2)
    case "$safe_mode" in
    true)
        n=$(( $n + 1 ))
        g=0
        echo "In safe mode, rebooting (try #${n}) ..."
        adb shell "su root -- killall zygote"
        ;;
    false)
        g=$(( $g + 1 ))
        [[ $g -gt 2 ]] && break;
        echo "Appears not to be in safe mode, will check again ..."
        ;;
    *)
        echo "adb shell dumpsys display failed" ;;
    esac
    sleep 15
done

adb shell dumpsys power | grep -q 'mScreenOn=false' && \
    adb shell input keyevent = POWER

echo "Escaped from safe mode after ${n} reboots. Whew."

Cette question connexe und cette réponse m'a donné ce dont j'avais besoin pour comprendre.

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