Comment résoudre l'erreur unable to load script from assets index.android.bundle dans React Native ?
Le problème se produit lors d'un développement d'application Android. Sa résolution passe par l'utilisation d'une invite de commande ou d'un terminal. Voici pas à pas la procédure à suivre.
L'erreur unable to load script from assets index.android.bundle est due au fait que le fichier "index.android.bundle" est incomplet dans le cadre d'un développement d'application Android. Pour résoudre ce problème sous Linux, vous devez dans un premier temps utiliser une invite de commande ou un terminal. Rendez-vous dans le répertoire du projet pour créer le sous-dossier "assets". La commande à exécuter est la suivante :
mkdir android/app/src/main/assets
Une fois le dossier créé, vous pouvez lancer la commande qui va copier les informations contenues dans votre fichier d'index pour les ajouter dans le nouveau fichier "index.android.bundle".
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 utilisez une version de React plus récente, le point d'entrée des applications se nomme "App.js" au lieu de "index.js". Il suffit alors plutôt d'utiliser la commande en remplaçant la mention "index" par "App". Le fichier créé se nommera "App.android.bundle".
react-native bundle --platform android --dev false --entry-file App.js --bundle-output android/app/src/main/assets/App.android.bundle --assets-dest android/app/src/main/res
Il ne reste plus qu'à relancer l'application avec la commande "react-native run-android".
Pour éviter de reproduire la même manipulation à chaque fois que l'on veut lancer l'application, on peut automatiser la procédure. Rendez-vous dans le fichier "package.json" et ajoutez la ligne suivante dans la partie "scripts" du fichier : "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"
N'oubliez pas de remplacer "index" par "App" selon votre version de React installée. Pour lancer votre application, vous n'aurez plus qu'à utiliser la commande "npm run android-linux" et le script sera automatiquement utilisé.