android - debug - Obteniendo "error: cerrado" dos veces en "Adb reverse"
adb shell android (5)
Estoy intentando revertir el puerto a través de ADB, pero simplemente devuelve un error de error: closed
críptico error: closed
. Trabajos de reenvío normal. Fragmento de sesión:
$ adb forward tcp:59778 tcp:59778
$ adb forward --list
015d2109ce0c1a0f tcp:59778 tcp:59778
$ adb forward --remove-all
$ adb forward --list
$ adb reverse --list
error: closed
error: closed
$ adb reverse tcp:59778 tcp:59778
error: closed
error: closed
Me conecto a través de USB a Nexus 7 2012 Android 4.4.4 no rooteado de Windows 7 Pro x64 en Boot Camp.
Debido a que adb reverse
no es compatible con versiones de Android inferiores a 5.0, debe utilizar un método alternativo, por ejemplo, conectarse a través de Wi-Fi. Si está utilizando React Native, Facebook ha agregado documentación oficial para conectarse al servidor de desarrollo a través de Wi-Fi . Citando las instrucciones para MacOS, pero también las tienen para Linux y Windows:
Método 2: Conectar a través de Wi-Fi
También puede conectarse al servidor de desarrollo a través de Wi-Fi. Primero deberá instalar la aplicación en su dispositivo con un cable USB, pero una vez hecho esto, puede realizar la depuración de forma inalámbrica siguiendo estas instrucciones. Necesitará la dirección IP actual de su máquina de desarrollo antes de continuar.
Puede encontrar la dirección IP en Preferencias del sistema → Red.
Asegúrese de que su computadora portátil y su teléfono estén en la misma red Wi-Fi. Abra su aplicación React Native en su dispositivo. Verás una pantalla roja con un error. Esto esta bien. Los siguientes pasos lo arreglarán. Abre el menú de desarrollador en la aplicación. Vaya a Configuración de desarrollo → Depurar servidor host para dispositivo. Escriba la dirección IP de su máquina y el puerto del servidor de desarrollo local (por ejemplo, 10.0.1.1:8081). Vuelva al menú Desarrollador y seleccione Recargar JS.
Siga estos pasos con cuidado.
Nota: todos los comandos deben ejecutarse solo dentro de un proyecto.
Ejecuta este comando primero:
npm react-native start
Abre otra ventana en el mismo proyecto y ejecuta:
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Esto creará
index.android.bundle
en la carpeta de activosCorrer:
npm react-native run-android
Ahora puede obtener apk en la carpeta de compilación que funcionará bien.
la causa de la reversión de adb no funciona en android antes de 5, es probable que pueda usar adb forward con un servicio que escuche en android y haga un túnel con otras conexiones a través de esta conexión entrante. Estoy haciendo esto principalmente con ssh, pero necesitarías un servidor ssh en Android. Usted puede conectarse usando ssh -R incommingreverseportonandroid: hostyouwanttoforwardto: portyouwanttoforward to sshuseronandroid @ localhost -p portyouveusedforadbforwaqrdtoaccessandroidssshserver
pero no sé cómo habilitar un servidor ssh en android y tal vez haya una mejor manera de que ssh use el cifrado que no es necesario sobre usb y usando cpu.
Estoy usando esta forma con mi servidor para compartir un servicio cuando me veo forzado a ...
Espero que alguien encuentre la manera de llevar esta forma teórica a la posibilidad práctica.
adb reverse
fue introducido en Android 5.0
adb reverse
requiere Android 5.0+. Para dispositivos anteriores a eso, necesitarás usar una solución como esta.
Si tienes busybox instalado en tu dispositivo Android (la mayoría de las imágenes de Genymotion lo tienen), puedes emular el adb reverse
usando este conjuro:
adb shell busybox nc -ll -p {guest port} -e busybox nc {host IP} {host port}
En este caso, "invitado" es el sistema operativo Android que se ejecuta en el emulador y "host" es la computadora que ejecuta el emulador.