Estoy intentando depurar una aplicación en un Motorola Droid , pero tengo algunas dificultades para conectarme al dispositivo a través de USB. Mi servidor de desarrollo es una máquina virtual Windows 7 de 64 bits que se ejecuta en Hyper-V , por lo que no puedo conectarme directamente a través de USB en el invitado o desde el host.
Instalé un par de soluciones diferentes de USB sobre TCP, pero la conexión parece tener problemas ya que el monitor ADB informa que "el monitor del dispositivo no pudo comenzar a monitorear" repetidamente. ¿Hay alguna manera de conectarse directamente desde el cliente en la máquina de desarrollo al daemon en el dispositivo usando la red en lugar de la conexión USB u otras opciones viables?
adb tcpip 5555
. Desconecte el USB, vea la dirección IP del teléfonoSettings > About Phone > Status
. Ahoraadb connect 192.168.x.x
y ya está. Sin herramientas, sin software. Solo funciona.Respuestas:
Proceso manual
Desde su dispositivo, si está rooteado
Según una publicación en xda-developers , puede habilitar ADB a través de Wi-Fi desde el dispositivo con los comandos:
Y puede deshabilitarlo y volver a ADB para escuchar en USB con
Desde una computadora, si ya tiene acceso USB (no se requiere root)
Es aún más fácil cambiar a usar Wi-Fi, si ya tiene USB. Desde una línea de comando en la computadora que tiene el dispositivo conectado a través de USB, emita los comandos
Asegúrese de reemplazar
192.168.0.101
con la dirección IP que está realmente asignada a su dispositivo. Una vez que haya terminado, puede desconectarse de la sesión adb tcp ejecutando:Puede encontrar la dirección IP de una tableta de dos maneras:
Descubrimiento manual de IP:
Vaya a la configuración WiFi de Android, haga clic en el botón de menú en la barra de acción (puntos suspensivos verticales), presione Avanzado y vea la dirección IP en la parte inferior de la pantalla.
Use ADB para descubrir IP:
Ejecute el siguiente comando a través de adb:
Para decirle al demonio ADB que vuelva a escuchar por USB
Aplicaciones para automatizar el proceso.
También hay varias aplicaciones en Google Play que automatizan este proceso. Una búsqueda rápida sugiere adbWireless , WiFi ADB y ADB WiFi . Todos estos requieren acceso de root, pero adbWireless requiere menos permisos.
fuente
adb tcipip 5555
yadb connect ...
no hay raíz necesaria.adb tcpip <port>
todavía requiere ya searo.kernel.qemu
propiedad a ser establecido (que se ejecuta en el modo de emulador),ro.secure
que es 0 (es decir, un dispositivo arraigada), oro.debuggable
yservice.adb.root
para ser puesto a 1.adbd
simplemente no va a abrir una conexión TCP / IP si se cumple ninguna de las anteriores. Ver netmite.com/android/mydroid/system/core/adb/adb.cadb_main
partes sobre lasecure
variable.adbd
en mi Android 2.3.7 no rooteado no entra en modo TCP / IP.Esto es realmente simple si su teléfono está rooteado.
Descargue un emulador de terminal de Google Play (hay muchos que son gratuitos). Asegúrese de que su dispositivo Android esté conectado a su Wi-Fi y obtenga la dirección IP de Wi-Fi . Abra el programa del terminal y escriba:
Ahora vaya a su computadora (suponiendo que está utilizando Windows) y cree un acceso directo en el escritorio para "cmd.exe" (sin las comillas).
Haga clic derecho en el acceso directo cmd y elija
"Run as Administrator"
Cambiar a tu
android-sdk-windows\tools
carpetaTipo:
adb ahora debería decir que estás conectado.
Nota: si es demasiado rápido para dar el comando de conexión, puede fallar. Así que intente al menos dos veces cada cinco segundos antes de decir que esto no funciona.
fuente
adb tcpip 5555
y luego la otra persona ejecutóadb connect myIP:5555
en su PC. Podía instalar una aplicación en mi teléfono pero no podía depurarla de forma remota. ¿Es posible depurar de forma remota? En mi teléfono había un diálogowaiting for debugger
para siempre.Conecte el dispositivo a través de USB y asegúrese de que la depuración funciona, luego ejecute:
Desconecte el USB y continúe con la depuración inalámbrica.
Cuando haya terminado y quiera volver a la depuración de USB, ejecute:
Para encontrar la dirección IP de su dispositivo, vaya a
Settings > Wi-Fi > Advanced > IP Address
en su dispositivo o ejecuteadb shell netcfg
.No se requiere root. Solo se puede depurar un dispositivo a la vez.
Ver esta publicación de XDA .
El
adb
comando se encuentra en laplatform-tools
carpeta del SDK de Android.fuente
adb tcpip 5555 && adb connect <DEVICE_IP_ADDRESS>:5555
Suponga que guardó la ruta adb en la ruta del entorno de Windows
Activar el modo de depuración en Android
Conéctese a la PC a través de USB
Tipo de símbolo del sistema abierto:
adb tcpip 5555
Desconecte su tableta o teléfono inteligente de la PC
Tipo de símbolo del sistema abierto:
adb connect IPADDRESS
(IPADDRESS es la dirección DHCP / IP de su tableta o teléfono inteligente, que puede encontrar mediante Wi-Fi -> red conectada actual)Ahora en el símbolo del sistema, debería ver el resultado como: conectado a xxx.xxx.xxx.xxx:5555
fuente
De
adb --help
:Esa es una opción de línea de comandos por cierto.
Debe intentar conectar el teléfono a su Wi-Fi y luego obtener su dirección IP de su enrutador. No va a funcionar en la red celular.
El puerto es 5554.
fuente
adb tcpip port
ya que el valor predeterminado es la depuración sobre usb. Después de esto último, puede conectarseconnect host:port
y debería funcionarPara usuarios de Windows:
Paso 1:
debes habilitar las opciones de desarrollador en tu teléfono Android.
Puede habilitar las opciones de desarrollador de esta manera.
• Abra Configuración> Acerca de> Información del software> Más.
• Luego toque "Número de compilación" siete veces para habilitar las opciones de desarrollador.
• Vuelva al menú de Configuración y ahora podrá ver "Opciones de desarrollador" allí.
• Tóquelo y active la Depuración de USB desde el menú en la siguiente pantalla.
Paso 2:
Abra cmd y escriba adb.
si encuentra que adb no es un comando válido, entonces debe agregar una ruta a la variable de entorno.
• Primero vaya a la carpeta instalada del SDK.
Siga esta ruta y esta ruta es solo un ejemplo. D: \ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \; D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
• Ahora busque en la configuración avanzada del sistema de Windows
•
Abra la variable de entorno.
luego abra la ruta y pegue la siguiente ruta, este es un ejemplo.
Su ruta SDK es diferente a la mía, use la suya. D: \ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \;
D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
Paso 3:
Abra cmd y escriba adb. si aún ve que el comando adb no es válido, entonces su ruta no se ha configurado correctamente, siga los pasos anteriores.
Ahora puede conectar su teléfono Android a la PC.
Abra cmd y escriba dispositivos adb y podrá ver su dispositivo. Encuentra la dirección IP de tu teléfono.
Tipo: - adb tcpip 5555
Obtenga la dirección IP de su teléfono
Ahora,
Ahora ejecute su proyecto de Android y si no ve su dispositivo, vuelva a escribir la dirección IP de adb connect de su teléfono
Para usuarios de Linux y macOS :
Paso 1: abra la terminal e instale adb usando
sudo apt-get install android-tools-adb android-tools-fastboot
Conecte su teléfono a la PC mediante un cable USB. Escriba el siguiente comando en la terminal
Usando adb, conecta la dirección IP de tu teléfono Android.
Retira tu teléfono.
fuente
Desde una computadora en un dispositivo no rooteado
(Tenga en cuenta que esto también se puede hacer usando un dispositivo rooteado, pero puede usar un shell en un dispositivo rooteado que no requiera una conexión USB)
En primer lugar, abra el símbolo del sistema (CMD). Si usa Android Studio o IntelliJ, hay una consola incluida que puede usar.
Si ha agregado adb a la ruta, puede omitir la parte del CD.
Si es posible, abra la ubicación del SDK, haga clic derecho y presione "iniciar símbolo del sistema aquí". No todos tienen esta opción, por lo que debe hacer esto (/ estos) comandos también:
Windows: cambie la unidad (si corresponde)
Y acceda a las herramientas de plataforma y SDK. Reemplace esta ruta con su ubicación SDK:
Ahora tiene acceso al puente de depuración de Android.
Con el dispositivo conectado a la computadora, haga lo siguiente:
Dónde
<port>
está el puerto al que desea conectarse (el valor predeterminado es5555
) y<ip>
es la IP del dispositivo al que desea conectarse.Tenga en cuenta:
5555
es el puerto predeterminado y solo escribir la dirección IP lo conecta. Si usa un puerto personalizado, al menos puede mejorar un poco la seguridad. Se puede abusar de la depuración de USB a través de Wi-Fi, pero solo si el dispositivo está conectado a la computadora que quiere abusar del dispositivo. El uso de un puerto no predeterminado al menos hace que sea un poco más difícil conectarse.Si usa un puerto personalizado, asegúrese de agregarlo después de la IP. Escribir ningún puerto se conecta
5555
y, si no lo usó, la conexión fallará.Puede encontrar la dirección IP de un dispositivo de dos maneras:
Dependiendo de su dispositivo, los nombres exactos pueden variar. Abra la configuración y vaya a Acerca del dispositivo -> Estado -> Dirección IP
Use ADB para obtener la IP
Desde la consola, haz:
Y una vez que haya terminado con la conexión, puede desconectar el dispositivo de su computadora haciendo lo siguiente:
O no hay IP para desconectar todos los dispositivos. Si utilizó un puerto personalizado, debe especificar de qué puerto desconectarse . El valor predeterminado es 5555 aquí también.
Para deshabilitar el puerto (si eso es algo que desea hacer), haga este comando con el dispositivo conectado:
O puede reiniciar el dispositivo para eliminar la conexión tcpip
Desde una computadora en un dispositivo rooteado
En primer lugar, necesita acceso al shell. Puede conectar el dispositivo con un cable usb y usar
adb shell
o descargar una aplicación de Google Play, FDroid o alguna otra fuente.Entonces haces:
Y para conectar el dispositivo, haga lo mismo que en la versión no rooteada haciendo
adb connect <ip>:<port>
.Y si desea deshabilitar el puerto y volver a escuchar USB:
También puede usar un complemento de Android Studio para hacerlo por usted (no recuerdo el nombre en este momento), y para los usuarios rooteados también existe la opción de descargar una aplicación de Android para configurar la conexión del teléfono (probablemente todavía sea necesario adb connect) )
Algunos teléfonos tienen una configuración en las opciones de desarrollador (esto se aplica a algunos teléfonos no rooteados, aunque probablemente también a algunos teléfonos rooteados) que permite alternar ADB a través de Wi-Fi desde el dispositivo sin root o una conexión de computadora para iniciarlo. Aunque hay pocos teléfonos que tengan eso
fuente
adb shell ip -f inet addr show wlan0
¿La dirección IP y el soporte de puerto se sustituirán en algún lugar?Necesitaba que tanto USB como TCPIP funcionaran para ADB (no pregunte), así que hice lo siguiente (usando las instrucciones que otros han publicado de xda-developers)
Utilizando
adb shell
:fuente
/sbin/adbd
. Eso puede variar según el teléfono. Por supuesto, debe estar rooteado ... Si no está rooteado, no podrá acceder a / sbin.Para conectar su tableta usando el puerto TCP. Asegúrese de que su sistema y dispositivo estén conectados a la misma red.
adb tcpip 5555
adb connect 192.168.1.2
esta es la dirección IP de su dispositivoConectado usando el puerto hacia adelante Intente hacer reenvío de puertos,
adb adelante tcp:
<PC port>
tcp:<device port>
me gusta:
Si recibe un mensaje de error: dispositivo no encontrado, conecte un dispositivo USB al sistema y luego siga el mismo procedimiento.
para un dispositivo rooteado
fuente
su
primero para obtener una consola rooteada.No sé cómo conectar el dispositivo sin ninguna conexión USB, pero si logras conectarlo, tal vez en otra computadora, puedes cambiar el adbd al modo TCP emitiendo
desde un terminal y conéctese a su dispositivo a través de wifi desde cualquier PC en la red mediante:
Tal vez también sea posible cambiar al modo TCP desde un terminal en el dispositivo.
fuente
Primero debes conectar tu dispositivo a través de USB
Luego conecte su dispositivo a WIFI y obtenga la dirección IP. Mientras todavía se conecta a través de usb, escriba esto en la línea de comando o a través de Android Studio Terminal
Verá estos mensajes:
Ahora retire el cable USB y aún verá su logcat como normal
Hecho. Disfrutar
fuente
Si desea conectar fácilmente su dispositivo para ejecutar, depurar o implementar sus aplicaciones de Android a través de WiFi, puede utilizar un complemento IntelliJ de código abierto que he desarrollado. Aquí está el código y aquí el complemento listo para ser utilizado.
El uso es bastante simple. Aquí tienes un gif:
fuente
Como dijo Brian:
Funciona. Solo necesita acceder al shell de Android y escribir esos comandos ...
Otra solución (más fácil) está en el mercado: adbWireless, configurará automáticamente su teléfono.
¡Se requiere raíz! para ambos...
fuente
Extraño, pero esto solo funciona para mí si tengo el cable USB conectado, entonces puedo desconectar el usb e intentarlo con todo lo demás adb.
y lo mismo al volver a usb,
solo funcionará si usb está conectado.
No importa si publico el
o
luego pare e inicie adbd, todavía necesito el cable usb o no funciona.
Entonces, si mi ADB a través de usb no funcionaba, apuesto a que tampoco podría habilitar ADB a través de WiFi.
fuente
Para cambiar entre los modos TCP y USB con un solo comando, puede agregar esto a
/init.rc
:Y ahora puede usar la propiedad
service.adb.tcp.enable
para habilitar o deshabilitar la escucha en el puerto 5555. Ejecutenetstat
para verificar si está escuchando. Como puede ver, también se activará si desea cambiarservice.adb.tcp.port
manualmente.fuente
Función util Bash:
fuente
PASO 1.
Asegúrese de que tanto su computadora host adb como su dispositivo Android estén en la misma red Wifi.
PASO 2.
Conecte el dispositivo Android con la computadora con su cable USB. Tan pronto como lo haga, su computadora host detectará su dispositivo y adb comenzará a ejecutarse en el modo USB en la computadora. Puede verificar los dispositivos conectados
adb devices
mientras se asegura de que adb se esté ejecutando en modo USB mediante la ejecuciónadb usb
.PASO 3.
Reinicie adb en modo tcpip con este comando:
PASO 4.
Descubra la dirección IP del dispositivo Android. Hay varias maneras de hacer eso:
$ adb shell netcfg
.Ahora que conoce la dirección IP de su dispositivo, conecte su host adb.
PASO 5
Retire el cable USB y debería estar conectado a su dispositivo. Si no lo ve,
adb devices
solo vuelva a conectarse usando el comando del paso anterior:O está listo para comenzar ahora o tendrá que matar su servidor adb ejecutando
adb kill-server
y repitiendo todos los pasos una vez más.¡Espero que ayude!
Referencia:
fuente
Estos son los pasos que seguí y funcionó para mí.
fuente
También puede usar el reenvío de puerto local SSH. Pero aún implica un cable USB. Conecte su teléfono mediante USB a una computadora (host) con un sshd en ejecución. En una PC remota (invitada), inicie un cliente SSH capaz de reenviar / tunelizar puertos. Ejemplo:
Utilizo esta construcción para conectar mi dispositivo a una máquina virtual. Eltima USB a Ethernet no fue lo suficientemente estable (tiempos de espera durante la depuración).
El túnel SSH funciona de forma gratuita y es más confiable.
fuente
Las otras respuestas me parecen confusas. Mucho más simple de usar adbWireless:
http://ppareit.github.com/AdbConnect/
Simplemente instale una aplicación en su teléfono para alternar la depuración a través de wifi, instale un complemento eclipse y listo.
fuente
Reuní un archivo por lotes para habilitar y conectar automáticamente ADB a través de TCP a un dispositivo conectado a través de USB. Con él no tiene que poner la IP manualmente.
fuente
Aquí hay una extensión de la respuesta de Brian usando Bluetooth:
En Linux, use Blueman para compartir Internet de la PC con su dispositivo a través de Bluetooth:
Use la red Bluetooth para los comandos ADB:
Una vez hecho esto para volver al modo USB:
Nota: Bluetooth 3.0 y 4.0 pueden alcanzar hasta 24 Mbit / s .
fuente
Pasos:
su
- Para cambiar a superusuario.setprop service.adb.tcp.port 5555
- Para especificar el puerto tcp - 5555 es el número de puerto aquístop adbd
- Para detener el servicio adbd.start adbd
- Para iniciar el servicio adbd.esto funciona perfectamente
ssh
desde mi PC con WindowsIntento hacer esto en el arranque en mi móvil cyanogen o iniciar esto con plink. Con plink no puedo iniciar shell con su right ... sudo o su comando no funciona. ¡En el arranque no sé cómo funciona! Mi programa de shell funciona desde ssh con
su -c "sh /storage/sdcard1/start_adb.sh"
los últimos 3 comandos (sin su -)Gracias
fuente
Una nota adicional (aprendida de la manera difícil): no debe tener la conexión VPN de su empresa activa al mismo tiempo ...
fuente
Debe hacer lo siguiente:
fuente
¿Hay dos formas de conectar su dispositivo Android con ADB sobre TCP?
Primera forma
Sigue estos pasos
SALIDA del comando anterior
Con la ayuda del comando anterior, encontrará la dirección IP del dispositivo conectado
El comando anterior reiniciará este puerto TCP: 5555
Segunda forma
Puedes usar el complemento de Android Studio
Android device with ADB
Android WiFi ADB - IntelliJ / Android Studio Plugin
Por favor, consulte este artículo para obtener más información.
Conecte el dispositivo Android con Wifi dentro de Android Studio
fuente
Estoy estructurado en el mismo problema pero un simple truco
adb reverse tcp:<PORT> tcp:<PORT>
funcionó para mí. Permite que el sistema acepte solicitudes de TCP.Gracias por leer
fuente
Use la aplicación adbwireless para habilitar el teléfono, luego use adb connect desde la máquina Windows para hablar con él. La aplicación adbwireless en el teléfono le dice cómo conectarse a ella, dándole la dirección IP y todo.
La alternativa mucho menos divertida es conectarse a través de USB, decirle al teléfono que use TCPIP a través de adb tcpip 5555, luego desconecte USB, luego use adb connect. Esto es mucho más difícil porque de esta manera tiene que averiguar la dirección IP del teléfono usted mismo (adbwireless le dice la IP), tiene que conectarse a través de USB y debe ejecutar adb tcpip (adbwireless también se encarga de eso).
Entonces: instale adbwireless en su teléfono. Úsalo. Es posible, lo hago rutinariamente en Linux y en Windows.
fuente
En mi sistema fue así:
En mi dispositivo Android en mi shell de Linux, un simple "ifconfig" no me dio mi dirección IP. Tuve que escribir:
ifconfig eth0
-o-
netcfg
para obtener mi dirección IP (Sabía que eth0 estaba configurado porque lo vi en mi dmesg). Luego hice lo siguiente:
setprop service.adb.tcp.port -1
dejar de adbd
iniciar adbd
Luego en mi cuadro Win7 (el que ejecuta Eclipse 3.7.1). Abrí un símbolo del sistema para
\ android-sdk \ platform-tools>
sin correr como administrador. Entonces hice un
adb connect 12.345.678.90
Nunca pongo un puerto. Si yo hiciera un
adb tcpip 5555
decía que no podía encontrar el dispositivo, entonces no apareció nada en mi lista de "dispositivos adb". Es decir, solo funciona si NO hago el comando tcpip anterior.
Puedo hacer un "adb shell" y jugar con mi dispositivo Android. Pero mi dispositivo Android no aparece en mi pestaña Ejecutar-> Ejecutar configuraciones-> Destino en este momento. Por otro lado, si mantengo la pestaña Objetivo establecida en automática. Luego, cuando ejecuto mi aplicación a través de Run-> Run, se ejecuta en mi dispositivo Android a pesar de que mi dispositivo Android ni siquiera aparece como uno de mis objetivos.
fuente
Lo hice funcionar. No usé ningún cable usb.
Ejecutarlo. Eso establecerá ip y puerto; Luego en dos
Conectado.
fuente