¿Puedo habilitar la depuración de USB usando adb?

16

Tengo un Samsung Galaxy S3 y la pantalla está rota y la depuración de USB también está desactivada.

¿Cómo puedo habilitarlo usando ./adbcomandos? Ya he hecho estos pasos:

  • data/data/com.android.providers.settings/databases/settings.dbadb_enabledvalor cambiado de 0 a 1.
  • También editado build.propen /system.

Después de hacer todo esto, el teléfono parece bloqueado, no se enciende. Todo lo que quiero hacer es habilitar la depuración de USB y conectarlo a Vysor (beta) para poder controlarlo en mi computadora.

TheOnlyAnil
fuente
1
¡Bienvenido! Buena pregunta. +1. ¿Por qué quieres controlar el teléfono de forma remota?
unforgettableidSupportsMonica
Gracias ... Porque la pantalla está rota y quiero buscar los datos en ella. Aunque lo descubrí anoche ... :)
TheOnlyAnil
La forma correcta de habilitar la depuración de USB sería desempaquetar boot.img, editar init.rc (habilitar adb, luego deshabilitar la verificación RSA), reempaquetar boot.img y boot boot.img sin flashear. Una vez que se haya confirmado que la edición funciona, entonces flash boot.img al dispositivo.
HasH_BrowN

Respuestas:

12

Yo tengo que trabajar :)

NOTA : Esto requiere un gestor de arranque desbloqueado.

  • Conecte el dispositivo a Mac o PC recovery mode. (Tuve que mapear el proceso en mi mente ya que la pantalla estaba rota).
  • Ahora abra la terminal / CMD en la computadora y vaya a platform-tools/. escriba e ingrese ./adb devicespara verificar si el dispositivo está conectado en modo de recuperación.
  • Ahora escriba ./adb shell mount datay ./adb shell mount systempara montar los directorios respectivos.
  • Obtenga el persist.sys.usb.configarchivo en su sistema usando./adb pull /data/property/persist.sys.usb.config /Your directory
  • Ahora abra ese archivo en un editor de texto y edítelo mtp,adby guárdelo.
  • Ahora empuje el archivo nuevamente en el dispositivo; ./adb push /your-directory/persist.sys.usb.config /data/property
  • Obtenga el archivo build.prop; ./adb pull /system/build.prop /your-directory
  • Agregue estas líneas:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = mtp, adb
  • Empuje build.prop nuevamente dentro del dispositivo; ./adb push /your-dir/build.prop /system/

De esta manera, habilitó la depuración de USB en su dispositivo. Pero aún no puedes conectarte. ¿Por qué? Porque solicita la verificación RSA. Si pudiera ver su pantalla, podría tocar fácilmente YESpara autorizar el dispositivo. Actualmente estoy descubriendo evitar esto. Quiero revivir mal mi teléfono muerto. Si conoce alguna forma de hacerlo, comparta :)

TheOnlyAnil
fuente
¿Estás ejecutando una recuperación personalizada?
Señor del fuego
No. Recuperación de existencias.
TheOnlyAnil
1
Acerca de la parte de confirmación de RSA por parte del usuario, si se inicia en el sistema operativo Android y se confirma de alguna manera que la pantalla muestra un cuadro de diálogo para confirmación, entonces puede usar adb shell input keyeventSÍ. Ver Keyevent aquí . Es un tiro en la oscuridad, pero vale la pena disparar.
Señor del Fuego
@ Señor del Fuego Intenté hacer eso. Pero decía error de autorización. Parece que tengo que autorizarlo primero y luego hacer cualquier cosa ...
TheOnlyAnil
1
Ahh! Perdón por sugerir algo que no funcionaría. ¿Qué estaba pensando? Si el acceso ADB no está autorizado, entonces no adb shell inputfuncionaría. ¡Lo siento de nuevo! Veré si hay alguna forma de evitar la autorización de alguna manera.
Señor del fuego
4

Para la verificación RSA que solicitó omitir, no sé si funcionaría en su dispositivo, pero funcionó en mi pequeño experimento. En Lollipop, las teclas ADB (después de la autorización) se guardan en /data/misc/adb/adb_keys. Su clave privada se guarda en la computadora. En Linux, la ubicación del directorio es $HOME/.android/. En Windows, eso generalmente se traduce %USERPROFILE%\.android, pero las claves pueden terminar C:\Windows\System32\config\systemprofile\.androiden algunos casos. ( Fuente )

Hay un método descrito aquí por ashoke que podría ayudar a evitar la autorización.

Sin embargo, en mi Lollipop, el método varía. Me di cuenta de que en mi ROM Lollipop primaria y secundaria adb_keystenía la misma clave en realidad. Todo lo que hice fue revocar la autorización de la ROM secundaria (archivo eliminado automáticamente), dispositivo desconectado de la PC, copiado adb_keysde la ROM primaria a la ROM secundaria, conectado el dispositivo a la PC y ¡listo! No me pidieron esa autorización. Verifiqué dos veces la autorización adb devicesy todo estuvo bien.

Pruebe la respuesta vinculada primero. Autorice un teléfono Android diferente, copie sus claves en su dispositivo desde el modo Recuperación y vea si funciona.

Señor del fuego
fuente
Hey gracias. Transferí adb_keys de la nota 2 a S3 y funcionó :)
TheOnlyAnil
Esta es la información necesaria para que la respuesta aceptada sea correcta. Buen trabajo. +1
HasH_BrowN
2
Para aquellos que ejecutan un sistema operativo basado en Unix, adb push ~/.android/adbkey.pub /data/misc/adb/adb_keysfunciona de manera confiable.
Chris Olin
@ChrisOlin: gracias por tu aporte. Pero supongo que adb debería ejecutarse en modo raíz (raíz de adb), de lo contrario, el usuario no podrá colocar directamente un archivo en / data / misc /. ¿Correcto?
Señor del fuego
No exactamente, pero haces una buena pregunta. Si está intentando habilitar la depuración de USB a través de ADB, deberá iniciar la recuperación para lograr esto. Los shells de recuperación (al menos con TWRP) están predeterminados en root. Si no lo hacen, entonces sí, el usuario no podrá acceder directamente a / data / misc.
Chris Olin