web-dev-qa-db-fra.com

Impossible de charger le script depuis index.Android.bundle 'des actifs. Assurez-vous que votre paquet est correctement emballé ou que vous utilisez un serveur de conditionnement

Je suis en train de travailler avec l'application native React ayant la version 0.38.0, lorsque j'ai essayé de le mettre à niveau vers la version 0.45.1, il affiche l'erreur suivante

Java.lang.RuntimeException: Unable to load script from assets 'index.Android.bundle'. Make sure your bundle is packaged correctly or you're running a packager server.
at com.facebook.react.cxxbridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)
at com.facebook.react.cxxbridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.Java:198)
at com.facebook.react.cxxbridge.JSBundleLoader$1.loadScript(JSBundleLoader.Java:33)
at com.facebook.react.cxxbridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.Java:216)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.Java:994)
at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.Java:109)
at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.Java:746)
at Java.lang.Thread.run(Thread.Java:761)

J'ai essayé les solutions suivantes mais cela n'a pas fonctionné pour moi

SO: impossible de charger le script à partir des ressources index.Android.bundle sous Windows
SO: réaction native Android n'a pas réussi à charger JS Bundle

8
Ravi Rupareliya

1- Créer un nouveau dossier => Android/app/src/main/assets
2- Exécutez cette commande =>

 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  

Cette commande créera 2 fichiers: index.Android.bundle & index.Android.bundle.meta 

3- exécuter la commande => react-native run-Android 

23
f.jafari

Ajouter ces lignes

project.ext.react = [ entryFile: "index.js", bundleAssetName: "index.Android.bundle", bundleInAlpha: true, bundleInBeta: true ]

avant apply from: "../../node_modules/react-native/react.gradle" dans build.gradle

4
gderaco

D'accord. Chaque réponse est unique, en fonction du «quand» et de la «version» au moment où le problème se produit. 

Nous sommes aujourd'hui le 27 août 2018 (dans un an et demi à partir de cette page) et j'ai encore trouvé le même problème lorsque j'installe react-native et crée des projets (sous Windows) en suivant les instructions du site officiel.

Et honnêtement, il est très difficile de trouver la bonne réponse pour que cela fonctionne comme «normal» pour «aujourd’hui», car tout a changé et est différent du temps qui a été laissé.

Passons maintenant à la question ci-dessus: Impossible de charger le script à partir d’actifs 'index.Android.bundle'.

Ce qui signifie que nous n'avons pas le fichier demandé dans les ressources du répertoire. C'est tout le problème! Il n'y a pas de relation avec le port, les périphériques, l'émulateur, etc.

Maintenant, ce que nous devons faire, c'est que le fichier soit "existe là". Et voici quelques options que vous pouvez utiliser en fonction de la configuration de votre package:

Créez le répertoire 'assets' s'il n'existe pas comme demandé dans le répertoire Android/app/src/main/ou vous pouvez taper dans la console: mkdir Android/app/src/main/assets

Dans votre répertoire de projet, exécutez: 

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

Ensuite, vérifiez dans le dossier des actifs si les fichiers sont déjà là. Si non, puis essayez la deuxième façon:

1 react-native start // open npm window popup

2 curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"

Ensuite, vérifiez dans le dossier des actifs si les fichiers sont déjà là. Si non, vous devez ensuite rétrograder votre projet avec les versions antérieures des packages . Suivez ces 5 étapes et devez compléter une par une:

1 npm remove --save react-native
2 npm i --save [email protected]
3 npm remove babel-preset-react-native
4 npm i --save [email protected]

5 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 vous avez déjà les fichiers dans le dossier des ressources, vous pouvez continuer votre projet.

Vérifiez si votre appareil est connecté et prêt, et lancez Android:

adb devices

Assurez-vous d'obtenir un résultat comme celui-ci:

List of devices attached
cb8eca15        device

Puis lancez: 

react-native run-Android

Remarque: vous pouvez également créer à nouveau un nouveau projet avec une version spécifiée:

react-native init NomProjet --Version 0.55.4

1
Sulung Nugroho