Impossible de charger le script à partir des actifs index.android.bundle sur Windows

J’essaie de lancer mon premier projet React Native pour la première fois sur mon appareil (Android 4.2.2).

Et je reçois:

impossible de charger le script à partir d’actifs index.android.bundle

Commandes que j’ai utilisées:

  1. cd (project directory)
  2. react-native start
  3. react-native run-android

J’ai rencontré le même problème en suivant le didacticiel React Native (développé sous Linux et ciblant Android).

Ce problème m’a aidé à résoudre le problème dans les étapes suivantes.

  1. (dans le répertoire du projet) mkdir android/app/src/main/assets
  2. 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
  3. react-native run-android

Vous pouvez automatiser les étapes ci-dessus en les plaçant dans la partie scripts de package.json comme ceci:

 "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" 

Ensuite, vous pouvez simplement exécuter npm run android-linux partir de votre ligne de commande à chaque fois.

Si vous exécutez votre application sur un périphérique physique et obtenez cette erreur

 unable to load script from assets index.android.bundle 

essayez d’exécuter la commande:

 adb reverse tcp:8081 tcp:8081 

Ça a fonctionné pour moi …

Utilisation de la version 4.3.0 de npm avec rea-native-cli version 2.01 version 0.49.5 native

Dans le répertoire du projet,

  • 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

Le nom du fichier a changé de index.android.js à index.js

J’ai rencontré le même problème avec un vrai appareil Android.

Solution: Basé sur cette réponse par Niltoid

  1. Trouvez votre adresse IP locale
  2. Ouvrez l’application et secouez votre appareil Android
  3. Go Dev Setting et> Debug Server …
  4. Collez votre adresse IP et votre port. XXXX: 8088 “(où X est votre adresse IP locale)

pour les utilisateurs de Mac: ouvrez votre préférence réseau, vous obtiendrez ici votre adresse IP locale.

Si vous utilisez Windows, exécutez les commandes de la manière suivante, ou si vous obtenez une erreur “Impossible de trouver le fichier d’entrée index.android.js”

  1. mkdir android\app\src\main\assets
  2. 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

  3. react-native run-android

Vous pouvez suivre les instructions mentionnées sur la page officielle pour résoudre ce problème. Ce problème se produit sur le périphérique réel, car le kit JS se trouve sur votre système de développement et l’application de votre périphérique réel ne connaît pas son emplacement.

Avait le même problème dans Mac, Après avoir passé 2 jours, j’ai finalement pu obtenir travaille.

Étant donné que Emulator cellular data was turned off , je unable to load script from assets index.android.bundle make sure your bundle is running .

Assurez-vous que Emulator cellular data is turned on votre Emulator cellular data is turned on en faisant ce serveur de package capable de regrouper index.android.js . J’espère que ça aide pour quelqu’un qui est en phase de développement.

J’ai le même problème depuis plusieurs mois maintenant. J’ai d’abord utilisé la solution @ Jerry, mais c’était une fausse résolution car elle ne résout pas complètement le problème. Au lieu de cela, il a fallu que chaque version soit une version de production, ce qui signifie que toute modification mineure apscope à l’application signifierait que la reconstruction de l’application complète est nécessaire.

Bien qu’il s’agisse d’une solution temporelle, elle fonctionne horriblement à long terme, car vous ne pouvez plus utiliser les formidables outils de développement de React Native tels que le rechargement à chaud, etc.

Une solution appropriée est une démonstration:

Dans votre fichier MainApplication.java , remplacez les éléments suivants:

 @Override public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } 

avec

 @Override public boolean getUseDeveloperSupport() { return true; } 

pour une raison quelconque, BuildConfig.DEBUG toujours renvoyé false et généré un fichier bundle dans le répertoire assets.

En définissant manuellement cette valeur sur true, vous forcez l’application à utiliser le conditionneur. Cela ne fonctionnera pas dans la production alors assurez-vous de le remplacer par la valeur false ou la valeur par défaut.

N’oubliez pas aussi de courir

 $ adb reverse tcp:8081 tcp:8081 

OS: Windows

Une autre façon de résoudre ce problème après avoir essayé deux méthodes ci-dessus
(parce que j’ai installé le SDK pas dans LOCAL DEFAULT comme C: \ users \ “user_name” \ appdata \ local \ sdk )

Si vous avez remarqué cette ligne de commande annoncée: “‘adb’ n’est pas reconnu comme une commande interne ou externe …”

Voici comment je me débrouille:
Exemples: J’ai installé le SDK dans D: \ Android \ sdk
Donc, je vais insérer le chemin dans les variables système 2 lignes supplémentaires:

 D:\Android\sdk\tools D:\Android\sdk\platform-tools 

(Si vous ne savez pas comment modifier les variables système du chemin d’access, voici le sujet: https://android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for-adb- démarrage de serveur à partir de cmd / 38324 )

Puis je lance à nouveau cmd: react-native run-android

Cela a fonctionné pour moi.

Assurez-vous d’avoir ajouté / path / to / sdk / platform-tools à votre variable de chemin.

Lorsque vous exécutez run-android native, vous exécutez la commande adb reverse tcp: tcp: pour transférer la demande de votre périphérique vers le serveur local de votre ordinateur. Vous verrez quelque chose comme ceci si adb n’est pas trouvé.

 /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 } 

J’ai eu le même problème même sur un simulateur. J’ai fait une solution rapide pour que je puisse avoir le workflow de développement 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 Ssortingng getJSMainModuleName() { return "index"; } }; 

Vous devrez probablement revenir sur le changement lorsque vous essayez de créer une version de production.

Cela peut être dû à des actifs non liés dans votre base de code de projet React Native, par exemple lorsque vous renommez votre identifiant d’application / bundle de projet ou ajoutez un package externe sans le lier correctement.

Essayez-le simplement dans le répertoire racine de votre projet:

 react-native link react-native run-android 

Ubuntu

La première fois, j’ai créé une nouvelle application avec un react-native init project-name . J’ai eu la même erreur. donc je fais les étapes suivantes pour résoudre ce problème dans mon cas.

  1. Tout d’abord, lancez sudo chown user-name-of-pc /dev/kvm dans mon cas.
  2. Lors du débogage à partir de votre téléphone Android, sélectionnez Use USB to Transfer photos (PTP) .

  3. Créer des assets dossier dans nom du projet / android / app / src / main

  4. assurez-vous que index.js soit disponible dans le répertoire root votre projet, puis exécutez la commande ci-dessous depuis la console après le répertoire cd 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

ou pour index.android.js alors

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

  1. Exécuter la commande ./studio.sh dans le ./studio.sh android-studio/bin . Cela ouvrira Android Studio.

  2. exécuter la commande react-native run-android .

entrer la description de l'image ici

Si lors de l’exécution de la commande react-native run-android la deuxième ligne de la trace est

 JS server not recognized, continuing with build... 

cela signifie que le conditionneur pour l’application ne peut pas être démarré et que l’application ne pourra pas se charger sans quelques étapes supplémentaires. Notez que la fin de la trace rapporte toujours le succès:

 BUILD SUCCESSFUL 

Le problème est probablement dû à un conflit de port (dans mon cas, c’était le site IIS par défaut que j’avais complètement oublié). Une autre manifestation du problème serait l’échec de l’ouverture de l’URL http://localhost:8081/debugger-ui dans Chrome.

Une fois le conflit de port résolu, la trace indiquera

 Starting JS server... 

alors une fenêtre supplémentaire de nœud s’ouvre ( node ...cli.js start ) et l’application va charger / recharger avec succès.

Après cela, vous devriez pouvoir ouvrir la console de débogage dans Chrome avec http://localhost:8081/debugger-ui .

Pour ce problème, je résous le problème en exécutant:

 react-native start 

puis

 adb reverse tcp:8081 tcp:8081 

sur la ligne de commande. Et puis je peux courir:

 react-native run-android 

Donc je ne vais pas perdre mon temps à courir:

 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 

à chaque fois.

J’ai eu un problème avec McAfee sur mon port de blocage Mac 8081, j’ai dû le remplacer par 8082.

Commencez par exécuter votre serveur de paquets:

 react-native start --port 8082 

Ouvrez un autre terminal, lancez l’application Android comme d’habitude:

 react-native run-android 

Une fois terminé, réécrivez maintenant le port TCP que les tunnels adb:

 adb reverse tcp:8081 tcp:8082 

Voir la liste des tunnels adb tcp:

 adb reverse --list 

Vous devriez maintenant voir un message réconfortant:

 (reverse) tcp:8081 tcp:8082 

Accédez à votre application et rechargez, terminé!

PS: Ne changez rien dans les parameters de l’application, si vous avez ajouté “localhost: 8082”, supprimez-le, laissez-le vide.

EDIT: pour toutes les victimes de McAfee, il existe une solution plus simple si vous disposez d’un access root, supprimez simplement le processus McAfee situé sur le port 8081 et évitez tout changement de port:

 sudo launchctl remove com.mcafee.agent.macmn 

Je pense que vous n’avez pas de fil installé essayez de l’installer avec du chocolat ou quelque chose. Il doit être installé avant de créer votre projet (commande init native-react).

Pas besoin de créer un répertoire d’actifs.

Répondre si cela ne fonctionne pas.

Edit: Dans la version récente de react-native, ils ont corrigé le problème. Si vous souhaitez vous libérer complètement de ce noeud, désinstallez-le (pour une désinstallation complète, supprimez complètement ce lien) et réinstallez le nœud, réagissez nativement, puis créez votre nouveau projet.

J’étais également confronté à ce problème parce que quand je lance des projets sur émulateur, il fonctionne bien, mais sur un périphérique réel, il donne cette erreur.SO je résous ce problème par la solution suivante

1ère étape: Ouvrez d’abord cmd et accédez à votre dossier sdk manager Platform-tools folder, cd c: Development \ Android \ Sdk \ Platform-tools

2ème étape: lancez maintenant cette commande: adb devices

après cette commande, vérifiez votre appareil répertorié dans la commande propmt

3ème étape: lancez maintenant cette inversion de tcp inverse: 8081 tcp: 8081

Maintenant, votre configuration est terminée

4ème étape: Accédez au répertoire de votre projet et exécutez cette commande

run-android natif

Pour IOS:

Dans un terminal:

 cd ios 

Supprimez le dossier de compilation avec: rm -r build

Exécuter à nouveau: react-native run-ios

Vous pouvez également ouvrir le Finder, accéder à YOUR_PROJECT / ios et supprimer le dossier de génération .

Puis relancez: react-native run-ios

Pour ANDROID:

Dans un terminal:

 cd android/app 

Supprimez le dossier de compilation avec: rm -r build

Exécuter à nouveau: react-native run-android

Vous pouvez également ouvrir le Finder, accéder à YOUR_PROJECT / android / app et supprimer le dossier de compilation .

Ensuite, relancez: react-native run-android

quand je mets à jour la version 0.49.5, ce problème apparaît et quand j’ai suivi cette page

c’est disparu.

Ce problème peut également être causé par la désactivation des données cellulaires du périphérique / émulateur. Assurez-vous de vérifier cela.

pour cette erreur: “impossible de charger le script à partir des actifs ‘index.android.bundle'”

1). recherchez le dossier “assets” sur: mkdir android \ app \ src \ main \ assets

Si le dossier n’est pas disponible, créez le dossier avec le nom “assets” manuellement. et exécuter la commande Curl dans le terminal.

2). Commande Curl: curl ” http: // localhost: 8081 / index.android.bundle? Platform = android ” -o “android / app / src / main / assets / index.android.bundle”

Il va créer automatiquement le fichier “index.android.bundle” dans le dossier des ressources et résoudre le problème.

3). run-android natif

Cracher dans une suggestion évidente qui a fonctionné pour moi. Supprimez l’application, redémarrez le serveur et déployez à nouveau votre outil vers votre périphérique.

J’ai eu ce problème lorsque j’essayais de déboguer mon code, (en utilisant Toggle inspector dans mon téléphone Android et de réagir au développement), j’ai fait ces étapes simples:

  1. Ouvrez le menu dans le téléphone (où Reload est, je peux l’ouvrir en appuyant longuement sur le bouton de retour ou en secouant le téléphone) entrez la description de l’image ici
  2. tapez sur Dev Setting
  3. dans le débogage -> l’hôte et le port du serveur de débogage pour le périphérique doivent être vides Remarque: si vous avez écrit un port ou quelque chose ici (pour le débogage), vous devez le supprimer.

Image

Je suis confronté à ce problème, beaucoup de recherche et j’ai résolu ce problème.

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 faire fonctionner le natif:

c:\ProjectFolder\ProjectName>react-native run-android

J’ai rencontré ce problème non pas avec un périphérique réel, mais avec un émulateur. Je l’ai corrigé en lançant un démarrage réactif dans le terminal avant d’essayer d’exécuter le code avec Android Studio. Je n’ai jamais rencontré ce problème lors de l’exécution de run-Android natif dans le terminal.

Je le résout par cette cmd:

 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 

N’oubliez pas d’activer Internet dans l’émulateur, j’ai resitué cette erreur, cela fonctionne parfaitement: V Je reçois cette erreur car j’éteins internet pour tester NetInfo: D

Pour vous tous qui développez à partir d’une application native-create-react-native et éjectés, et avez ce problème en development , c’est ce qui a fonctionné pour moi juste un petit détail de la réponse acceptée

(dans le répertoire du projet) mkdir android / app / src / main / assets

voici la partie qui change parce que vous êtes en développement se débarrasser de la partie --dev: false :

bundle rea-native –platform android –fichier index.js –bundle-output android / app / src / main / assets / index.android.bundle –assets-dest android / app / src / main / res

Après cela, fermez tous les terminaux, effacez le dossier de construction d’android / app / pour vous assurer que vous commencez à créer votre application, ouvrez un nouveau terminal et

(dans le répertoire du projet) npm exécuter Android

invitera la console de conditionnement (dans un autre terminal) et construira avec succès

Sous Windows

Si vous êtes sûr que node.js est installé avec succès sur votre système, veuillez vérifier les variables d’environnement du système et append C: \ windows \ system32 dans les variables système.