POR FAVOR, NO BORRE ESTA PLANTILLA HASTA QUE HAYA LEÍDO LA PRIMERA SECCIÓN.
Es un problema al que me enfrento mientras ejecuto el Awesome Project normal en mi sistema
Si respondió "Sí": Esperamos que le tome alrededor de 30 minutos producir un informe de error de alta calidad. Si bien esto puede parecer mucho, prestar atención a los problemas nos ayuda a solucionarlos más rápido. Para los informes de errores, se REQUIERE completar el resto de esta plantilla, o el problema se cerrará. Si respondió "No": Usamos GitHub Issues exclusivamente para rastrear errores en React Native. Si está buscando ayuda, la página de la comunidad en http://facebook.github.io/react-native/support.html enumera varios recursos que deberían ayudarlo a comenzar. ¡Ahora desplácese hacia abajo!sí
react-native -v
: 0.47.1node -v
:8.2.1npm -v
:4.1.2yarn --version
:Luego, especifica:
(Escriba sus pasos aquí :)
1.Abrir símbolo del sistema en modo administrador
2.ejecutar comando: cd
Comando 3.run: inicialización nativa de reacción
4.ejecutar comando: cd
Comando 5.run: react-native run-android
esto hace que el servidor de paquetes se ejecute automáticamente en el puerto 8081. Pero no puedo acceder al servidor de paquetes desde el navegador de la máquina y el móvil.
Intenté usar http://
http://localhost :puerto
http://127.0.0.1 :puerto
=> Obtuve la pantalla roja tanto en el móvil como en el emulador con el siguiente mensaje:
Intenté ejecutar el proyecto en un dispositivo real y en un emulador. En Ambos recibí el error: "No se puede cargar el script desde los activos 'index.android.bundle'. Asegúrese de que su paquete esté empaquetado correctamente o esté ejecutando un servidor de paquetes".
al volver a cargar aparece el error: "No se pudo conectar al servidor de desarrollo".
Luego configuré el host y el número de puerto en la configuración de desarrollo en ambos y obtuve el error "No se pudo conectar al servidor de desarrollo".
Se espera que el proyecto se ejecute en el emulador y el teléfono sin ningún error.
Pero en cambio, recibí el error y lo intenté muchas veces y recibo el mismo error repetidamente y en el mismo patrón.
(Pegue el enlace a un proyecto de ejemplo y las instrucciones exactas para reproducir el problema).
Sigue siendo un problema con:
reaccionar 16.0.0-alpha.6
RN 0.44.3
nodo 8.2.1
npm 5.3.0
XCode 8.3.3
Simulador iOS 10.3
Entonces, ¿necesito trabajar en una versión anterior de estos?
Me encuentro con esto, y no puedo manejarlo....
algo malo con la última versión?
¿Está funcionando el empaquetador? Debería verlo aparecer cuando ejecuta react-native run-android
. También puede iniciarlo solo usando react-native start
. Me gustaría averiguar si el problema aquí es que el empaquetador no se inicia en absoluto.
Sí, el empaquetador se está ejecutando. Cuando ejecuto el comando react-native run-android, se abre la ventana del nodo js que indica que el empaquetador se está ejecutando en 8081 y "Cargando el gráfico de dependencia. Listo".
Pero cuando pruebo " localhost:8081/index.android.js " en el navegador del sistema, veo el error "No se puede acceder a este sitio".
Pero cuando creo una API de nodejs normal y la pruebo en el navegador, se abre correctamente.
Tengo el mismo problema. El simulador de iOS funciona bien, por cierto
Cada vez que trato de hacer un nuevo proyecto en RN, es como si me hubiera topado con una pared de nuevos errores cada vez.
Próximo intento el próximo mes de nuevo, supongo...
mismo problema alguien lo soluciono?
Intenta ejecutar:
adb reverse tcp:8081 tcp:8081
en su símbolo del sistema y vuelva a ejecutar su proyecto después de eso.
@ashafizullah : Yo también lo he intentado; pero todavía no hay suerte.
Ocurre en mi dispositivo también.
Tengo usb conectado, adb invertido y empaquetador en ejecución.
Cuando abre el siguiente enlace en el navegador del dispositivo, carga el paquete con éxito:
http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
Así que sospecho que hay algo mal dentro del propio código Java.
hay alguna solucion a esto? Yo también estoy atrapado aquí. En el proyecto IOS funciona perfectamente
He visto el mismo problema, y eso es todo porque la aplicación de Android no tiene este permiso:
<uses-permission android:name="android.permission.INTERNET" />
Así que asegúrese de que su código de Android pueda acceder a la URL remota desde su aplicación.
tengo el mismo problema nadie puede resolver eso?
También tengo el mismo problema, si alguien encuentra la solución, por favor publíquela. Gracias.
Hola gente. He usado console.dir() en react-native y obtuve este comportamiento. Y creo que es normal porque console.dir() es una función browser.window y ningún navegador tiene react-native. Después de eliminar console.dir(), mi aplicación ha funcionado.
Estoy enfrentando el mismo problema en una Mac, ¿alguna novedad?
Tengo el mismo problema en la prueba del dispositivo.
Android 4.1.2
Oye. Chicos, que tienen una versión de Android inferior a 5.0, ¿han intentado usar una conexión wifi en lugar de usb? Mi aplicación se inicia normalmente en Android 4.3 (Huawei mediapad T1 8.0) después de que se haya conectado a través de wifi
tenía este problema, para mí resultó ser el puerto 8081 que estaba siendo utilizado por postgresSQL
Tengo el mismo problema hoy.
Android 4.4.2 y 6.
Mismo problema aquí también. Ocurre cada vez que vuelvo a abrir mi Mac después de un breve período de inactividad. ¿Alguien ha solucionado esto?
adb reverse tcp:8081 tcp:8081
- esto no parece funcionar para mí
Mi error se resolvió cambiando los límites de inotify.
Este enlace ayudó https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
lo mismo este problema, ayúdame
También tengo el mismo problema al intentar ejecutarlo desde localhost. Funciona en el navegador y en el emulador, pero no en el dispositivo físico
El mismo problema aquí para Android, tanto desde el dispositivo como desde el emulador. Parece que no se puede conectar al empaquetador. Haciendo el "adb reverse..." para el dispositivo físico. También se ejecuta en un puerto personalizado, por lo que hace "react-native start --port 8088", luego configura la dirección IP: 8088 en la configuración de desarrollo en la aplicación.
PREGUNTA: ¿Hay alguna forma de encontrar fallas en la conectividad entre la aplicación (en mi dispositivo Android) y el empaquetador que se ejecuta en una PC con Windows?
ACTUALIZACIÓN: ejecutar "adb reverse --list" mostró que tenía dos entradas inversas. Parece que después de corregir esto, las cosas funcionaron. Todavía tengo solo una "página en blanco", sin embargo, supongo que ese es otro problema ...
Mismo problema con Android, iOS funciona...
como puede pasar esto
También encontré el mismo problema,
pero antes me funciona todo bien
luego obtengo un bucle infinito que hace que mi escritorio sea bastante lento
así que decidí cerrar el emulador y el paquete metro que obtengo de react-native start
Intenté este código a continuación pero no tuve suerte
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Estaba enfrentando el mismo problema y perdí un par de días detrás de esto. Resulta que el puerto predeterminado 8081 estaba bloqueado en mi máquina. Cambié el puerto según las instrucciones aquí https://github.com/facebook/react-native/issues/10715 y ahora funciona.
¿Pueden intentar abrir esta URL en el navegador web del dispositivo?
http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
@kevinresol , si el administrador de paquetes dice que se inició en el puerto 8081 y no puede acceder a él desde el navegador, lo más probable es que su firewall bloquee el puerto. Simplemente intente cambiar el puerto predeterminado o vea si puede abrir el puerto.
Como mencioné en mi publicación anterior , puedo acceder al paquete a través del navegador del dispositivo.
Tengo exactamente el mismo problema que @kevinresol. Puedo ver el paquete en el navegador, pero el error persiste. Estoy en un emulador, pero aún probé adb reverse, pero no tuve suerte.
@bruno02100 si está en Windows y accede a través de wifi, intente desactivar su firewall. A ver si eso soluciona el problema.
@jerrykurian Estoy en Mac ejecutando el emulador de Android. Mi firewall ya está desactivado. Es realmente extraño.
Después de configurar Debug server host & port for device
a 192.168.x.x:8081
en Dev Settings
(Shark el teléfono, aparecerá el menú)
es trabajo para mi
PD: NO es necesario crear ningún paquete manualmente, se generará automáticamente cuando se conecte correctamente
Creo que cualquier problema de wifi o solución de wifi está fuera de tema. OP estaba hablando de conectarse a localhost
a través de USB con adb reverse
Me di cuenta de que este error solo ocurre después de que el emulador está activo durante algún tiempo. Entonces, por ahora, cada vez que aparece este error, simplemente reinicio mi emulador y ejecuto react-native run-android. Es realmente molesto, pero no tengo mucho tiempo para investigar esto, así que tendré que hacerlo.
Puedo conectarme al servidor de desarrollo después de la compilación a través de los estudios de Android, pero si actualizo el código cuando edito el código, mi dispositivo o emulador no se puede conectar al servidor.
mis dependencias
"reaccionar": "16.0.0",
"reaccionar-nativo": "0.50.4",
Puedo confirmar que la solución de @xlebenny de configurar manualmente el host y el puerto del servidor de depuración en el dispositivo funcionó para mí en un proyecto CRNA recién expulsado.
Paso a paso para expulsar y ejecutar un CRNA en Android
En terminales:
create-react-native-app myApp
cd myApp
yarn run eject
(Utilicé las opciones predeterminadas "proyecto React Native regular")react-native run-android
(ahora la aplicación debe compilarse e instalarse en el teléfono)
En el teléfono:
index.js
" en Metro Bundler (que se abrió cuando se ejecutaba react-native run-android
)La recarga en vivo (cuando los archivos de origen cambian) todavía es posible: simplemente agite el teléfono y toque "Activar recarga en vivo"
@ashafizullah , ¿podría explicar cómo ese comando resolvió el problema? Gracias
¡@plong0 me lo resolvió!
Como señaló @bruno02100 , parece que este error aparece si el dispositivo se abre durante un largo período de tiempo. Deshabilitar el inicio rápido en la configuración del emulador lo resolvió para mí 👍
Escriba adb shell y vea si está escuchando en su servidor local. configure la ip y el puerto del servidor en la configuración de desarrollo. Debería solucionarlo.
@ plong0 gracias por la ayuda pero no me ayudó.
No puedo ejecutar mi aplicación en un dispositivo Android usando MAC.
@ramintagizade : ¿cómo verifico si la aplicación escucha en mi servidor local? cual es el comando:
adb shell [command]
?
Sí, adb shell y netstat.
basado en este http://facebook.github.io/react-native/docs/running-on-device.html
acceda a su dirección IP local (por ejemplo: http://192.168.43.188:8081/) desde su navegador y asegúrese de que se muestre
El empaquetador React Native se está ejecutando.
Visite la documentación
luego acceda a la configuración de desarrollo en su emulador:
Para los usuarios de Mac, puede seguir los pasos a continuación,
Paso 1: ejecute "adb reverse tcp:8081 tcp:8081 "
Paso 2: Presiona "comando m"
Paso 3: Presiona en "Configuración de desarrollador"
Paso 4: Presione "Depurar host y puerto del servidor para el dispositivo"
Paso 5: En la ventana emergente, ingrese "10.0.2.2:${port_id}" en la sección 'port_id', use el puerto en el que está ejecutando su aplicación.
Paso 6: ahora ejecuta "react-native run-android"
si está tratando de depurar la aplicación en su dispositivo Android físico a través de wifi usando una máquina con Windows, entonces es posible que el dispositivo no pueda acceder al puerto de su PC o computadora portátil,
tienes que hacer el puerto accesible. esto implica dos pasos:
1. Primero cree una regla en el firewall. para hacer esto sigue los siguientes pasos:
```
abrir diálogo de ejecución
-escriba wf.msc
-haga clic en las reglas de entrada
-haga clic en nueva regla en el lado derecho
-seleccione el puerto del menú emergente y haga clic en siguiente
-seleccione el puerto tcp y los puertos locales específicos e ingrese el número de puerto como 8081 (predeterminado)
-permitir la conexión
-seleccione todo en la sección de perfil
-dar algún nombre y descripción apropiados
-haga clic en finalizar
Ya está listo, ahora intente ejecutar react-native run-android.
Tuve un problema similar, aunque más tarde me di cuenta de que mi dispositivo emulado (Android) no tenía conexión a Internet (o red) en absoluto. No tenía un símbolo de WiFi o LTE en absoluto. Reiniciar el emulador no resolvió el problema, pero ponerlo en modo avión y apagarlo nuevamente lo resolvió. Podría ser un error general de Android de perder la conexión de red en mi caso.
Nos enfrentamos a este problema. Para solucionarlo, la solución es muy simple a continuación.
Básicamente, este error indica que su compilación actual falló debido a razones como un problema de código o un problema de dependencia.
No estoy seguro de qué causó mi problema con los emuladores de Android en macOS. ¿Quizás configurar nuevos AVD de Android o instalar varias actualizaciones de Android Studio?
Este comando estaba colgando:
watchman watch-del-all
Esto solucionó el problema para mí:
````
cerveza desinstalar vigilante
vigilante de instalación de cerveza
vigilante vigilar-del-todo
````
Podría resolver este problema reiniciando el emulador finalmente.
Finalmente encontré mi problema.
En mi caso fue para la configuración del proxy de mi emulador.
Simplemente vaya a la configuración del emulador y no configure ningún proxy.
Espero que pueda ayudar
Hola a todos,
Encontré el mismo problema mientras ejecutaba en el entorno de Windows y simulaba usando el simulador de Android.
Después de hacer algunas pruebas y errores, encontré la solución de la siguiente manera:
1>> Cambie el puerto predeterminado en "node_modules\react-native\local-cliserverserver.js":
proceso.env.RCT_METRO_PORT || 8081
a
predeterminado: proceso.env.RCT_METRO_PORT || 9088
si el puerto está bloqueado o enviado a alguna otra aplicación.
Nota : puede elegir cualquier número de puerto, he elegido 9088
2>> Ejecute el comando react-native run-android --port 9088 (Ponga su número de puerto aquí). Este puerto se enviará a adb en ejecución, de modo que tanto el servidor como adb estarán en el mismo puerto.
3>> Ahora, en el simulador de estudio de Android, presione Ctrl+m, para ir a " Configuración de desarrollo", luego seleccione Puerto y host del servidor de depuración para el dispositivo , configure " localhost: 9088 ".
4>> Abra la consola del desarrollador en Chrome usando la url http://localhost :9088/debugger-ui/
Ahora comenzará a cargar los cambios que realice en su aplicación.
Disfruta codificando ahora :)
¡Gracias por publicar esto! Parece que es posible que no esté utilizando la última versión de React Native, v0.53.0, lanzada en enero de 2018. ¿Puede asegurarse de que este problema aún se pueda reproducir en la última versión?
Voy a cerrar esto, pero no dude en abrir un nuevo problema si puede confirmar que sigue siendo un problema en v0.53.0 o posterior.
Sí, estoy usando "react-native": "0.53.0".
Pero este problema surgió cuando estaba usando un proxy corporativo interno. Puede ser que algunos puertos estén bloqueados o utilizados por la empresa. Así que usé esta forma de resolver. Y publicado aquí, para que otros puedan resolver este problema.
Mismo problema en el dispositivo real de Android... Versión 5.1.1
Simplemente abra el símbolo del sistema y vaya al directorio del proyecto, simplemente escriba 'hilo' y presione enter, todo estará bien
@ashafizullah su solución funciona!!!!
Ya sea un simulador o un dispositivo real, para Android, simplemente haga lo siguiente:
@Alijaaan el mismo problema que estaba teniendo aparentemente. ¡Gracias!
La única solución que encontré es desde Android Studio AVD Manager , eliminar su emulador actual y agregar uno nuevo. Todos empiezan a funcionar de nuevo.
Muchas gracias @Alijaaan
Estaba usando la configuración de proxy de Android Studio.
Desmarqué "usar configuración de proxy de estudio de Android" y luego seleccioné "Sin proxy". Ahora todo esta bien.
El comentario de @esutton resolvió mi problema.
Por cierto, Watchman es mi software favorito. Siempre estaba feliz de hacer una pausa en mi día durante unas horas para buscar problemas aleatorios de RN y darme cuenta de que todo lo que tenía que hacer era ejecutar watchman watch-del-all
. Ahora incluso ese comando se bloquea y tenemos que volver a instalarlo de vez en cuando, soy un desarrollador aún más feliz.
react-native run-android --port 9088 funcionó para mí. Gracias @Louis89
encuentro solución
1.apagar mi antivirus
2cerrar mi cortafuegos
Creo que es un problema con los cambios recientes en el código, especialmente si está utilizando una biblioteca de terceros como la base nativa. lo que hice, retrocedí unos pasos Ctrl + z, desinstalé la aplicación del emulador y la reinicié. luego react-native run-android , ¡y todo funciona! tal vez tenga algo que ver con el almacenamiento en caché del emulador
@ pinchez254 estoy de acuerdo contigo. La primera ejecución siempre estará bien.
Inicie el servidor npm usando el comando npm start
Hola, puse la dirección IP de mi PC en Configuración de desarrollo (192.168.1.103:8081) y creé una regla de entrada en el firewall para acceder al puerto TCP 8081, pero aparece este error:
"could not connect to development serve"
ADEMÁS
cuando escriba en el navegador "http://localhost:8081/index.delta?platform=android&dev=true&minify=false"
, ¡la compilación comenzó y finalizó con éxito!
Para mí corriendo:
adb reverse tcp:8081 tcp:8081
react-native start --reset-cache
react-native run-android
Hizo el truco
Tuve que abrir dos terminales.
Primer intento
sudo npm start
Despues de correr
react-native run-ios
react-native run-android
, react-native start --port=8088
react-native run-android --port=8081
:)
La única forma en que logré resolver fue: busqué todas las referencias al puerto 8081 y cambié a 9088 (sin usar) y comencé con -- puerto 9088. También cambié la configuración de Dev al puerto 9088. Hubo pocas referencias al puerto 8081 como predeterminado en node_module/react-native dir. El puerto 8081 fue utilizado por virus guard en mi entorno.
Para mí, las herramientas de la plataforma Android no estaban instaladas. Así que instalé usando el siguiente comando.
brew cask instalar android-plataforma-herramientas
Después de eso, ejecutar desde el estudio de Android o la línea de comandos con * react-native run android * funcionó
Reiniciar mi Mac lo resolvió por mí, no tengo idea de por qué
en primer lugar, después de asegurarse de que está en su archivo de proyecto, esta solución me ayuda:
react-native start
lo más probable es que obtenga un error con el código ENOSPC
en este caso, utilice este código:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
después de eso, ejecuta react-native start
nuevamente, y lo más probable es que se resuelva el error de ENOSPC.
luego, solo ejecuta react-native run-android
ahí lo tienes, me funciona en linux con el emulador de android de android studio
estaba teniendo este error,
Encontré una solución al hacer esto.
primero eliminé todos los módulos de nodo.
sudo rm -rf node_modules/
luego instalé los paquetes npm nuevamente
npm install
luego ejecuto este comando para verificar que los paquetes de reacción estén bien.
react-native start
me muestra que los paquetes están bien y luego ejecuto el android con root
react-native run-android --root
entonces descubrí que esto está funcionando.
También tenga en cuenta que, a partir de Android 9, las transferencias HTTP (no HTTPS) de texto sin cifrar están prohibidas de forma predeterminada. Para habilitar la conexión al servidor de desarrollo desde un dispositivo que ejecuta su aplicación, agregue este atributo al elemento application
en el archivo _AndroidManifest.xml_:
android:usesCleartextTraffic="true"
Más información sobre este problema de Stackoverflow
Puede probar para ver si su dispositivo puede acceder a su servidor de desarrollo escribiendo las URL en el navegador web nativo.
Desafortunadamente, las herramientas de desarrollo nativas reaccionan a la razón del error, pero aparece si intenta hacer su propia conexión HTTP dentro de la aplicación de destino donde obtendrá un seguimiento de pila útil.
@delj Es lamentable que las herramientas de desarrollo nativas de reacción se traguen el motivo del error.
Sugerencia: utilice los marcadores de posición de manifiesto para evitar realizar un lanzamiento con android:usesCleartextTraffic= "true"
AndroidManifest.xml
````
android:usesCleartextTraffic="${isDebug}"
>
````
Android/aplicación/build.gradle
tipos de compilación { depurar { manifiestoMarcadores de posición = [isDebug:true] } liberar { manifestPlaceholders = [isDebug:false]minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } }
Tuve el mismo problema y lo que funcionó para mí en Windows 10 es, literalmente, abrir el CMD como administrador.
Todavía tengo este problema. ¿Podemos abrir esta copia de seguridad? Esto es completamente ridículo, cómo es un tutorial de "Get Started" si sigues los pasos al pie de la letra y no arranca. Literalmente he pasado horas con este error. Facebook necesita abordar esto. O bien su tutorial es PURAMENTE INCORRECTO o casos bien conocidos de solución de problemas a los que pueden vincularse.
Aquí están mis pasos:
Todavía tengo este problema. También intenté agregar el valor del puerto cuando realicé el paso 3, pero tampoco funcionó. Alguien puede ayudarme porfavor.
Lo simpatizo completamente, también pasamos una hora arreglando esto.
Hay algunos problemas aquí, el más importante de los cuales es la configuración de texto sin formato. Antes de hacer nada, actualice su aplicación al SDK de Android más reciente o esta configuración no funcionará. Para probar si tiene este problema, pegue este código en una de sus funciones de representación más importantes. Por ejemplo <App
fetch('http://jofarnold.com')
.then(res => res.text())
.then(d => alert('ok'))
.catch(e => {
console.error(String(e));
});
Tenga en cuenta el http
y no el https
. Sí, mi sitio no es http. ¡Pero ahora mismo no me arrepiento!
Ahora intenta
fetch('https://httpbin.org')
.then(res => res.text())
.then(d => alert('ok'))
.catch(e => {
console.error(String(e));
});
Tenga en cuenta los http s .
¿Cuál falla? Si ambos fallan, tiene otros problemas y no puedo ayudarlo, pero intente ver si esas URL funcionan en Chrome en su simulador para descartar que la red no funcione. Si el primero falla (dará una caja roja nativa de reacción) pero el segundo tiene éxito (alerta con ok
), entonces no ha configurado correctamente la configuración de seguridad de Android. Así que hagamos eso.
Primero ingrese lo siguiente en android/.../AndroidManifest.xml en la sección <application
<manifest
....
<application
... other settings
android:usesCleartextTraffic="true" <---------- this
android:networkSecurityConfig="@xml/network_security_config" <------- and this
>
... etc
Luego cree un archivo en android/...res/xml/network_security_config.xml (es posible que deba agregar el directorio xml: el nombre del archivo no es nada especial, solo tiene que ser el mismo que la referencia anterior) así :
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">jofarnold.com</domain>
</domain-config>
</network-security-config>
Vuelva a compilar asegurándose de hacer react-native start --reset-cache
en una terminal (observando el restablecimiento de caché) y react-native run-android
en otra.
Ahora que carga la aplicación, obtendrá una ventana emergente ok. ¡Buen material! Te las arreglaste para fetch
mi sitio inseguro.
Ahora tenemos que resolver reaccionar nativo. Para mí, el servidor está en 10.0.2.2 y el depurador en localhost o algo así (no recuerdo, estoy escribiendo esto de memoria en parte). De cualquier manera, son diferentes y, por lo tanto, no funciona.
Para esto, cambie jofarnold.com
arriba a localhost
y luego vaya al menú de configuración en la aplicación (cmd-M en mac) > Configuración de desarrollo. Desactive "Usar JS Deltas" (no funciona bien) y, en Depuración, configure el servidor y el puerto en localhost:8081
Su archivo de configuración de seguridad debería verse así:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
Vuelva a compilar, reinicie react-native start --reset-cache
y obtendrá la barra verde en la parte superior de la aplicación con loading...
o lo que sea. En la terminal, debería verlo combinado con Delta, Mapa, etc.
Creo que no necesitas hacer las cosas adb reverse
. Se hace como parte de los scripts de RN de todos modos.
¡Buena suerte!
Mi problema fue porque tenía mi emulador de Android desconectado de Wifi y datos. Acabo de encenderlos y funciona. Espero que ayude si alguien se enfrenta al mismo problema.
Mi problema fue porque tenía mi emulador de Android desconectado de Wifi y datos. Acabo de encenderlos y funciona. Espero que ayude si alguien se enfrenta al mismo problema.
Una cosa importante que debo agregar al comentario de Mateo; si cierra su MacBook y continúa en otra red wifi, esto puede causar que el "wifi" del simulador falle. Debe reiniciar el simulador. Sé que esto no es un problema para el simulador específicamente, pero tiene un buen SEO para este tema, así que espero que dejar este comentario aquí ayude a alguien más.
resuelto usando Android 5.0 o superior, se obtuvo un error en Android 4..4
resuelto usando Android 5.0 o superior, se obtuvo un error en Android 4..4
estoy de acuerdo
Si está ejecutando un emulador de Android 9, debe agregar, como lo indica @delj , android:usesCleartextTraffic="true"
en su etiqueta de aplicación en manifest.xml
¿Está funcionando el empaquetador? Debería verlo aparecer cuando ejecuta
react-native run-android
. También puede iniciarlo solo usandoreact-native start
. Me gustaría averiguar si el problema aquí es que el empaquetador no se inicia en absoluto.
¿Por qué está sucediendo este problema? Tengo una mac con OS 10.13.6 y antes de que el servidor se inicie automáticamente
Gracias @JofBigHealth Hice lo que sugirió y funciona en el emulador y el dispositivo real de conexión.
Pero tengo problemas con la aplicación cuando la descargo del canal alfa. ¿Tienes alguna sugerencia para depurarlo?
@ sheva007 No estoy seguro de lo que quiere decir con "canal alfa". ¿Puede explicar y también incluir más detalles sobre qué problemas tiene específicamente?
@JofBigHealth, lo siento por la información que falta.
ACTUALIZACIÓN: funciona ahora, solo tuve que esperar un tiempo hasta que Google Play haga que la versión de trabajo actualizada esté disponible para los probadores. Muchas gracias :)
mi problema original era que la aplicación funciona bien <Android 9 pero no realiza una llamada de red con Android 9, cuando utilicé su solución, la aplicación, incluidas las llamadas de red, funciona como se esperaba.
pero cuando lo envié a Google Play Alpha Channel. no hace las llamadas de red.
invertir los puertos funcionó para mí
como lo sugiere @ashafizullah
Cerrar Android Studio, que tenía abierto, resolvió el problema de forma extraña. Incierto porque...
ACTUALIZACIÓN: para el simulador a partir de la actualización a 0.57.7, no he encontrado necesario hacer la corrección del proxy inverso adb
, ni cambiar el puerto en el menú del desarrollador. Por defecto es algo así como 10.0.1.1:8080 (adivina de memoria) y Just Works. Ejecuto react-native start
o react-native start --reset-cache
(si es necesario) y compilo desde Android Studio y funciona bien. Si lo configuró para la depuración, debe tener un depurador en ejecución y es posible que deba compilar nuevamente desde Android Studio, ya que a veces no se conecta la primera vez (debido a lo que sospecho que es una condición de carrera), pero por lo demás está bien. Solo recuerde establecer la configuración de seguridad correctamente en el manifiesto de la aplicación
El dispositivo es otra cosa.
Tiene el mismo problema cuando intentó iniciar en el dispositivo. ¿Hay alguna solución para el dispositivo?
Tengo el mismo problema. Por favor, ayúdame.
debe agregar una ruta a sus variables de entorno ... ruta "adb" puede encontrar su ubicación en C:Users\user\AppData\Local\Android\Sdk/platformtools
Esto funcionó para mí en Windows 10: (después de configurar el host y el puerto del servidor de depuración...)
Revisé la configuración de mi firewall (Firewall de Windows> Permitir una aplicación o función a través del Firewall de Windows) y descubrí que hay DOS aplicaciones de Node.js, ¡pero una de ellas no está permitida a través del firewall! Marcó la casilla y guardó, ¡entonces todo funcionó como debería!
esta buena pregunta.. y su trabajo.!
Si está ejecutando un emulador de Android 9, debe agregar, como lo indica @delj ,
android:usesCleartextTraffic="true"
en su etiqueta de aplicación en manifest.xml
Recomendado
Mismo error.
windows7+android studio3.3.2.
El servidor de nodos está activo y puedo visitar 127.0.0.1 desde el simulador de Chrome, pero la aplicación Awesome no puede conectarse al servidor de nodos.
También agregué android:usesCleartextTraffic="true"
a AndroidManisfesto.xml, pero aún recibí el error
@aflext ¿Ejecutó el comando adb reverse tcp:8081 tcp:8081
en el cuadro rojo? Eso suele funcionar.
@JofBigHealth Al cambiar la URL de 127.0.0.1:8081
a localhost:8081
lo resolvió.
En mi caso, la solución fue Deshabilitar/Habilitar "Depurar JS de forma remota"
@ashafizullah : Yo también lo he intentado; pero todavía no hay suerte.
@ashafizullah sí, no me está funcionando a mí también.
¿Es posible ejecutar este proyecto a través de Windows????
Mi error se resolvió cambiando los límites de inotify.
Este enlace ayudó https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
¡¡ESTO FUNCIONA!! ¡¡MUCHAS GRACIAS!!
Mi error se resolvió cambiando los límites de inotify.
Este enlace ayudó https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
Esto funcionó para mí. Gracias hombre.
Agregué android:usesCleartextTraffic="true"
a AndroidManifest.xml
en la etiqueta <application ...
y reconstruí la aplicación. Después de eso, comenzó a cargarse normalmente desde el servidor de desarrollo.
Esto me sucedía porque tenía el Depurador ejecutándose y conectado a otro dispositivo. Entonces, el simulador de iOS conectado al depurador estaba bloqueando la conexión del dispositivo Android al empaquetador. Detener la depuración remota en el simulador de iOS permitió que el dispositivo Android se conectara, o también podría comenzar a depurar de forma remota en el dispositivo Android.
Esto funcionó para mí en Windows 10: (después de configurar el host y el puerto del servidor de depuración...)
Revisé la configuración de mi firewall (Firewall de Windows> Permitir una aplicación o función a través del Firewall de Windows) y descubrí que hay DOS aplicaciones de Node.js, ¡pero una de ellas no está permitida a través del firewall! Marcó la casilla y guardó, ¡entonces todo funcionó como debería!
Este era mi problema también, gracias!
https://www.youtube.com/watch?v=XhiE0HEiYd4
pero... cuando vuelvo a cargar la aplicación en el emulador, se bloquea de nuevo y muestra el mensaje:
NO SE PUEDE CONECTAR AL SERVIDOR DE DESARROLLO
Así que traté de agregar node.js y genymotion player.exe en el firewall y reiniciar todo (geny, reaccionar), y funciona de nuevo...
ctrl+Win cmd command line ipconfig para encontrar la dirección ipV4 la mía es 192.168.0.111, después de eso puse 192.168.0.111:8081 en
¡Resuelto con éxito!
Agregué
android:usesCleartextTraffic="true"
aAndroidManifest.xml
en la etiqueta<application ...
y reconstruí la aplicación. Después de eso, comenzó a cargarse normalmente desde el servidor de desarrollo.
Esto lo arregló. Gracias una tonelada.
Tiene el mismo problema solo en un dispositivo Android real.
Solución:
1) Agregue el archivo android/app/src/main/res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
2) Agregar línea a android/app/src/main/AndroidManifest.xml
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
>
Encuentra la cura.
Este problema me ayudó a resolver el problema en los siguientes pasos.
Funcionó para mí después de ejecutar adb reverse tcp:8081 tcp:8081 . Anteriormente, estaba abriendo la ventana del servidor de paquetes, pero no sucedía nada después de Cargar el gráfico de dependencia, listo. mensaje.
Ahora todo funciona bien después de ejecutar el comando mencionado anteriormente.
Esto es aplicable a Android 9.0+ de acuerdo con la configuración de seguridad de la red .
Bueno, después de probar todas las soluciones posibles que encontré en la web, decidí investigar manualmente el logcat nativo de Android. Incluso después de agregar android:usesCleartextTraffic="true"
, encontré esto en el logcat:
06-25 02:32:34.561 32001 32001 E unknown:ReactNative: Caused by: java.net.UnknownServiceException: CLEARTEXT communication to 192.168.29.96 not permitted by network security policy
Entonces, traté de inspeccionar la fuente de mi aplicación nativa de reacción. Descubrí que en la variante debug
, ya hay una configuración de seguridad de red definida por los nativos de React, que entra en conflicto con la variante main
.
Hay una solución fácil para esto.
Ir a <app-src>/android/app/src/debug/res/xml/react_native_config.xml
Agregue una nueva línea con su propia dirección IP en el
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="false">localhost</domain>
<domain includeSubdomains="false">10.0.2.2</domain>
<domain includeSubdomains="false">10.0.3.2</domain>
***<domain includeSubdomains="false">192.168.29.96</domain>***
</domain-config>
</network-security-config>
Como la IP local de mi computadora (compruebe desde ifconfig
para Linux) es 192.168.29.96, agregué la línea anterior en *
¡Entonces, necesitas limpiar y reconstruir para Android!
cd <app-src>/android
./gradlew clean
cd <app-src>
react-native run-android
Espero que esto funcione para usted.
Lo que he hecho: (trabajando en el emulador Android Pie 9)
Debug server host & port for device
haciendo clic en Ctrl+M
y Dev Setting
en el emulador. Asegúrese de configurar el host y el puerto usando el host y el puerto de Bundler (predeterminado: localhost:8081
) y asegúrese de que su puerto no esté bloqueado por otro procesoadb reverse tcp:8081 tcp:8081
en el directorio del proyecto de inicioandroid:usesCleartextTraffic="true"
al nodo <application>
en AndroidManifest.xml
@ Eyesonly88 esto resolvió el problema para mí, gracias.
Para usted que enfrenta este problema específicamente al configurar su targetSdkVersion en API 28.
Todo lo que necesita hacer es agregar para su archivo network_security_config las siguientes líneas a continuación:
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
PD: En mi caso, tengo varios archivos network_security_config para cada sabor, ya que este es un problema de depuración, fue suficiente agregar estas líneas al archivo network_security_config en el sabor de depuración.
================================================== =======================
Más información sobre el error a continuación:
Si vamos a https://developer.android.com/training/articles/security-config.html , veremos que estas líneas de código anteriores son la configuración de seguridad predeterminada para Android API 24 a API 27. (Android 7.0 a androide 8.1).
Esto quiere decir que para Android 9, API 28, que es el que me estaba dando el error, la configuración por defecto cambió.
Más específicamente, la configuración predeterminada para Android API 28 es:
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
.
Esta es la razón por la que me funcionó el uso de la configuración predeterminada para las API antiguas.
Otra cosa que también funcionó para mí al principio fue establecer targetSdkVersion en api 27. Si no desea ejecutar en API 28, esto también podría funcionar para usted.
Si está ejecutando un emulador de Android 9, debe agregar, como lo indica @delj ,
android:usesCleartextTraffic="true"
en su etiqueta de aplicación en manifest.xmlRecomendado
me salvaste el tiempo. muchas gracias.
Chicos, abrí el wifi en el emulador y funcionó para mí.
lo que resolvió mi problema fue usar sudo yarn start
en lugar de yarn start
Tengo un script en mi paquete.json con
{
...
"scripts":{
"start":"react-native start"
}
....
}
Si está utilizando un emulador como xCode o Android Studio, no necesita configurar la dirección del servidor dev en la configuración con su IP. Se configurará automáticamente. Simplemente elimínelo y vuelva a ejecutar la aplicación. Esto funciona para mi.
Si está ejecutando un emulador de Android 9, debe agregar, como lo indica @delj ,
android:usesCleartextTraffic="true"
en su etiqueta de aplicación en manifest.xmlRecomendado
Salvaste mi día
Lo que he hecho: (trabajando en el emulador Android Pie 9)
- Configure la IP y el puerto en
Debug server host & port for device
haciendo clic enCtrl+M
yDev Setting
en el emulador. Asegúrese de configurar el host y el puerto usando el host y el puerto de Bundler (predeterminado:localhost:8081
) y asegúrese de que su puerto no esté bloqueado por otro proceso- Ejecute
adb reverse tcp:8081 tcp:8081
en el directorio del proyecto de inicio- Agregar
android:usesCleartextTraffic="true"
al nodo<application>
enAndroidManifest.xml
- Después de cumplir con los tres puntos anteriores, reinicie su proyecto
Puedo confirmar que la solución de @rafidamr es la correcta. Pero estaba en un entorno corporativo donde no podía usar el puerto 8081, así que simplemente cambié Metro Bundler a un puerto diferente así:
adb reverse tcp:8088 tcp:8088
react-native run-android --port 8088
Y, por supuesto, señaló el nuevo puerto en la configuración de desarrollo del emulador.
Gracias @camposbrunocampos 👏🏼, estaba usando target: Android 9.0
con API level 28
.
Se actualizó network_security_config.xml
y ahora el emulador funciona bien.
Tuve problemas tanto al iniciarlo en iOS como en Android (lo probé en Android Studio, sin Android Studio, con xcode y sin xcode). Intenté todo lo mencionado anteriormente.
Entonces, lo que NO ayudó fue:
Lo único que tenía que hacer era hacer: sudo npm start from react native project directory. Parece un problema de permisos. (usando Mac)
@inspiraluna ese es un problema básico de instalación de npm, debe elegir el directorio de su sistema.
agregue android:usesCleartextTraffic= "true" a su aplicación, en el manifiesto
android:useCleartextTraffic="verdadero"
android:tema="@estilo/AppTheme">
Esto funciona para mi.
Agregué
android:usesCleartextTraffic="true"
aAndroidManifest.xml
en la etiqueta<application ...
y reconstruí la aplicación. Después de eso, comenzó a cargarse normalmente desde el servidor de desarrollo.
Esto también solucionó el problema para mí, pero lo prologaré diciendo que probé esta solución inicialmente y no funcionó. Tuve que empezar de nuevo con nuevos emuladores, matar y reiniciar abd varias veces, reinstalar Android Studio, actualizar gradle, etc.
@Eyesonly88 Gracias... Funciona para mí
Yo he añadido
android:usesCleartextTraffic= "true" a AndroidManifest.xml
Así es como solucioné el problema de no tener herramientas de desarrollador en el emulador:
Esta respuesta SO sugiere verificar su archivo MainApplication.java
y eliminar BuildConfig.Debug
del método getUseDeveloperSupport
, por lo que se ve así:
<strong i="11">@Override</strong>
public boolean getUseDeveloperSupport() {
// Return true to load JS from the packager.
// If BuildConfig.DEBUG is false, assets will be loaded from assets folder.
return true; // BuildConfig.DEBUG;
}
Comentario más útil
Intenta ejecutar:
adb reverse tcp:8081 tcp:8081
en su símbolo del sistema y vuelva a ejecutar su proyecto después de eso.