Intentando crear un proyecto react-native en Android 4.4.2 me sale esta pantalla de error
y no pude encontrar ninguna manera de resolverlo. Intenté reiniciar el empaquetador, volver a conectar el dispositivo, incluso reinstalar react native y comenzar un nuevo proyecto. En 6.0.0 y versiones posteriores funciona bien.
android
react-native
Zygro
fuente
fuente
react-native run-android
? Recibo el error en este caso, lo cual es extraño porque en modo de depuración no debería haber necesidad del paquete JS afaik ya que se supone que se está conectando al servidor de paquetes.Respuestas:
Una posible solución para esto es que probablemente no empaque su aplicación primero, realice los siguientes pasos y luego implemente su app-debug.apk en su dispositivo
(si la carpeta
assets
no existe, créela)Luego ejecutar desde la raíz del proyecto
instale el apk creado en su dispositivo, desde la ubicación:
android/app/build/outputs/apk/app-debug.apk
avíseme si eso soluciona su problema
EDITAR :
Simplemente puede ponerlo en su package.json como un script para automatizarlo, creo que se solucionará en las próximas versiones de react-native y se ejecutará antes de ensamblar el APK final, por lo tanto, esto no será necesario (espero también)
poner :
o como se mencionó el rizo equivalente, pero para la mayoría de los casos lo anterior es más robusto
fuente
Me encontré con este problema también. Lo que hice fue forzar a matar la aplicación en mi dispositivo, luego abrí otra consola y corrí
y luego abrí la aplicación nuevamente desde mi dispositivo y comenzó a funcionar nuevamente.
EDITAR: si está utilizando un dispositivo Android a través de USB y lo ha desenchufado o su computadora se ha dormido, es posible que primero deba ejecutar
fuente
react-native run-android
. El usoreact-native start
nunca fue necesario para mí cuando estaba haciendoreact-native run-ios
adb reverse tcp:8081 tcp:8081
fue suficiente en sí mismo para mí. ¡Muchas gracias!Acabo de recibir este error. Esto es lo que hice para solucionarlo: seleccioné
Dismiss
, entré en el menú Desarrollador, luegoDev Settings
, ElijaDebug server host & port for device
, agregué la dirección IP de mi computadora y el puerto:,192.168.0.xx:8xxx
use la dirección IP asignada a las máquinas de su desarrollador en su red wifi. El puerto es generalmente:8081
Una vez que hice esto, todo salió bien. Además, mientras esté en el menú de desarrollo, recuerde seleccionar
Enable Live Reload
yDebug JS Remotely
, hace que su vida sea mucho más fácil durante la depuración.fuente
ifconfig
, luego busque inet addr: xxx.xxx.xxx.xxx donde xxx * es la ip de su máquina de desarrolladorEsto es lo que funcionó para mí (después de probar cualquier otra solución que encontré ...):
Corre
adb reverse tcp:8081 tcp:8081
adentro\Android\sdk\platform-tools
fuente
react-native run-android
intenta ejecutar ese comando y depende de la variable de entorno de Windowspath
para contener laplatform-tools
ruta.Obtuve esto también cuando comencé por primera vez con React Native, usando un dispositivo físico. Si ese es el caso, debe hacer algunas cosas adicionales antes de comenzar. Debe ingresar información sobre su máquina de desarrollo en la 'Configuración de desarrollo' de React Native.
Cuando vea el error, agite su dispositivo . Aparecerá un cuadro de diálogo, la última opción será 'Configuración de desarrollo'. Seleccione 'Debug server hot & port for device' e ingrese su IP local y el puerto utilizado (generalmente 8081).
Vea el último párrafo de https://facebook.github.io/react-native/docs/running-on-device-android.html
fuente
Si ninguna de las soluciones funciona para usted, intente esto:
Descubrí que mi
<root>/android/app/build/intermediates/assets/debug
carpeta estaba vacía y al ejecutarlacd android && ./gradlew assembleDebug
no estaba creando esos archivos necesarios, que luego son utilizados por el hilo de JavaScript en nuestras aplicaciones nativas de reacción.Ejecuté manualmente el siguiente comando que el comando debug build debería haber creado idealmente.
Después de ejecutar estos comandos, encontré dos archivos de paquete en este directorio
<root>/android/app/build/intermediates/assets/debug
Y luego, cuando ejecuté nuevamente,
cd android && ./gradlew installDebug
mi aplicación comenzó a funcionar nuevamente.Se depurará más y actualizará lo que realmente falla.
fuente
En un terminal separado , conecte su dispositivo a la computadora y ejecute los siguientes comandos:
Terminal de aplicación :
fuente
Es demasiado tarde, pero esto realmente funciona para mí.
react-native run-android
.react-native start
.El primer comando se compilará
apk
para Android y se implementará en su dispositivo si está conectado. Cuando abra la aplicación, se mostrará una pantalla roja con error. Luego, ejecute el segundo comando que ejecutará el paquete y creará el paquete de la aplicación por usted.fuente
Pruebe este comando en la terminal y luego vuelva a cargar. Funciono para mi
adb reverse tcp: 8081 tcp: 8081
fuente
ver tema :
1.react-native start
2.Haga clic
Reload(R,R)
en su dispositivo.fuente
react-native run-android
fuente
restart the genymotion
? Ty vole.Estaba teniendo la misma excepción en el dispositivo Z3 Compact D5803 - 6.0.1
Abrí el archivo .buckconfig y cambié la línea:
target = Google Inc.:Google APIs:23
a
target = Google Inc.:Google APIs:24
Porque vi en SDK Manager que Android 6.X tiene un nivel de API 24.
fuente
Para mí, es porque
adb
no estaba en elPATH
. Está ubicado/Users/man/Library/Android/sdk/platform-tools
para mí, puede ser otro lugar para ti, pero de todos modos, encuéntralo y agrégalo a tu camino para ver si eso ayuda.fuente
Como está usando Android <5.0, no puede usar el
adb reverse
método predeterminado , pero Facebook ha agregado documentación oficial para conectarse al servidor de desarrollo a través de Wi-Fi , que admitiría su versión. Citando las instrucciones para MacOS, pero también las tienen para Linux y Windows:fuente
Tenía este problema "al azar" y me llevó algún tiempo darme cuenta de lo que estaba mal en mi escenario.
Después de actualizar a React-native-cli 2.0.1, había un mensaje de salida en el registro que me ayudó a cavar y encontrar la causa raíz:
Después de investigar algunos enlaces encontré este:
No se puede reconocer el servidor JS
Como estoy en Windows, ejecuté netstat y descubrí que mi reproductor VLC también se estaba ejecutando en el puerto 8081 causando el problema. Entonces, en mi caso, si iniciara el servidor vlc antes del servidor react-native no funcionaría.
Este mismo mensaje de registro no se emitió en versiones anteriores de react-native-cli, por lo que falla en silencio.
TL, DR: verifique si hay algo ejecutándose en el mismo puerto que el administrador de paquetes (8081 por defecto)
fuente
Mi problema fue que revisé mi
AndroidManifest.xml
archivo y eliminé la línea<uses-permission android:name="android.permission.INTERNET" />
porque mi aplicación no necesitará internet. Sin embargo, la aplicación de depuración nativa Reaction necesita acceso a Internet (para acceder al empaquetador) Whoops. :)
fuente
Intenta limpiar el caché
fuente
Compruebe si tiene el siguiente error cuando ejecuta
react-native run-android
:adb server version (XX) doesn't match this client (XX); killing...
En ese caso asegúrate
/usr/local/opt/android-sdk/platform-tools/adb
y/usr/local/bin/adb
apunta a lo mismoadb
En mi caso, uno apuntó a
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK), pero otro apuntó a/usr/local/Caskroom/android-platform-tools/26.0.2/platform-tools/adb
(Homebrew)Y el problema se ha solucionado después de que ambos señalaran
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK)fuente
También recibí este error, realmente confundido. Porque todas las respuestas no funcionan. Justo después de agregar adb a la ruta.
fuente
Para mí, tenía la sincronización lateral habilitada y activa. Cerrarlo inmediatamente hizo que el problema desapareciera. Puede valer la pena cerrar esta o cualquier otra comunicación entre la PC y el dispositivo
fuente
Terminé teniendo que abrir el puerto que estaba usando (8081 por defecto). En Linux, puede hacer lo siguiente
Puede probar para ver si realmente necesita hacer esto. Simplemente navegue a su servidor de desarrollo en Chrome en su dispositivo Android. Si no responde, entonces esto podría ser lo que necesita. Si responde, esto no te ayudará.
fuente
Mi camino es:
Después de eso en su dispositivo usando:
Consulte en la consola react-native, obtendrá datos del paquete js.
fuente
Yo tuve el mismo problema. Cuando creé un proyecto nativo de reacción a través de AwesomeProject create-react-native-app , funcionó bien en la aplicación Expo en el teléfono. Después de eso, quería usar ese proyecto de inicio rápido para desarrollar mi proyecto y obtuve el mismo error que usted.
Después de investigar un poco, descubrí que es mejor comenzar un nuevo proyecto con react-native init AwesomeProject (con todos los ajustes en react native docs) Luego ejecute este comando:
Eso debería solucionar el problema con el paquete (--dev false no muestra advertencias)
Todo lo que necesita hacer para que la aplicación se ejecute en su dispositivo virtual / real es:
Y debería estar funcionando bien. Al menos funcionó para mí.
fuente
Para mí, el problema era que no se reconocía 'adb': compruebe esta respuesta.
Para solucionar esto, agregue C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk \ platform-tools a las variables de entorno
fuente
La mayoría de nosotros enfrentamos este problema por primera vez, cuando comenzamos a reaccionar con el proyecto nativo # 1.
Pocos pasos simples resolvieron mi problema:
Creé un proyecto de muestra usando el comando:
Solución
La solución es ayudar
local-cli\runAndroid\adb.js
a encontraradb.exe
, de la misma manera quelocal-cli\runAndroid\runAndroid.js
:encuentra la declaración de reemplazo bajo el nombre del proyecto (lo que hayas dado)
\node_modules\react-native\local-cli\runAndroid
Reemplazar:
Por:
después de hacer el reemplazo anterior, simplemente ejecute react-native run-android en su cmd, empaquetará apk y al principio intentará instalar js bundle localmente en su dispositivo. (Tiene éxito)
fuente
Probé muchas de las sugerencias arriba / abajo, pero finalmente, el problema que enfrenté fue un permiso con watchman, que se instaló usando homebrew anteriormente. Si mira los mensajes de su terminal mientras intenta usar el emulador y encuentra errores de 'Permiso denegado' con respecto al vigilante junto con este mensaje 'No se pudo obtener BatchedBridge "en su emulador, haga lo siguiente:
Vaya a su
/Users/<username>/Library/LaunchAgents
directorio y cambie la configuración de permisos para que su usuario pueda leer y escribir. Esto es independientemente de si realmente tiene o no uncom.github.facebook.watchman.plist
archivo allí.fuente
Descubrí que también necesitaba agregar un
para que la aplicación se ejecute correctamente.
fuente
Tengo el mismo problema pero fue un error estúpido de mi parte ...
Desde el estudio de Android , estaba lanzando el
installDebug/installRelease
script gradle desdeapp
projet en lugar deroot
projet.fuente
¡La manera más fácil!
¡Eres bueno para ir!
fuente
Simplemente reinicie su sistema o su paquete completo y el problema puede solucionarse.
fuente