para lista instalar hard comandos android adb root

android - lista - ¿Cómo reiniciar adb desde la raíz al modo de usuario?



instalar adb (8)

Pregunta básica sobre ADB.

adb root reinicia adb como root. Pero lo que quiero es reiniciarlo de nuevo al usuario después de un tiempo.

Intenté lo siguiente:

adb kill-server adb start-server

no funciona ..

ps -A -> notó el número de proceso de adb y lo mató ... incluso esto no funcionó. Finalmente estoy reiniciando mi dispositivo. ¿Hay alguna forma en que pueda regresar desde el adb raíz al adb general?

Gracias.


Este es un problema muy común.

Una solución es eliminar el servidor adb y reiniciarlo a través del símbolo del sistema. A veces esto puede no ayudar.

Simplemente dirígete al Administrador de tareas de Windows para eliminar el proceso de adb y reiniciar Eclipse.

Funcionará perfecto :)


He estado con este problema usando el loki del sistema operativo básico. Por un día así lo resolví reiniciando el adb usando este comando:

./adb kill-server

y

./adb start-server

Debe estar en la carpeta Sdk> Herramientas de plataforma

Ahora, reinicie su teléfono, esto reiniciará todo el proceso en su teléfono.

Y así es como lo arreglé.


Me gustaría agregar un poco más de explicación a la respuesta de @ user837048. en mi OSX Yosemite y Galaxy S3, que está rooteado y con el firmware CyanogenMod 11 y KitKat I, he realizado los procedimientos a continuación para Enable y Disable la solicitud raíz.

Por favor asegúrate a continuación

  • En tu sistema

    • Asegúrese de haber instalado Android SDK y establecer rutas a archivos binarios. escribe which adb en tu caparazón. Debe darte algún resultado. $ which adb /Applications/Android Studio.app/sdk/platform-tools/adb
  • En tu dispositivo móvil

    • Configuración> Opciones de desarrollador> Android Debugging = ON
    • Configuración> Opciones de desarrollador> Acceso raíz = Apps and ADB

Si no ve Developer Options en su configuración, vaya a Configuración> Acerca del teléfono. Desplácese hacia abajo hasta Build number y toque allí 7 veces. Sé que está loco. Pero créanme que funciona: D

Conecte su teléfono a través de un cable USB. escribe en computer''s terminal de tu computer''s

$ adb shell

verá un mensaje similar, si se ha mostrado alguna solicitud en su dispositivo móvil para confiar en la conexión, toque ''Confiar siempre'' y ''Aceptar''

shell@m0:/ $

ahora escribe

shell@m0:/ $ id uid=2000(shell) gid=2000(shell) groups=1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0

Mira que not root eres not root

Ahora sal del shell, que volverá al computer''s prompt

shell@m0:/ $ exit

Ahora activa la raíz

$adb shell * daemon not running. starting it now on port 5037 * * daemon started successfully * root@m0:/ #

Wow ... eres root

root@m0:/ # id uid=0(root) gid=0(root) context=u:r:shell:s0

Intenté muchas soluciones para volver al normal non root prompt . Pero no funcionó, excepto la solución de @ user837048.

root@m0:/ # stop adbd && setprop service.adb.root 0 && start adbd & [1] 32137 root@m0:/ # $

Esto podría salir de Adb prompt al prompt normal. Ahora conecta de nuevo.

$ adb shell shell@m0:/ $

Bueno ... No eres root


Para obtener pasos rápidos, solo revise el resumen . Si está interesado en conocer los detalles, continúe leyendo a continuación.

adb es un daemon. Haciendo ps adb podemos ver su proceso.

shell@grouper:/ $ ps adb USER PID PPID VSIZE RSS WCHAN PC NAME shell 133 1 4636 212 ffffffff 00000000 S /sbin/adbd

Acabo de comprobar qué variables de propiedad adicionales está utilizando cuando adb se ejecuta como usuario raíz.

modo de usuario adb:

shell@grouper:/ $ getprop | grep adb [init.svc.adbd]: [running] [persist.sys.usb.config]: [mtp,adb] [ro.adb.secure]: [1] [sys.usb.config]: [mtp,adb] [sys.usb.state]: [mtp,adb]

modo de raíz adb:

shell@grouper:/ # getprop | grep adb [init.svc.adbd]: [running] [persist.sys.usb.config]: [mtp,adb] [ro.adb.secure]: [1] [service.adb.root]: [1] [sys.usb.config]: [mtp,adb] [sys.usb.state]: [mtp,adb]

Podemos ver que service.adb.root es una nueva variable prop que surgió cuando hicimos adb root.

Entonces, para volver a cambiar adb al usuario desde la raíz, continué e hice esto 0

setprop service.adb.root 0

Pero esto no cambió nada.

Luego seguí adelante y maté el proceso (con la intención de reiniciar el proceso). El proceso pid de adbd en mi dispositivo es 133

kill -9 133

Salí del caparazón automáticamente después de haber matado el proceso.

Hice un adb shell nuevo, estaba en modo de usuario.

RESUMEN :

Entonces, tenemos 3 pasos muy simples.

  1. Ingrese adb shell como raíz.
  2. setprop service.adb.root 0
  3. matar -9 (pid of adbd)

Después de estos pasos, vuelva a ingresar al shell con el shell adb shell y vuelva a estar en su dispositivo como usuario.


Prueba esto para asegurarte de recuperar tu caparazón:

ingrese adb shell (root). Luego escribe debajo de comand.

stop adbd && setprop service.adb.root 0 && start adbd &

Este comando stop adbd , luego setprop service.adb.root 0 si adbd ha adbd con éxito, y finalmente reinicia start adbd si la propiedad .root se ha establecido con éxito en 0. Y todo esto se hará en segundo plano gracias a el último & .


Un poco tarde, supongo, pero aquí va: si usaste - "adb root", tendrías el siguiente mensaje:

C:/>adb root * daemon not running. starting it now on port 5037 * * daemon started successfully * restarting adbd as root

para salir del modo raíz, puede usar:

C:/>adb unroot restarting adbd as non root


si no puede acceder a la carpeta de datos en el monitor del dispositivo Android

cmd

C:/Users/bscis/AppData/Local/Android/sdk/platform-tools (Where you located sdk folder) C:/Users/bscis/AppData/Local/Android/sdk/platform-tools>adb shell generic_x86:/ $ C:/Users/bscis/AppData/Local/Android/sdk/platform-tools>adb kill-server C:/Users/bscis/AppData/Local/Android/sdk/platform-tools>adb start-server * daemon not running. starting it now at tcp:5037 * * daemon started successfully * C:/Users/bscis/AppData/Local/Android/sdk/platform-tools>adb root C:/Users/bscis/AppData/Local/Android/sdk/platform-tools>

funcionando bien.....


adb kill-server y adb start-server solo controlan el adb daemon en el lado de la PC. adbd reiniciar adbd daemon en el dispositivo después de revertir el cambio de la propiedad service.adb.root realizado por la adb root :

~$ adb shell id uid=2000(shell) gid=2000(shell) ~$ adb root restarting adbd as root ~$ adb shell id uid=0(root) gid=0(root) ~$ adb shell ''setprop service.adb.root 0; setprop ctl.restart adbd'' ~$ adb shell id uid=2000(shell) gid=2000(shell)