¿Puedo evitar que Android arranque en modo seguro por completo?

Tengo un Nexus 5 (cabeza de martillo) con CyanogenMod 11.

El botón basculante para bajar el volumen está dañado de tal manera que está atascado ( aparentemente, es un modo de falla común después de más de 2 años ).

El único problema real con el dispositivo es que siempre se inicia en modo seguro, debido al botón atascado.

¿Hay alguna forma de deshabilitar la activación de Bajar volumen del Modo seguro, para que pueda iniciar mi teléfono en modo Android normal y completo?

Tiene exactamente el mismo problema (botones de volumen dañados y no puedo deshacerme del modo seguro). ¿Encontraste una solución?
Lamentablemente no. :(
@janthelme, vea la respuesta que acabo de agregar, que funciona. (Deshabilitando completamente el botón <kbd>BAJAR VOLUMEN</kbd> en Android).

Respuestas (1)

Manera correcta de hacer esto

Deshabilite la VOLUME DOWNclave rota editando /system/usr/keylayout/gpio-keys.kly /system/usr/keylayout/Generic.klcomo rooty comentando esa clave. Instrucciones más largas sobre esta respuesta .

Enfoque tonto y hacky que funcionó para mí

Esta es una solución fea, pero funciona para mí. Es una solución "atada" que requiere adb"reinicios suaves" repetidos (reinicio del proceso de Android Zygote ).

Este bashscript reinicia repetidamente el proceso de Android Zygote hasta que detecta que el dispositivo no está en modo seguro. Toma alrededor de 20-50 reinicios hasta que mi dispositivo aleatoriamente tiene suerte y no se reinicia en modo seguro...

#!/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."

Esta pregunta relacionada y esta respuesta me dieron lo que necesitaba para resolverlo.