run - No se puede cargar el script desde los activos index.android.bundle en Windows
react native wikipedia (30)
Ubuntu
La primera vez, creé una nueva aplicación con
react-native init project-name
.
Tengo el mismo error.
así que hago los siguientes pasos para resolver esto en mi caso.
-
Primero ejecute
sudo chown user-name-of-pc /dev/kvm
en mi caso. -
Mientras depura desde su teléfono Android, seleccione
Use USB to Transfer photos (PTP)
. -
Crear
assets
carpeta en project-name / android / app / src / main -
asegúrese de que
index.js
esté disponible en el directorioroot
proyecto y luego ejecute el siguiente comando desde la consola despuéscd project-name
directoriocd project-name
.
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
o para index.android.js entonces
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
-
Ejecute el comando
./studio.sh
en el./studio.sh
android-studio/bin
. Se abrirá Android Studio. -
comando de ejecución
react-native run-android
.
Estoy tratando de ejecutar mi primer proyecto React Native por primera vez en mi dispositivo (Android 4.2.2).
Y obtengo:
no se puede cargar el script desde los activos index.android.bundle
Comandos que usé:
-
cd (project directory)
-
react-native start
-
react-native run-android
1 Vaya al directorio de su proyecto y verifique si esta carpeta existe
android/app/src/main/assets
-
Si existe, elimine dos archivos, a saber
index.android.bundle
eindex.android.bundle.meta
- Si los activos de la carpeta no existen, cree el directorio de activos allí.
2. Desde el directorio del proyecto raíz
cd android && ./gradlew clean
3. Finalmente, navegue de regreso al directorio raíz y verifique si hay un solo archivo de entrada llamado
index.js
-
Si solo hay un archivo, es decir, index.js, ejecute el siguiente comando
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
-
Si hay dos archivos, es decir, index.android.js e index.ios.js, ejecute este
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
-
Ahora ejecute
react-native run-android
-
Ahora ejecute
Asegúrese de haber agregado / path / to / sdk / platform-tools a su variable de ruta.
Cuando ejecuta react-native run-android, ejecuta el comando adb reverse tcp: <device-port> tcp: <local-port> para reenviar la solicitud desde su dispositivo al servidor que se ejecuta localmente en su computadora. Verá algo como esto si no se encuentra adb.
/bin/sh: 1: adb: not found
Starting the app (.../platform-tools/adb shell am start -n
com.first_app/com.first_app.MainActivity...
Starting: Intent { cmp=com.first_app/.MainActivity }
Asegúrese de que Metro Builder se esté ejecutando para sincronizar su dispositivo físico y el servidor
Primero, ejecute este comando para ejecutar Metro Builder
npm start
Entonces puede comenzar la compilación en reaccionar nativo
reaccionar nativo run-android
No debería haber ningún error esta vez. Si desea que su código esté en vivo, vuelva a cargar el cambio. Agite su dispositivo y luego toque Activar recarga en vivo
Creo que no tienes hilo instalado, intenta instalarlo con chocolate o algo así. Debe instalarse antes de crear su proyecto (comando react-native init).
No es necesario crear un directorio de activos.
Responda si no funciona.
Editar: en la versión reciente de react-native lo han arreglado. Si desea liberarse por completo de esto, simplemente desinstale el nodo (para una desinstalación completa, elimine completamente el nodo, consulte este enlace) y vuelva a instalar el nodo, react-native-cli y luego cree su nuevo proyecto.
En mi caso, he eliminado la línea de abajo de MainApplication.java. (Que previamente he agregado por error por mí.) : -
import com.facebook.react.BuildConfig;
Después de ese proyecto limpio y comando de golpe
reaccionar nativo run-android
Este es un mensaje de error general que puede haber encontrado durante el desarrollo de la aplicación nativa de reacción. Entonces, en este tutorial, vamos a proporcionar una solución a este problema.
Descripción del problema: No se puede cargar la secuencia de comandos de los activos index.android.bundle en Windows No se puede cargar la secuencia de comandos de los activos index.android.bundle en Windows
Siga los pasos a continuación para resolver el problema anterior:
Paso 1: Cree la carpeta "activos" dentro del directorio de su proyecto Ahora cree la carpeta de activos dentro del directorio del proyecto que es "MobileApp / android / app / src / main". Puede crear manualmente la carpeta de activos:
<O>
puedes crear una carpeta usando el comando también. Comando: mkdir android / app / src / main / assets
Paso 2: Ejecutar su aplicación React Native Vamos a ejecutar el siguiente comando para ejecutar la aplicación React Native en el emulador o dispositivo físico.
Cambie al directorio del proyecto. cd MobileApp
Ejecute el siguiente comando que ayuda a agrupar su proyecto de aplicación de Android.
paquete react-native --plataforma android --dev falso --intry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res
Ejecute el paso final para ejecutar la aplicación nativa de reacción en el emulador o dispositivo físico. reaccionar nativo run-android
<O>
También puede combinar los dos últimos comandos en uno. En este caso, debe ejecutar el comando solo una vez.
paquete react-native --plataforma android --dev falso --intry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res && react-native run-android
<O>
Puede automatizar los pasos anteriores colocándolos en scripts que forman parte de package.json de esta manera:
"android-android": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets -dest android / app / src / main / res && react-native run-android "
Si todo está configurado correctamente, debería ver su nueva aplicación ejecutándose en su emulador de Android en breve.
Este problema también puede ser causado por la desactivación de los datos celulares del dispositivo / emulador. Asegúrate de comprobar eso.
He tenido este mismo problema durante varios meses. Inicialmente utilicé la solución de @ Jerry, sin embargo, esta fue una resolución falsa ya que no solucionó completamente el problema. En cambio, lo que hizo fue tomar cada compilación como una compilación de producción, lo que significa que cualquier pequeño cambio que haya realizado en la aplicación significaría que es necesario reconstruir toda la aplicación.
Si bien esta es una solución temporal, funciona horriblemente a largo plazo ya que ya no puede aprovechar las increíbles herramientas de desarrollo de React Native, como la recarga en caliente, etc.
Se muestra una solución adecuada:
En su archivo
MainApplication.java
, reemplace lo siguiente:
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
con
@Override
public boolean getUseDeveloperSupport() {
return true;
}
como por alguna razón
BuildConfig.DEBUG
siempre devolvió falso y resultó en un archivo de paquete en el directorio de activos.
Al establecer manualmente esto en verdadero, está obligando a la aplicación a usar el empaquetador. Esto NO funcionará en producción, así que asegúrese de cambiarlo a falso o al valor predeterminado.
No olvides también correr
$ adb reverse tcp:8081 tcp:8081
Me encontré con el mismo problema mientras seguía el tutorial React Native (desarrollo en Linux y apuntado a Android).
Este issue me ayudó a resolver el problema en los siguientes pasos.
-
(en el directorio del proyecto)
mkdir android/app/src/main/assets
-
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
-
react-native run-android
Puede automatizar los pasos anteriores colocándolos en
scripts
forman parte de
package.json
esta manera:
"android-linux": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android"
Luego puede ejecutar
npm run android-linux
desde su línea de comando cada vez.
Me he enfrentado al mismo problema con un dispositivo Android real.
Solución: basada en esta answer de Niltoid
- Encuentra tu IP local
- Abra la aplicación y agite su dispositivo Android
- Vaya a Configuración de desarrollo y> Servidor de depuración ...
- Pegue su IP y puerto; XXXX: 8088 "(donde las X son su IP local)
para usuarios de Mac: abra su preferencia de red, aquí obtendrá su IP local.
OS: Windows
Otra forma de resolver este problema después de probar dos métodos anteriores
(porque instalé SDK
no en UBICACIÓN PREDETERMINADA como C: / users / "user_name" / appdata / local / sdk
)
Si notó que la línea de comando anunció: "''adb'' no se reconoce como un comando interno o externo ..."
Así es como me sobrepongo:
Ejemplos: instalé SDK en D: / Android / sdk
Así que insertaré la ruta en las Variables del sistema 2 líneas más:
D:/Android/sdk/tools
D:/Android/sdk/platform-tools
(Si no sabe cómo editar las variables de sistema de ruta, este es el tema: https://android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for-adb-server-to-start-from-cmd/38324 )
Luego ejecuto cmd nuevamente:
react-native run-android
Funcionó para mi.
Para iOS:
En una terminal:
cd ios
Elimine la carpeta de compilación con:
rm -r build
Ejecutar de nuevo:
react-native run-ios
Alternativamente, puede abrir Finder, navegar a YOUR_PROJECT / ios y eliminar la carpeta de compilación .
Luego corre de nuevo:
react-native run-ios
Para Android:
En una terminal:
cd android/app
Elimine la carpeta de compilación con:
rm -r build
Ejecutar de nuevo:
react-native run-android
Alternativamente, puede abrir Finder, navegar a YOUR_PROJECT / android / app y eliminar la carpeta de compilación .
Luego, vuelva a ejecutar:
react-native run-android
Para este problema, lo soluciono ejecutando:
react-native start
entonces
adb reverse tcp:8081 tcp:8081
en la línea de comando. Y luego puedo correr:
react-native run-android
Entonces no perderé mi tiempo en correr:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
cada vez.
Para todos ustedes que están desarrollando desde una aplicación create-react-native y expulsados, y tienen este problema en
development
, esto es lo que funcionó para mí solo un pequeño detalle de la respuesta aceptada
(en el directorio del proyecto) mkdir android / app / src / main / assets
aquí viene la parte que cambia porque estás en desarrollo, deshazte de la parte
--dev: false
:
paquete react-native --plataforma android --intry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res
después de eso, cierre todas las terminales, borre la carpeta de compilación de android / app / para asegurarse de comenzar limpiamente para compilar su aplicación, abra una nueva terminal y
(en el directorio del proyecto) npm ejecutar android
solicitará la consola del empaquetador (en otro terminal) y se compilará correctamente
Pasé horas tratando de resolver este problema. Mi problema no era específico de Windows, pero es específico de Android.
El acceso al servidor de desarrollo funcionaba localmente y en el navegador del emulador. Lo único que no funcionó fue acceder al servidor de desarrollo en la aplicación.
A partir de Android 9.0 (API nivel 28), la compatibilidad con texto sin formato está deshabilitada de manera predeterminada.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
Consulte para obtener más información: https://.com/a/50834600/1713216
Puede seguir las instrucciones mencionadas en la página oficial para solucionar este problema. Este problema ocurre en un dispositivo real porque el paquete JS se encuentra en su sistema de desarrollo y la aplicación dentro de su dispositivo real no es consciente de su ubicación.
Puede ser causado por activos no vinculados en su base de código de proyecto React Native, como cuando cambia el nombre de su aplicación de proyecto / ID de paquete o agrega un paquete externo sin vincularlo, por ejemplo.
Simplemente pruébelo en el directorio raíz de su proyecto:
react-native link
react-native run-android
Si al ejecutar el comando
react-native run-android
la segunda línea de la traza es
JS server not recognized, continuing with build...
significa que el empaquetador para la aplicación no se puede iniciar y la aplicación no se cargará sin algunos pasos adicionales. Tenga en cuenta que el final de la traza aún informa éxito:
BUILD SUCCESSFUL
El problema es probablemente un conflicto de puertos (en mi caso, era el sitio IIS predeterminado que olvidé por completo).
Otra manifestación del problema sería una falla al abrir
http://localhost:8081/debugger-ui
URL en Chrome.
Una vez que se resuelva el conflicto del puerto, el seguimiento informará
Starting JS server...
entonces se abrirá una ventana de Nodo adicional (
node ...cli.js start
) y la aplicación se cargará / recargará con éxito.
Después de eso, debería poder abrir la consola de depuración en Chrome con
http://localhost:8081/debugger-ui
.
Si está ejecutando su aplicación en un dispositivo físico y obtiene este error
unable to load script from assets index.android.bundle
intente ejecutar el comando:
adb reverse tcp:8081 tcp:8081
Funcionó para mí ...
Si está utilizando Windows, ejecute los comandos de la siguiente manera, o si obtiene un error "No se puede encontrar el archivo de entrada index.android.js"
-
mkdir android/app/src/main/assets
-
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
-
react-native run-android
Sigue esto, trabajó para mí.
https://github.com/react-community/lottie-react-native/issues/269
Vaya al directorio de su proyecto y verifique si esta carpeta existe android / app / src / main / assets i) Si existe, elimine dos archivos, a saber index.android.bundle e index.android.bundle.meta ii) Si los activos de la carpeta no existe, luego cree el directorio de activos allí.
Desde el directorio raíz del proyecto, haga cd android && ./gradlew clean
Finalmente, navegue de regreso al directorio raíz y verifique si hay un solo archivo de entrada llamado index.js i) Si solo hay un archivo, es decir, index.js, ejecute el siguiente comando react-native bundle --platform android --dev false - -entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res
ii) Si hay dos archivos, es decir, index.android.js e index.ios.js, ejecute este paquete react-native --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
Ahora ejecute react-native run-android
También estaba enfrentando este problema porque cuando ejecuto proyectos en el emulador funciona bien, pero en un dispositivo real da este error. Entonces resuelvo este problema con la siguiente solución
1er paso: en primer lugar, abra cmd y vaya a la carpeta de herramientas de plataforma de su administrador de SDK, es decir, cd C: Desarrollo / Android / Sdk / Herramientas de plataforma
2do paso: ahora ejecuta este comando: dispositivos adb
después de este comando, verifique su dispositivo en la lista de comandos
3er paso: ahora ejecuta este adb reverse tcp: 8081 tcp: 8081
Ahora tu configuración ha terminado
4to paso: VAYA al directorio de su proyecto y ejecute este comando
reaccionar nativo run-android
Tuve el mismo problema en Mac. Después de pasar 2 días, finalmente pude obtener funciona.
Dado que
Emulator cellular data was turned off
, no pude
unable to load script from assets index.android.bundle make sure your bundle is running
.
Asegúrese de que sus
Emulator cellular data is turned on
index.android.js
Emulator cellular data is turned on
haciendo que este servidor de paquetes pueda agrupar
index.android.js
.
Espero que ayude a alguien que está en fase de desarrollo.
Tuve el mismo problema incluso cuando se ejecutaba en un simulador. Hice una solución rápida para poder tener el flujo de trabajo de desarrollo normal.
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
// return true here to load JS from the packager
// BuildConfig.DEBUG for me was set to false which meant it
// it was always trying to load the assets from assets folder.
return true;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
};
Probablemente tendrá que revertir el cambio cuando intente hacer una compilación de producción.
Tuve un problema con McAfee en mi puerto de bloqueo de mac 8081, tuve que cambiarlo a 8082.
Primero ejecute su servidor de paquetes:
react-native start --port 8082
Abra otra terminal, inicie la aplicación de Android como de costumbre:
react-native run-android
Una vez que termine, ahora reescriba el puerto tcp que adb tunnel:
adb reverse tcp:8081 tcp:8082
Vea la lista de túneles adb tcp:
adb reverse --list
Ahora debería ver un mensaje conmovedor:
(reverse) tcp:8081 tcp:8082
Vaya a su aplicación y vuelva a cargar, ¡listo!
PD: No cambie nada en la configuración de Dev de la aplicación, si agregó "localhost: 8082", simplemente elimínelo, déjelo en blanco.
EDITAR: Para todas las víctimas de McAfee, existe una solución más fácil si tiene acceso a la raíz, simplemente elimine temporalmente el proceso de McAfee en el puerto 8081 y no necesite ningún cambio de puerto:
sudo launchctl remove com.mcafee.agent.macmn
Uso de npm versión 4.3.0 react-native-cli versión 2.01 react-native versión 0.49.5
En el directorio del proyecto,
-
mkdir android/app/src/main/assets
-
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
-
react-native run-android
El nombre del archivo ha cambiado de index.android.js a index.js
cuando actualizo react-native a 0.49.5, aparece este problema y cuando seguí esto Rompiendo cambios y desaprobaciones
desaparecio.
no olvide encender internet en el dispositivo emulador, resolví este error, funciona perfecto: V Recibo este error porque apago internet para probar NetInfo: D
Estoy enfrentando este problema, mucha búsqueda y resolví ese problema.
c:/ProjectFolder/ProjectName> react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Que ejecutar el reactivo nativo:
c:/ProjectFolder/ProjectName>react-native run-android