Método alternativo para habilitar adb

Parece que todos los días, veo algunas preguntas como "el problema X está causando que mi teléfono no funcione y la depuración está desactivada. ¿Cómo habilito ADB para obtener mis datos?"

Entiendo que este problema puede ser bastante común, por lo que pensé en presentar una forma de volver a habilitar adb, usando nada más que privilegios de root y una recuperación personalizada.

Esto también se puede usar cuando, por ejemplo, mis opciones de desarrollador no se pueden abrir por algún motivo.

Sé que esto no eliminará este tipo de preguntas, pero puede ayudar con algunas de ellas.

Ver respuesta para el método. Tuve que subir esto como una cosa de "responder a tu propia pregunta"

Respuestas (1)

Vas a necesitar lo siguiente:

  • Raíz (¡YAY!)
  • Una recuperación personalizada, específicamente TWRP (Sin probar en una recuperación diferente, alguien que me avise si funciona en cualquier otra)
  • Una PC/dispositivo con una forma de editar .dbarchivos SQLite
  • una tarjeta SD

Método

  1. Si aún no lo ha hecho, inicie el modo de recuperación. Asegúrese de montar 'datos' y 'Tarjeta SD externa'

  2. Golpee ese botón 'avanzado', abra un shell de terminal y escriba su(luego presione enter)

  3. Ejecute este comando:

    cp /data/data/com.android.providers.settings/databases/settings.db /path_to/external_sd/
    

    (Gracias a los muchachos de SO por proporcionar eso ). Si no tiene cpo busybox instalado, puede usar caten su lugar :

    cat /data/data/com.android.providers.settings/databases/settings.db > /path_to/external_sd/settings.db
    
  4. Apague y retire su SD. Pégalo en el dispositivo con el .dbeditor.

  5. Cargue el archivo

  6. Vaya a la tabla 'segura' y busque la línea adb_enabled. En mi caso, esta fue la línea 59. El valor debería ser 0si ADB está deshabilitado. Cámbielo a 1y guárdelo.

  7. Con el archivo modificado a cuestas, vuelva a insertar la tarjeta SD en su dispositivo y reinicie la recuperación. Una vez más, asegúrese de que los 'datos' y la 'Tarjeta SD externa' estén montados.

  8. Invierte la copia que hiciste arriba:

    cp /path_to/external_sd/settings.db /data/data/com.android.providers.settings/databases/
    

    o

    cat /path_to/external_sd/settings.db > /data/data/com.android.providers.settings/databases/settings.db
    
  9. ¡Hecho! Ahora, para obtener la autorización, deberá usar la publicación de Firelord y seguir su plan maestro allí :) Alternativamente, puede usar la respuesta aceptada a Esta publicación en Stack Overflow . Esos tipos son útiles, ¿eh?

Nota: si puede iniciar su dispositivo, puede descargar el editor SQLite y eliminar la necesidad de otro dispositivo, una tarjeta SD y, bueno, cualquier otra cosa. ¡Sin embargo, se paga! Si desea ahorrar dinero, puede usar el Administrador de SQLite gratuito en su lugar.

Omitiría el dispositivo secundario y simplemente lo editaría en el teléfono con algo como SQLite Editor . ¿Y es necesario que el sistema operativo no se esté ejecutando al realizar este cambio? Es decir, ¿sobrescribirá su cambio si se ejecuta en vivo? De lo contrario, puede omitir la recuperación y la copia, y simplemente editarlo directamente.
@MatthewRead El problema es que, dado que este método es principalmente para aquellos atascados en la recuperación, en realidad no podrán abrirlo. Si están en un sistema operativo utilizable, entonces sí, tiene razón. Editaré eso ahora.
Ah, buen punto. Sí, esto definitivamente ayudaría a alguien atascado en la recuperación. Para un editor de SQLite gratuito, he usado aSQLite Manager .
@MatthewRead OK, también agregaré eso a la respuesta.