Impossible de charger script à partir de l'index des actifs.Android.bundle sur windows
j'essaie d'exécuter mon premier projet natif React pour la première fois sur mon appareil (Android 4.2.2).
Et j'obtiens:
impossible de charger script à partir de l'index des actifs.Android.paquet
commandes que j'ai utilisées:
-
cd (project directory)
-
react-native start
-
react-native run-android
30 réponses
j'ai rencontré le même problème tout en suivant le React Native tutorial (développement sur Linux et cibler Android).
Ce problème m'a aidé à résoudre le problème en suivant les étapes suivantes.
- (dans l'annuaire 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
vous pouvez automatiser les étapes ci-dessus en les plaçant dans scripts
partie 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"
alors vous pouvez simplement exécuter npm run android-linux
à partir de votre ligne de commande à chaque fois.
si vous exécutez votre application sur le périphérique physique et d'obtenir 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 marché pour moi...
utilisant la version npm 4.3.0 react-native-cli version 2.01 react-native version 0.49.5
dans l'annuaire 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ée sur cette réponse par Niltoid
- trouver votre adresse IP locale
- ouvrir l'application et secouer votre appareil Android
- paramètres de GO Dev et > Debug Server...
- Coller votre adresse IP et le port; X. X. X. X:8088" (où X sont votre IP locale)
pour Mac utilisateur: ouvrez votre préférence de réseau, ici vous obtiendrez votre IP locale.
si vous utilisez Windows, exécutez les commandes de la manière suivante, ou si vous avez une erreur" ne trouve pas l'index des fichiers d'entrée.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
vous pouvez suivre les instructions mentionnées sur la page officielle pour corriger cette question. Ce problème se produit sur real device parce que le paquet JS est situé sur votre système de développement et l'application à l'intérieur de votre real device n'est pas au courant de son emplacement.
a eu le même problème dans mac, Après avoir passé 2 jours, j'ai finalement pu obtenir est de travailler.
depuis Emulator cellular data was turned off
, j'ai reçu le unable to load script from assets index.android.bundle make sure your bundle is running
.
assurez-vous que votre Emulator cellular data is turned on
en faisant ce serveur de paquets était capable de regrouper index.android.js
. J'espère que ça aidera quelqu'un qui est en phase de développement.
système d'exploitation: Windows
une autre façon de résoudre ce problème après avoir essayé deux méthodes au-dessus de
(parce que J'ai installé SDK pas dans L'emplacement par défaut comme C:\users\ "user_name" \appdata\local\sdk )
si vous avez remarqué que la ligne de commande annonce:" 'adb' n'est pas reconnu comme une commande interne ou externe..."
donc c'est comme ça que je passe:
Exemples: J'Ai SDK installé D:\Android\sdk
Donc je vais insérer le chemin dans les Variables du système 2 plus de lignes:
D:\Android\sdk\tools
D:\Android\sdk\platform-tools
(si vous ne savez pas comment modifier les Variables du système de chemin, voici le sujet: https://android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for-adb-server-to-start-from-cmd/38324 )
puis j'exécute cmd à nouveau: react-native run-android
ça a marché pour moi.
j'ai ce même numéro depuis plusieurs mois maintenant. J'ai d'abord utilisé la solution de @Jerry's cependant, il s'agissait d'une fausse résolution car il n'a pas entièrement réglé le problème. Au lieu de cela, ce qu'il a fait était de prendre chaque construction comme une construction de production, ce qui signifie que tout changement léger que vous avez fait dans l'application signifierait que la reconstruction de l'application entière est nécessaire.
bien qu'il s'agisse d'une solution temporelle, elle fonctionne horriblement à long terme car vous n'êtes plus en mesure de profiter de la des outils de développement étonnants tels que le rechargement à chaud, etc.
une solution appropriée est indiquée:
dans votre fichier MainApplication.java
, remplacer le suivant:
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
avec
@Override
public boolean getUseDeveloperSupport() {
return true;
}
comme pour une raison quelconque BuildConfig.DEBUG
toujours retourné faux et a abouti à un fichier de faisceau dans le répertoire d'actifs.
en réglant manuellement ce paramètre à true, vous forcez l'application à utiliser le packager. Ce Ne fonctionnera pas dans la production alors assurez-vous de le changer en false ou la valeur par défaut.
N'oubliez pas de courir aussi
$ adb reverse tcp:8081 tcp:8081
assurez-vous que vous avez ajouté /chemin/vers/sdk/platform-tools à votre variable path.
lorsque vous exécutez react-native run-android, il exécute la commande adb reverse tcp:< device-port > tcp:< local-port > pour transmettre la requête de votre périphérique au serveur tournant localement sur votre ordinateur. Vous verrez quelque chose comme ceci si la banque 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 lorsque je fonctionnais sur un simulateur. J'ai fait une solution rapide pour avoir le flux de travail normal de dev.
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";
}
};
devra probablement revenir sur le changement en essayant de faire une construction de production.
cela peut être causé par des actifs non liés dans votre base de code de projet natif React, comme lorsque vous renommez votre application/ID de faisceau de projet ou ajoute un paquet externe sans le lier correctement, par exemple.
essayez-le simplement dans le répertoire racine de votre projet:
react-native link
react-native run-android
pour IOS:
dans un terminal:
cd ios
supprimer le dossier de construction avec: rm -r build
Exécuter à nouveau: react-native run-ios
alternativement, vous pouvez ouvrir Finder, naviguer vers YOUR_PROJECT/ios et supprimer le construire dossier .
puis courir à nouveau: react-native run-ios
pour ANDROID:
dans un terminal:
cd android/app
supprimer le dossier de construction avec: rm -r build
Exécuter à nouveau: react-native run-android
alternativement, vous pouvez ouvrir Finder, naviguez jusqu'à VOTRE_PROJET/android/app et supprimer le construire dossier .
puis courir à nouveau: react-native run-android
Ubuntu
pour la première fois, j'ai créé une nouvelle application avec react-native init project-name
.
J'ai eu le même message d'erreur.
je prends donc les mesures suivantes pour résoudre ce problème dans mon cas.
- D'abord, lancez
sudo chown user-name-of-pc /dev/kvm
dans mon cas. -
lors du débogage de votre téléphone Android, sélectionnez
Use USB to Transfer photos (PTP)
. -
créer un dossier
assets
en nom du projet / android/app / src / main - assurez-vous que
index.js
soit disponible dans le répertoireroot
de votre projet, puis exécutez la commande ci-dessous à partir de la console aprèscd 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 les index.Android.js puis
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
-
exécution de la commande
./studio.sh
dansandroid-studio/bin
répertoire. Il ouvrira Android Studio. -
exécution de la commande
react-native run-android
.
Si lors de l'exécution de react-native run-android
le commandement de la deuxième ligne de la trace est
JS server not recognized, continuing with build...
cela signifie packager l'application ne peut pas être démarré et que l'application ne parvient pas à charger sans quelques étapes supplémentaires. Notez que la fin de la trace rapporte encore le succès:
BUILD SUCCESSFUL
le problème est probablement un conflit de ports (dans mon cas, c'est le site IIS par défaut que j'ai complètement oublié). Une autre manifestation du problème serait un échec pour ouvrir L'URL http://localhost:8081/debugger-ui
dans Chrome.
une fois que le conflit du port est résolu la trace signalera
Starting JS server...
puis une fenêtre de noeud supplémentaire s'ouvrira ( node ...cli.js start
) et l'application chargera/rechargera avec succès.
après cela, vous devriez pouvoir ouvrir la console de débogage en Chrome avec http://localhost:8081/debugger-ui
.
pour ce problème, je le résous en exécutant:
react-native start
puis
adb reverse tcp:8081 tcp:8081
en ligne de commande. Et puis je peux courir:
react-native run-android
donc je ne perdrai pas 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 des problèmes avec McAfee sur mon port de blocage mac 8081, j'ai dû le changer en 8082.
Lancez D'abord votre serveur de paquets:
react-native start --port 8082
ouvrir un autre terminal, démarrer l'application android comme d'habitude:
react-native run-android
une fois terminé, réécrivez maintenant le port tcp qui tunnel adb:
adb reverse tcp:8081 tcp:8082
voir la liste des tunnels tcp adb:
adb reverse --list
Vous devriez maintenant voir un message réconfortant:
(reverse) tcp:8081 tcp:8082
allez sur votre application et rechargez, terminé!
PS:ne rien changer dans les paramètres de L'appli Dev, si vous avez ajouté "localhost: 8082", il suffit de le supprimer, le laisser vide.
EDIT: Pour toutes les victimes de McAfee là-bas, il y a une solution plus facile si vous avez un accès root, juste tuer temporairement le processus McAfee Assis sur le port 8081 et pas besoin de changer de port du tout:
sudo launchctl remove com.mcafee.agent.macmn
je pense que vous n'avez pas fils installé essayer de l'installer avec chocolatey ou quelque chose. Il doit être installé avant la création de votre projet (réaction de-native commande init).
pas besoin de créer un répertoire d'actifs.
répondez si cela ne fonctionne pas.
Edit: Dans la version récente de réagir indigènes qu'ils ont fixé. Si vous voulez la liberté complète de cette juste désinstaller node (pour la désinstallation complète de node supprimer complètement node référez ce lien) et réinstaller node, react-native-cli puis créer votre nouveau projet.
j'étais également confronté à ce problème parce que lorsque je exécute des projets sur émulateur son fonctionnement amende, mais sur l'appareil réel il donne cette erreur.Je résous donc ce problème par la solution suivante
1ère étape:tout d'abord ouvrez cmd et allez dans votre dossier SDK Manager Platform-tools c'est-à-dire cd C:Development\Android\Sdk\Platform-tools
2e étape: exécutez maintenant cette commande : adb devices
après cette commande, vérifiez votre périphérique indiqué dans la commande propmt
3e étape: maintenant, Lancez ceci bad inverse tcp:8081 tcp:8081
maintenant votre installation est terminée
4ème étape: allez dans votre répertoire de projets et lancez cette commande
réagir indigènes de l'exécution android
quand je mets à jour react-native à 0.49.5, ce problème apparaît et quand j'ai suivi ce changements de rupture et dépréciations
il a disparu.
, je suis confronté à ce problème, beaucoup de recherche et j'ai résolu le 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 de Courir le réagir natif :
c:\ProjectFolder\ProjectName>react-native run-android
n'oubliez pas d'activer internet dans l'émulateur, Je resovled cette erreur, il travail parfait :V Je reçois cette erreur parce que j'éteins internet pour tester NetInfo: d
pour tous les gars qui se développent à partir d'une application create-react-native et éjecté, et avoir ce problème dans development
,
c'est ce qui a fonctionné pour moi
juste un petit détail de la réponse acceptée
(dans l'annuaire du projet) mkdir android/app/src/main/assets
voici la partie qui change cos vous êtes en développement se débarrasser de la --dev: false
:
réagir-native bundle --plate-forme android-entrée-fichier index.js --faisceau de sortie android/app/src/main/assets / index.Android.bundle --actifs-dest android/app/src/main / res
après que fermer tous les terminaux, effacer le dossier de construction d'android / app / pour s'assurer que vous commencez propre pour construire votre application, ouvrir un nouveau terminal, et
(dans l'annuaire du projet) npm run android
packager console (dans un autre terminal) et construire avec succès
1 Allez dans votre répertoire de projets et vérifiez si ce répertoire existe android/app/src/main/assets
- s'il existe, supprimer deux fichiers, à savoir
index.android.bundle
etindex.android.bundle.meta
- si le dossier assets n'existe pas, créez-y le répertoire assets.
2.De votre répertoire de projet root do
cd android && ./gradlew clean
3.Enfin, retournez dans le répertoire racine et vérifiez s'il y a un seul fichier d'entrée appelé index.js
-
S'il n'y a qu'un seul fichier, c'est-à-dire index.js exécute ensuite la commande
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
-
S'il y a deux fichiers I. e index.Android.JS et index.iOS.js ensuite exécuter ce
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
- Maintenant exécuter
react-native run-android
- Maintenant exécuter
ce problème peut aussi être causé par le fait que les données cellulaires du dispositif / émulateur sont désactivées. Assurez-vous de vérifier que.
pour cette erreur: "Impossible de charger script à partir de l'index des actifs.Android.paquet "
1). vérifier les "actifs" dossier : mkdir android\app\src\main\actifs
si le dossier n'est pas disponible ,créer un dossier avec le nom "actifs" manuellement. et exécutez la commande Curl dans le terminal.
2). Commande Curl: curl " http://localhost:8081/index.Android.bundle?plateforme = android " - o " android/app/src/main/assets/index.Android.paquet "
il va créer le" index.Android.bundle " fichier dans le dossier ACTIFS automatiquement et a résolu le problème.
3). réaction d'exécution natif android
déchiffrant une suggestion évidente qui a fonctionné pour moi. Supprimez l'application, redémarrez le serveur et déployez-vous de nouveau de votre outillage à l'appareil.
j'ai eu ce problème quand j'ai essayé de déboguer mon code , (en utilisant Toggle inspector dans mon téléphone android et react développement ), j'ai fait ce pas simple:
- ouvrir le menu dans le téléphone ( où recharger est, je peux l'ouvrir par une longue pression sur le bouton arrière ou en secouant le téléphone ) entrez la description de l'image ici
- appuyez sur Dev Paramètre
- Débogage -> Debug du Serveur hôte et le port de l'appareil doit être vide Note: si vous avez écrit un port ou quelque chose ici ( pour le débogage), vous devez l'effacer.
j'ai rencontré ce problème avec un périphérique réel, mais avec un émulateur. Je l'ai corrigé en lançant react-native start 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 réagir indigènes de l'exécution android dans le terminal.
je le résous par ce cmd:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p