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