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 des ressources index.Android.bundle
Commandes que j'ai utilisées:
cd (project directory)
react-native start
react-native run-Android
J'ai rencontré le même problème en suivant le React Native tutorial (développement sous Linux et ciblant Android).
Ce problème m'a aidé à résoudre le problème en procédant comme suit.
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 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
Cela a fonctionné pour moi ...
Utilisation de npm version 4.3.0 version de rea-native-cli version 2.01 version de rea-native 0.49.5
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 ceci réponse par Niltoid
pour les utilisateurs de Mac: ouvrez vos préférences de réseau, vous obtiendrez ici votre IP locale.
J'ai passé des heures à essayer de résoudre ce problème. Mon problème n'était pas spécifique à Windows mais à Android.
L'accès au serveur de développement a fonctionné localement et dans le navigateur de l'émulateur. La seule chose qui n'a pas fonctionné a été d'accéder au serveur de développement dans l'application.
À partir d'Android 9.0 (API niveau 28), la prise en charge de cleartext est désactivée par défaut.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission Android:name="Android.permission.INTERNET" />
<application
...
Android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
Voir pour plus d'informations: https://stackoverflow.com/a/50834600/1713216
Si vous utilisez Windows, exécutez les commandes de la manière suivante ou obtenez le message d'erreur "Impossible de trouver le fichier d'entrée index.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 résoudre ce problème. Ce problème se produit sur real device car le bundle JS se trouve sur votre système de développement et que l'application à l'intérieur 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 réussi à obtenir fonctionne.
Depuis Emulator cellular data was turned off
, je recevais 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 paquet a pu regrouper index.Android.js
. J'espère que cela aidera pour quelqu'un qui est en phase de développement.
J'ai le même problème depuis plusieurs mois maintenant. J'ai initialement utilisé la solution de @ Jerry, mais il s'agissait d'une fausse résolution car elle ne résolvait pas complètement le problème. Au lieu de cela, il a pris chaque version de production en tant que version de production, ce qui signifie que toute modification mineure apportée à l'application signifierait que la reconstruction de l'ensemble de l'application 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 vous prévaloir des incroyables outils de développement de React Native, tels que le rechargement à chaud, etc.
Une solution appropriée est une illustration:
Dans votre fichier MainApplication.Java
, remplacez le texte suivant:
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
avec
@Override
public boolean getUseDeveloperSupport() {
return true;
}
comme pour une raison quelconque, BuildConfig.DEBUG
renvoyait toujours la valeur false et aboutissait à un fichier de regroupement dans le répertoire assets.
En définissant manuellement la valeur sur true, vous forcez l'application à utiliser le conditionneur. Cela ne fonctionnera pas en production, alors assurez-vous de le remplacer par false ou par 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é les deux méthodes ci-dessus
(car j’ai installé le SDK pas dans DEFAULT LOCATION comme C:\users\"nom_utilisateur"\appdata\local\sdk)
Si vous avez remarqué cette ligne de commande annoncée: "'adb' n'est pas reconnu comme une commande interne ou externe ..."
Alors voici comment je me débrouille:
Exemples: J'ai installé le SDK dans D:\Android\sdk
Je vais donc 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, consultez la rubrique: https://Android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for- adb-server-to-start-from-cmd/38324 )
Puis je lance à nouveau cmd: react-native run-Android
Cela a fonctionné pour moi.
Pour ce problème, je viens de le résoudre 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 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.
Assurez-vous que le générateur de métro est en cours d'exécution pour rendre votre périphérique physique et le serveur sync
Tout d'abord, lancez cette commande pour lancer le constructeur de métro
npm start
Ensuite, vous pouvez commencer la construction de réagir natif
réagit natif sous Android
Leur devrait être pas d'erreur cette fois. Si vous voulez que votre code soit réactualisé en temps réel. Secouez votre appareil, puis appuyez sur Activer Live Reload
Cela peut être dû à des actifs non liés dans votre base de code de projet React Native, comme lorsque vous renommez votre ID d'application/bundle de projet ou ajoutez un package 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
Dans mon cas, j'ai supprimé la ligne ci-dessous de MainApplication.Java. (Ce qui a été ajouté par erreur auparavant par moi.) : -
import com.facebook.react.BuildConfig;
Après ce projet propre et appuyez sur la commande
réagit natif sous Android
Ubuntu
la première fois, j'ai créé une nouvelle application avec react-native init project-name
. J'ai la même erreur . Je fais donc les étapes suivantes pour résoudre ce problème dans mon cas.
Sudo chown user-name-of-pc /dev/kvm
dans mon cas.Pendant le débogage à partir de votre téléphone Android, sélectionnez Use USB to Transfer photos (PTP)
.
Créer un dossier assets
dans nom-projet/Android/app/src/main
index.js
soit disponible dans votre répertoire de projet root
puis exécutez la commande ci-dessous à partir de 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 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écutez la commande ./studio.sh
dans le répertoire Android-studio/bin
. Il ouvre Android Studio.
exécutez la commande react-native run-Android
.
Assurez-vous que vous avez ajouté/path/à/sdk/platform-tools à votre variable de chemin.
Lorsque vous exécutez réact-native run-Android, il exécute la commande adb reverse tcp: <périphérique-port> tcp: <local-port> pour transférer la demande de votre appareil au serveur local de votre ordinateur voir 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 }
Je faisais également face à ce problème car, lorsque je lance des projets sur l’émulateur, il fonctionne correctement, mais sur un périphérique réel, il donne cette erreur. Le problème est résolu par la solution suivante.
1ère étape: Tout d’abord, ouvrez cmd et accédez au dossier Platform-tools de votre gestionnaire sdk I.e. cd C: Développement\Android\Sdk\Platform-tools
2ème étape: lancez cette commande: adb devices
après cette commande, vérifiez votre périphérique répertorié dans la commande propmt
3ème étape: exécutez maintenant ceci adb reverse tcp: 8081 tcp: 8081
Maintenant, votre configuration est terminée
4ème étape: Allez dans le répertoire de votre projet et lancez cette commande
react-native run-Android
J'ai eu le même problème, même lorsque je courais sur un simulateur. J'ai fait une solution rapide afin que je puisse avoir le flux de travail normal 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";
}
};
Vous devrez probablement annuler le changement lorsque vous essayez de créer une version de production.
Ceci est un message d'erreur général que vous avez peut-être rencontré lors du développement de l'application native. Donc, dans ce tutoriel, nous allons fournir une solution à ce problème.
Description du problème : Impossible de charger le script depuis les ressources index.Android.bundle sous Windows Impossible de charger le script depuis les ressources index.Android.bundle sous Windows
Suivez les étapes ci-dessous pour résoudre le problème ci-dessus:
Étape 1: créez le dossier "assets" dans votre répertoire de projet Créez maintenant le dossier assets dans le répertoire de projet "MobileApp\Android\app\src\main". Vous pouvez créer manuellement un dossier d’actifs:
<OR>
vous pouvez créer un dossier en utilisant également commande . Commande: mkdir Android/app/src/main/assets
Étape 2: Exécution de votre application native React Permet d’exécuter la commande ci-dessous afin d’exécuter l’application native de réaction dans un émulateur ou un périphérique physique.
Basculer vers le répertoire de projet . Cd MobileApp
Exécutez la commande ci-dessous qui vous permet de regrouper votre projet d’application Android.
bundle réactif natif --platform Android --dev false --le fichier_index.js --bundle-output Android/application/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res
Exécutez l'étape finale pour exécuter l'application native react dans un émulateur ou un périphérique physique . React-native run-Android
<OR>
Vous pouvez également combiner les deux dernières commandes en une seule. Dans ce cas, vous ne devez exécuter la commande qu’une seule fois.
bundle réactif natif --platform Android --dev false --le fichier_index.js --bundle-output Android/application/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res && react-native run-Android
<OR>
Vous pouvez automatiser les étapes ci-dessus en les plaçant dans les scripts de package.json comme ceci:
"Android-android": "bundle react-native --platform Android --dev false --entry-file index.js --bundle-output Android/application/src/main/assets/index.Android.bundle --assets -dest Android/app/src/main/res && réag-native run-Android "
Si tout est configuré correctement, votre nouvelle application devrait bientôt s'exécuter dans votre émulateur Android.
J'avais un problème avec McAfee sur le port de blocage Mac 8081, je devais le changer en 8082.
Tout d'abord, lancez votre serveur de paquets:
react-native start --port 8082
Ouvrez un autre terminal, démarrez l'application Android comme d'habitude:
react-native run-Android
Une fois terminé, réécrivez maintenant le port TCP des tunnels 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
Accédez à votre application et rechargez, c'est fini!
PS: Ne changez rien dans les paramètres de l'application, si vous avez ajouté "localhost: 8082", supprimez-le, laissez le champ vide.
EDIT: Pour toutes les victimes de McAfee, il existe une solution plus simple si vous avez un accès root, tuez temporairement le processus McAfee sur le port 8081 et ne nécessitez aucun changement de port:
Sudo launchctl remove com.McAfee.agent.macmn
Je pense que vous n'avez pas installé yarn. Essayez de l'installer avec Chocolatey ou quelque chose du genre. Il doit être installé avant la création de votre projet (commande réact-native 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 react-native, ils l'ont corrigé. Si vous voulez vous libérer complètement de ce noeud, désinstallez-le (pour une désinstallation complète supprimez complètement le noeud reportez-vous à ce lien) et réinstallez-le, réinstallez-le, puis créez votre nouveau projet.
1 Accédez au répertoire de votre projet et vérifiez si ce dossier existe Android/app/src/main/assets
index.Android.bundle
et index.Android.bundle.meta
2.Dans votre répertoire de projet racine, faites
cd Android && ./gradlew clean
3. Enfin, revenez au répertoire racine et vérifiez s’il existe un seul fichier d’entrée appelé index.js
S'il n'y a qu'un seul fichier, c'est-à-dire index.js, exécutez la commande suivante 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, exécutez le 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
react-native run-Android
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 le chargement de l'application échouera sans étapes supplémentaires. Notez que la fin de la trace indique toujours le succès:
BUILD SUCCESSFUL
Le problème est probablement lié à un conflit de ports (dans mon cas, c’était le site par défaut IIS que j’avais complètement oublié). Une autre manifestation du problème serait un échec lors de l'ouverture de l'URL http://localhost:8081/debugger-ui
dans Chrome.
Une fois le conflit de port résolu, la trace sera signalée.
Starting JS server...
alors une fenêtre de nœud supplémentaire s'ouvrira (node ...cli.js start
) et l'application se chargera/rechargera avec succès.
Après cela, vous devriez pouvoir ouvrir la console de débogage dans Chrome avec http://localhost:8081/debugger-ui
.
Suivez ceci, a travaillé pour moi.
https://github.com/react-community/lottie-react-native/issues/269
Allez dans le répertoire de votre projet et vérifiez si ce dossier existe sous Android/app/src/main/assets I. S'il existe, supprimez deux fichiers, à savoir index.Android.bundle et index.Android.bundle.meta Ii ) Si les actifs de dossier n’existent pas, créez le répertoire des actifs à cet emplacement.
À partir du répertoire de votre projet racine docd Android && ./gradlew clean
Enfin, revenez au répertoire racine et vérifiez s’il existe un seul fichier d’entrée appelé index.js I. S'il n’ya qu’un seul fichier, c’est index.js, exécutez la commande suivante React-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/application/src/main/assets/index.Android.bundle --assets-dest Android/application/src/main/res
ii) S'il y a deux fichiers, à savoir index.Android.js et index.ios.js, exécutez le bundle rea-native --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, lancez react-native run-Android
quand je mets à jour natif de réaction à 0.49.5, ce problème apparaît et quand j'ai suivi cette Breaking changements et déprécations
c'est disparu.
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
Than Run the réag natif:
c:\ProjectFolder\ProjectName>react-native run-Android
n'oubliez pas d'activer Internet dans un émulateur, J'ai corrigé cette erreur, il fonctionne parfaitement: V Je reçois cette erreur parce que j'éteins Internet pour tester NetInfo: D
Pour tous ceux qui développent à partir d'une application create-react-native-native et éjectée, et dont le problème est dans development
, C'est ce qui a fonctionné pour moi.
(dans le répertoire du projet) mkdir Android/app/src/main/assets
voici la partie qui change parce que vous êtes en développement, débarrassez-vous de la partie --dev: false
:
bundle réactif natif --platform Android --entry-file 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 sous Android/app/pour vous assurer de démarrer en mode minimal pour créer votre application, ouvrez un nouveau terminal et
(dans le répertoire du projet) npm run Android
invite la console du conditionneur (dans un autre terminal) et la construit avec succès
Je viens de rencontrer exactement le même problème et de le résoudre. Donc, espérons être utile.
Supposons que vous assembliez un package release application (.apk)
Vérifiez si votre dossier de ressources existe ?:\Android\app\src\main\assets Sinon, créez-en un.
Après avoir exécuté "Assemble Release", vérifiez s’il n’ya rien dans ce dossier (\ Android\app\src\main\assets). Dans le cas contraire, recherchez le fichier js bundle ( index.Android.bundle ), qui plusieurs des chemins suivants:
* a)\Android\app\build\intermédiaires\fusions_assets\version\out\index.Android.bundle
b)\Android\app\build\intermédiaires\merged_assets\release\mergeReleaseAssets\out\index.Android.bundle
c)\Android\app\build\intermédiaires\actifs\version\index.Android.bundle
d)\Android\app\build\généré\actifs\réagir\version\index.Android.bundle *
Un meilleur moyen consiste à utiliser "Tout" pour rechercher le nom du fichier: index.Android.bundle.
Copiez ensuite ce fichier dans votre dossier de ressources (\ Android\app\src\main\assets\index.Android.bundle)
Retournez à Powershell ou à la console de commande, exécutez:
react-native run-Android - version = version
Ça devrait marcher.
Bonne chance!
J'ai rencontré ce problème non pas avec un périphérique réel, mais avec un émulateur. Je l'ai corrigé en exécutant 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éact-native run-Android dans le terminal.
Je pense que la première chose à faire avant toutes les autres solutions est:
1. Vérifiez si votre appareil est en ligne ou non?
2. Si vous exécutez l'application sur le périphérique réel, celui-ci doit être sur le même réseau que le serveur de développement.
Plus d'informations sur cette page.
Ce problème peut également être dû à 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 de l'index.Android.bundle 'des actifs" "
1). recherchez le dossier "assets" à l'adresse suivante: mkdir Android\app\src\main\assets
si le dossier n'est pas disponible, créez le dossier avec le nom "assets" manuellement. et exécutez 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 créera automatiquement le fichier "index.Android.bundle" dans le dossier des actifs et résoudra le problème.
3) réagit natif sous Android
je le résous par ce cmd:
echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p
Sous Windows
si vous êtes sûr que node.js est installé avec succès sur votre système, vérifiez les variables d'environnement du système et ajoutez C:\windows\system32 dans les variables système.
J'avais ce problème lorsque j'essayais de déboguer mon code (en utilisant Toggle Inspector dans mon téléphone Android et en réagissant au développement), j'ai suivi cette procédure simple:
Dans mon cas, j'avais oublié le Android Emulator
wifi car désactivé. Pour résoudre le problème, je viens de glisser la barre de notification pour développer le menu et activer la connexion Wifi
.
Après avoir activé la connexion Wifi
, le problème a été résolu dans mon cas.
Sélectionnez Paramètres du développeur -> sur le serveur de débogage. Hôte et port du périphérique -> Saisissez l'adresse IP Wifi de votre ordinateur (Mac OS: Sélectionnez Préférences Système -> Wifi pour obtenir l'adresse IP Wifi)
Application de reconstruction finale et exécution
Utilisez mkdir ... /assets && react-native bundle --platform..
NE POUVEZ PAS résoudre ce problème complètement,
Notez que vous devez exécuter cette commande pour régénérer les fichiers à chaque fois que le code est modifié et afficher à nouveau l'erreur après la Reload
ou le Debug JS Remotely
.
La cause fondamentale de ce problème est que votre application ne peut pas se connecter au serveur (pour une raison inconnue)
Voici ma solution:
Tout d’abord, démarrez le service dans un autre hôte et port comme:
react-native start --port 8082 --Host 0.0.0.0
Ensuite, ouvrez le menu de développement de l'application> Paramètre de développement> Hôte du serveur de débogage pour le périphérique.
youripv4address:8082
J'espère que cela t'aides
Chipping dans une suggestion évidente qui a fonctionné pour moi. Supprimez l'application, redémarrez le serveur et déployez à nouveau votre outillage sur votre appareil.
Si vous avez entré "Hôte et port du serveur de débogage pour le périphérique" dans les paramètres de développement, assurez-vous de supprimer ce que vous avez entré.