176
votes

Impossible de charger le script Assurez-vous que vous exécutez un serveur Metro ou que votre bundle 'index.android.bundle' est correctement emballé pour la publication

react-native run-android termine en laissant un message dans le simulateur Android. Le message est le suivant:

Impossible de charger le script Assurez-vous que vous exécutez un serveur Metro ou que votre bundle 'index.android.bundle' est correctement emballé pour la publication.

Capture d'écran

Qu'est-ce que je fais mal?


8 commentaires

pouvez-vous essayer ce lien stackoverflow.com/questions/32572399/... ?


J'ai le même problème car mon appareil n'est pas connecté à Internet.


Cette erreur arrive: throw er; // Evénement "erreur" non géré


Je l'ai trouvé et je l'ai posé sur stackoverflow.com/a/58570426/6852210


@Belle Solution, avez-vous trouvé une solution?


Bon sang @HuoChhunleng J'ai failli virer mon ordinateur portable. Merci beaucoup pour le tuyau !!


Mybe cela vous aidera. medium.com/@adityasingh_32512/…


J'ai eu cette erreur avec AVD. Je viens d'ouvrir Android Studio> AVD Manager> Wipe Data. Cela a fonctionné pour moi.


41 Réponses :


111
votes

Vous n'avez pas encore démarré le bundler. Exécutez npm start ou react-native start dans le répertoire racine de votre projet avant react-native run-android .


14 commentaires

j'exécute d'abord react-native start mais lors de l'exécution de react-native run-android, il se termine après la construction réussie


Vous devez avoir une console à 2 nœuds exécutée simultanément. L'un démarre et exécute le bundler, l'autre exécute l'émulateur.


Pour moi, cette erreur apparaît même si le bundler est démarré.


Assurez-vous que le port 8081 n'est pas bloqué. Assurez-vous également d'utiliser un terminal pour démarrer le bundler, attendez qu'il ait fini de charger le graphique de dépendances, puis exécutez react-native run-android sur un autre terminal.


@Nerdragen devrais-je attendre le chargement du graphe de dépendances en fait ** le chargement du graphe de dépendances est terminé. ** comme message sur cmd


@ Arbaz.in oui, vous devez d'abord attendre que le graphe de dépendances termine le chargement


J'ai eu le chargement de la dépendance fait message ce que nous la signification de ce message


Cela signifie que le conditionneur a fini de charger le graphique de dépendances et que vous pouvez démarrer l'émulateur


J'ai commencé l'émulateur le j'écris réagit-native run-android cette commande .après ce serveur de commande commence avec le port 8081


React-native start comman entraîne le chargement du graphe de dépendance ... fait et ne dit pas terminé ou quoi que ce soit


Lorsque le graphe de dépendance a fini de se charger, c'est tout ce qu'il dira. Gardez cette console ouverte et démarrez le débogueur


Sous Windows, il fonctionne tout seul, mais pas sous Linux, merci! Travaillez parfaitement!


@Nerdragen Comment puis-je vérifier si le port 8081 est bloqué ou non.


J'ai essayé d'exécuter mon code à partir de VS Code et j'ai eu la même erreur. Jusqu'à ce que j'utilise npm start et react-native run-android, merci



25
votes

Un problème similaire s'est produit avec moi.
Apparemment, Mcafee bloque le port 8081. Il m'a fallu des heures pour comprendre cela.

Essayez de courir:

react-native run-android --port=1234

Lorsque l'application apparaît avec une erreur sur l'émulateur, accédez aux paramètres de développement ( Ctrl + M ).

Remplacez «hôte de débogage et port du périphérique» par «localhost: 1234».

Fermez l'application et démarrez-la à partir du tiroir d'applications.


6 commentaires

merci pour un indice, j'ai dû ouvrir le port 8081 dans mon pare-feu et cela a commencé à fonctionner


Big upvote pour cela. Si vous avez Mcafee, j'essaierais ceci, cela a fonctionné pour moi.


Merci, j'ai enregistré mon projet


Je suis coincé ici depuis deux jours, je n'aurais jamais pensé que c'était un port bloqué! Merci beaucoup!


J'ai essayé de frapper le localhost: 8081 dans le navigateur mais pas de chance. Peu de recherches et découvert que macafee a bloqué ce port. Suivez votre chemin. Commencé à fonctionner parfaitement bien.


J'ai flâné sur la partie mcaffee, mais cela a aussi fonctionné pour moi. Vraiment apprécié. :)



1
votes

IMPORTANT - Vous pouvez avoir de nombreux périphériques virtuels dans votre environnement. Assurez-vous que si vous changez AVD, vous répétez le réglage.

INFORMATIONS DE DÉBOGAGE-

Si vous rencontrez une erreur ci-dessus, vous devez d'abord vérifier ce qui fonctionne sur le port 8081

Le moyen le plus rapide de trouver cela utilise la commande suivante dans le terminal

react-native run-android --port=9001

si cela vous montre quelque chose, cela signifie que le port est bloqué. si possible obtenir ce port débloqué.

Sinon, vous devrez changer le port. Le processus pour le faire a déjà été mentionné dans le commentaire ci-dessus par Naveen Kumar

netstat -aon | findstr 8081

Assurez-vous que 9001 n'est pas utilisé non plus :)


0 commentaires

-1
votes

Essayez ce qui suit.

  1. Supprimer les dossiers Android et IOS
  2. exécuter l'éjection native de réaction
  3. exécuter react-native run-android

Peut-être qu'après les étapes précédentes, vous avez des exécutions npm start - --reset-cache

Je travaille, j'espère que cela vous aide.


0 commentaires

4
votes

Ma solution à cela est la suivante:

Démarrer le serveur Metro

$ react-native start

Démarrez Android

$ react-native run-android

Si vous voyez des erreurs indiquant «port 8081 déjà utilisé», vous pouvez arrêter ce processus et le réexécuter

$ react-native start

Voir la page de dépannage de React Native .


0 commentaires

1
votes

Par défaut, un petit serveur JavaScript appelé "Metro Server" s'exécute sur le port 8081.

Vous devez rendre ce port disponible pour que ce serveur démarre. Donc,

  1. libérer le port
  2. fermez votre appareil virtuel
  3. "React-native run-android" à nouveau.

Comment libérer le port?

http://tenbull.blogspot.com/2019/05/how-to-kill-process-currently-using.html

Comment tuer le processus utilisant actuellement un port sur localhost dans Windows?

et surtout, j'ai mis à jour ma version de nœud de 8.x à 10.x (dernière), comme suggéré par facebook @ https://facebook.github.io/react-native/docs/getting-started


0 commentaires

3
votes

Je veux juste ajouter une possibilité non évidente qui n'est pas couverte ici. J'utilise @ react-native-community / netinfo pour détecter les modifications du réseau, principalement l'état du réseau. Pour tester l'état du réseau hors tension, le commutateur WIFI (sur l'émulateur) doit être désactivé. Cela coupe également efficacement le pont entre l'émulateur et l'environnement de débogage. Je n'avais pas réactivé le WIFI après mes tests car j'étais loin de l'ordinateur et je l'ai rapidement oublié à mon retour.

Il est possible que cela soit également le cas pour quelqu'un d'autre et que cela mérite d'être vérifié avant de prendre d'autres mesures drastiques.


0 commentaires

72
votes

Ces étapes m'aident vraiment:

Étape 1: Créez un répertoire dans android / app / src / main / assets

Commande Linux : mkdir android/app/src/main/assets

Étape 2: Renommez index.android.js (dans le répertoire racine) en index.js ( il existe peut-être un fichier index.js auquel cas vous n'avez pas besoin de le renommer ), puis 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

Étape 3: Créez votre APK: react-native run-android

Veuillez utiliser index.js dans la dernière version.

Prendre plaisir :)


9 commentaires

Quel est l'emplacement de ce fichier dans react native project index.android.j


@ Arbaz.in dans le répertoire racine.


@ Arbaz.in Il y a peut-être un fichier index.js dans le répertoire racine auquel cas vous n'avez pas besoin de le renommer


@Saeed oui l'a trouvé


@Saeed Steps pour Windows?


Pour tous (Mac, Linux, Windows)


Cela ne peut exécuter l'application que pour le moment, mais comment cela permettra-t-il le débogage et le chargement à chaud? ce n'est pas la solution parfaite pour y parvenir.


@buddhiv Alors quelle est la solution parfaite?


Cela a bien fonctionné pour moi. Mais je ne pouvais pas comprendre ce qui s'était passé. Cette erreur a commencé à se produire simplement parce que.



14
votes

si tout est correctement configuré, essayez ceci:

adb inverse tcp: 8081 tcp: 8081

Pourquoi? "Lorsque RN Packager est en cours d'exécution, un serveur Web actif est accessible dans votre navigateur à l'adresse 127.0.0.1:8081. C'est à partir de ce serveur que le bundle JS de votre application est servi et actualisé au fur et à mesure que vous apportez des modifications. Sans le proxy inverse, votre téléphone ne pourra pas se connecter à cette adresse. "

tous les crédits à Swingline0


2 commentaires

Pourriez-vous s'il vous plaît ajouter à votre réponse pourquoi cela devrait fonctionner et ce que fait cette commande?


j'ai passé toute la journée à essayer de basculer entre les bibliothèques et c'était mon problème



41
votes

Pour moi, cette erreur a été causée par une mise à niveau de react-native

À partir d'Android 9.0 (niveau d'API 28), la prise en charge du texte clair est désactivée par défaut.

Si vous consultez le diff de mise à niveau, vous devez créer un manifeste de débogage android/app/src/debug/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>

Voir pour plus d'informations: https://stackoverflow.com/a/50834600/1713216

https://react-native-community.github.io/upgrade-helper/


4 commentaires

A travaillé pour moi sur RN 0.61.3.


Malheureusement, cela n'a pas fonctionné pour moi. J'avais déjà cela et j'obtiens toujours la même erreur, même si Metro Bundler est en cours d'exécution.


J'ai trouvé que j'ai parfois besoin de remplacements supplémentaires si j'ai défini un networkSecurityConfig, il semble que ces paramètres soient toujours à l'origine des problèmes pour moi. Vous pouvez essayer de supprimer n'importe quelle configuration de sécurité et spécifier android:usesCleartextTraffic="true" dans le AndroidManifest.xml principal AndroidManifest.xml voir si cela fonctionne?


J'ai tous ces paramètres, y compris Android: usesCleartextTraffic = "true", mais je ne peux toujours pas exécuter l'application sur un appareil réel.



3
votes

J'avais le même problème, le problème pour moi était que adb n'était pas dans le bon chemin d'environnement, l'erreur vous indique le port de métro, pendant que vous êtes dans l'adb, les ports sont tués et redémarrés.

Ajouter une variable d'environnement (ADB)

  1. Variables d'environnement ouvertes
  2. Sélectionnez dans la deuxième variable PATH de cadre et cliquez sur l'option d'édition ci-dessous
  3. Cliquez sur ajouter une option
  4. Soumettez le chemin des outils de la plate-forme SDK C: \ Users \ My User \ AppData \ Local \ Android \ Sdk \ platform-tools

Remarque : ou selon l'emplacement de adb.exe sur votre ordinateur

  1. Sauvegarder les modifications

Exécutez à nouveau Android Build

$ react-native run-android

Ou

$ react-native start

$ react-native run-android


0 commentaires

20
votes

Vous pouvez essayer ce qui suit:

Ajoutez cette ligne sur votre AndroidManifest.xml

<application
[...]
android:usesCleartextTraffic="true"
/>
[...]
</application>


0 commentaires

5
votes

Après des heures à chercher une réponse. La solution était de faire un nœud de rétrogradation vers la version 12.4.

Dans mon cas, je me rends compte que l'erreur se produit juste dans la version react native 0.60 avec la version 12.6 du nœud.


0 commentaires

2
votes

J'ai vécu cela simplement parce que mon Wifi a été désactivé par erreur sur mon émulateur, je l'ai rallumé et il a commencé à fonctionner correctement. J'espère que c'est utile à quelqu'un


0 commentaires

1
votes

Pour moi, ce problème a commencé avec la mise à niveau de react-native. La mise à niveau était nécessaire pour ajouter la prise en charge 64 bits.

android {
    ...
    defaultConfig {
        ...
        targetSdkVersion 28
        ...
    }
    ...
}

De plus, une modification importante que j'ai apportée à la mise à niveau était dans ../android/build/build.gradle

Before:
-------- 
Environment:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
Xcode: Not Found
Android Studio: 3.4 AI-183.6156.11.34.5692245

Packages: (wanted => installed)
react: 16.0.0-alpha.12 => 16.0.0-alpha.12
react-native: ~0.55.2 => 0.55.4
react-native-cli: 2.0.1

After:
------
info 
React Native Environment Info:
Binaries:
Node: 10.15.0
npm: 6.9.0
Watchman: 4.9.0
SDKs:
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-28 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: /undefined - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.6 => 16.9.0 
react-native: 0.59.9 => 0.59.9 
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native-cli: 2.0.1

J'ai dû changer la targetSdkVersion de 27 à 28 après l'avertissement lorsque j'ai essayé de télécharger la version (.apk) sur la console de jeu goole. Je n'avais pas réalisé que c'était pour moi la cause première de l'erreur ci-dessus. Les réponses immédiates de @tom et @tinmarfrutos avaient un sens absolu.

J'ai résolu le problème en ajoutant android: usesCleartextTraffic = "true" à mon android / app / src / debug / AndroidManifest.xml


0 commentaires

0
votes

Si vous utilisez un système d'exploitation Linux, il se peut que votre serveur distant npm ne fonctionne pas. Ouvrez un autre terminal (avec le répertoire du projet) et exécutez cette commande sudo npm start ou sudo react-native start avant de faire sudo react-native run-android


0 commentaires

1
votes

Dans mon cas, j'ai défini un proxy dans mon émulateur. Cela revient à la normale après avoir supprimé ce proxy.


0 commentaires

1
votes

Le message d'erreur sur l'émulateur est un peu trompeur. Dans mon cas, j'ai utilisé un Macbook. J'avais besoin de modifier les autorisations sur android / gradlew en exécutant $ chmod 755 ./gradlew , puis l'application pouvait être créée et déployée sur l'émulateur Android.


0 commentaires

4
votes

Si vous êtes sous Linux, ouvrez le terminal à partir du répertoire racine de l'application et exécutez

react-native run-android

puis ouvrez une autre fenêtre de terminal et exécutez:

npm start


0 commentaires

0
votes

Dans certains cas, vous voudrez peut-être fermer le port du bundler natif React et réexécuter l'application avec le même processus

1.sudo kill -9 $(sudo lsof -t -i:9001)

2.npm start inside the project

3. react-native run-android


0 commentaires

0
votes

Ce qui a fonctionné pour moi était:

  1. fermer toutes les consoles
  2. ouvrir une nouvelle console
  3. $ adb devices
  4. assurez-vous que vous n'avez qu'un seul appareil connecté
  5. $ react-native run-android

0 commentaires

2
votes

la possibilité de cette erreur est également le mauvais chemin, vérifiez une fois

 export ANDROID_HOME=/Users/microrentindia/Library/Android/sdk/
 export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools


1 commentaires

Jamais pensé à ça. Mais c'était la réponse pour moi.



2
votes

La solution qui a fonctionné pour moi est la suivante:

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
]; 

Mon exemple de code


0 commentaires

18
votes

ajoutez simplement trois éclaboussures dans: node_modules \ metro-config \ src \ defaults \ blacklist.js

remplacez cette pièce:

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];


0 commentaires

3
votes

J'ai également été confronté à ce problème. J'ai résolu cette étape suivante.

Vérifiez le chemin du sdk android dans Environment Veritable.

Ajoutez ANDROID_HOME = C:\Users\user_name\AppData\Local\Android\Sdk dans la variable système
et C:\Users\user_name\AppData\Local\Android\Sdk\platform-tools chemin dans la variable système

remplacer sharedBlacklist comme ci-dessous le segment de code,

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

dans node_modules / metro-config / src / default / blacklist.js

Ensuite, exécutez npx react-native run-android --port 9001

Bon codage ..!


0 commentaires

10
votes

[Réponse rapide]

Après avoir essayé de résoudre ce problème dans mon espace de travail, j'ai trouvé une solution.

Cette erreur est due au fait qu'il y a un problème avec Metro en utilisant certaines combinaisons de version NPM et Node.

Vous avez 2 alternatives:

  • Alternative 1: essayez de mettre à jour ou de rétrograder la version de npm et du nœud.
  • Alternative 2: Accédez à ce fichier: \node_modules\metro-config\src\defaults\blacklist.js et modifiez ce code:

    var sharedBlacklist = [
      /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
      /website\/node_modules\/.*/,
      /heapCapture\/bundle\.js/,
      /.*\/__tests__\/.*/
    ];
    

    et changez en ceci:

    var sharedBlacklist = [
      /node_modules[/\\]react[/\\]dist[/\\].*/,
      /website\/node_modules\/.*/,
      /heapCapture\/bundle\.js/,
      /.*\/__tests__\/.*/
    ];
    

    Veuillez noter que si vous exécutez une npm install ou une yarn install vous devez à nouveau modifier le code.


0 commentaires

6
votes

À partir d'Android 9.0 (niveau d'API 28), la prise en charge du texte clair est désactivée par défaut.

C'est ce que vous devez faire pour vous débarrasser de ce problème si vous exécutez correctement les commandes normales

  1. npm installer
  2. démarrage natif de réaction
  3. réaction native run-android

Et modifiez votre fichier manifeste Android comme ceci.

<application
    android:name=".MainApplication"
    android:icon="@mipmap/ic_launcher"
    android:usesCleartextTraffic="true" // add this line with TRUE Value.
android:theme="@style/AppTheme">


0 commentaires

16
votes

Effectuez d'abord les étapes 4 et 5, puis vous pouvez exécuter votre projet. Si vous n'obtenez pas le résultat (avec les étapes 4 et 5), procédez comme suit

1- Essayez de rétrograder la version de votre Node (la version actuelle est 12.13.1 )

error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.

2- Ajoutez le chemin du module npm ( C:\Users\your user name\AppData\Roaming\npm ) aux variables système au lieu des variables utilisateur

3- Installez react native globalement en utilisant la commande

   react-native run-android 

4- Allez à la racine de votre répertoire de projet et exécutez la commande suivante:

  react-native start

5- Ouvrez un autre terminal à la racine de votre projet et exécutez la commande suivante:

  npm install -g react-native-cli

ÉDITER :

Vous utilisez Genymotion? Si oui, procédez comme suit:

Après l'étape ci-dessus si vous obtenez l'erreur suivante?

  choco uninstall nodejs
  choco install nodejs --version 12.8

Ouvrez votre genymotion et accédez à:

menu genymotion -> Paramètres -> ADB -> Sélectionnez ensuite utiliser les outils sdk android personnalisés (cliquez sur parcourir pour trouver l'emplacement du sdk)

Enfin, exécutez à nouveau votre projet.


3 commentaires

12.9 a également fonctionné pour moi, merci, j'avais mis à niveau vers la version 12.13.x et j'ai commencé à avoir le problème ci-dessus.


Contexte de cette réponse: github.com/facebook/react-native/issues/26598


Cela a fonctionné pour moi, mais j'ai ensuite reçu le development server returned response error code: 500 ... Metro has encountered an error: EACCESS: permission denied /tmp/metro-cache/33/.... Un chmod +777 /tmp -R rapide chmod +777 /tmp -R sur mon ordinateur local a résolu le problème. Attention: jamais +777 :-D



9
votes

Cela a fonctionné pour moi après avoir essayé plusieurs façons.

Dans le fichier node_modules\metro-config\src\defaults\blacklist.js

Remplacer:

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

avec :

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

J'espère que cela t'aides.


3 commentaires

A travaillé comme un charme, merci


A travaillé pour moi aussi. Mais pourquoi ai-je dû le corriger? Qu'est ce qui ne s'est pas bien passé?


À première vue, metro-config utilisé \ pour les chemins au lieu de /, que cette réponse suggère de modifier. Ne fais pas ça . La modification des packages npm signifie que toute votre équipe doit le faire sur sa machine, en CI, en préparation, en production et à chaque fois que metro-config publie une mise à jour. Une meilleure approche consiste à fourcher metro-config sur GitHub, à valider un correctif, à pousser et à soumettre un PR pour le corriger pour tout le monde.



2
votes

mettre à jour cette pièce dans la liste noire du métro

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];


0 commentaires

0
votes

vous pouvez également rétrograder le nœud js à la version inférieure à 12 et supprimer nodemodule, puis exécuter à nouveau npm install


0 commentaires

0
votes

J'ai fait: React-native start et npx react-native run-android.

Cependant, pour Min19, (basé sur Ubuntu), j'avais le même problème jusqu'à ce que je lance:

echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

De: https://reactnative.dev/docs/troubleshooting#content

Au moins, j'ai lancé l'application sur mon téléphone portable.


0 commentaires

1
votes

Essayez ces étapes si vous avez essayé tout ce qui est mentionné dans les solutions ci-dessus:

  1. Créer un fichier dans android / app / src / main / assets
  2. Exécutez la commande suivante:

bundle react-native --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

  1. Maintenant, exécutez votre commande pour construire par exemple react-native run-android

1 commentaires

Wow, cela m'a aidé partiellement. Je préparais mon application pour google play market, tout ce que j'ai fait, c'est ajouter de nouvelles icônes d'actifs pour Android et changer le versin cible en 28. J'ai dû revenir à la version v27 et tout recommencer à travailler ... Je ne sais pas pourquoi réagir sans travailler avec sdk v28.



0
votes

J'ai eu le même problème, après avoir suivi les étapes suivantes, le problème a été résolu

  1. Montres de watchman watch-del-all claires: watchman watch-del-all .
  2. Supprimez le dossier node_modules: rm -rf node_modules && npm install .
  3. Réinitialiser le cache de Metro Bundler: rm -rf /tmp/metro-bundler-cache-*
  4. Supprimer le cache de hâte: rm -rf /tmp/haste-map-react-native-packager-*

0 commentaires

0
votes

Je suis sûr que c'est une combinaison des autres choses mentionnées ici, comme autoriser le texte clair, que j'ai activé pour localhost. Mais c'était la dernière pièce du puzzle.

project.ext.react = [
    entryFile: "index.js",

    // ADD THESE THREE

    bundleAssetName: "index.android.bundle",
    bundleInDebug: true,
    bundleInRelease: true
]

RN: 0,61,3


0 commentaires

4
votes

J'ai rencontré le même problème en suivant le tutoriel React Native (développement sous Linux et ciblage Android).

Ce problème m'a aidé à résoudre le problème dans les étapes suivantes. Exécutez les commandes suivantes dans la séquence ci-dessous:

  1. (dans le répertoire du projet) mkdir android/app/src/main/assets
  2. 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
  3. react-native run-android

Vous pouvez automatiser les étapes ci-dessus en les plaçant dans des scripts faisant 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"

Ensuite, vous pouvez simplement exécuter npm run android-linux partir de votre ligne de commande à chaque fois.


0 commentaires

3
votes

Apparemment, aucune des réponses n'a résolu le problème pour moi. J'ai pu exécuter l'application native react sur l'émulateur, mais le même code (même lorsque le serveur était en cours d'exécution) m'a donné cette erreur lors de l'exécution de l'application sur l'appareil.

J'ai pu le résoudre en exécutant la commande suivante dans le terminal:

adb reverse tcp:8081 tcp:8081


0 commentaires

0
votes

J'ai eu le même problème. Mais cette méthode l'a résolu. Accédez au dossier android en utilisant cd android puis gradlew clean ou ./gradlew clean selon ce qui fonctionne pour votre système d'exploitation.


0 commentaires

0
votes

J'ai rencontré un problème similaire. npx react-native init crée un fichier .gitignore qui ignore le dossier <project>/android/app/src/debug . Si vous avez cloné ultérieurement ce projet, ce dossier sera manquant. La solution est simple. À l'avenir, ajoutez cette ligne au bas du fichier .gitignore.

!android/app/src/debug

Pour votre projet actuel, demandez au créateur du projet de valider ce dossier. J'ai rencontré cette erreur avec la version 0.63 native de react


0 commentaires

0
votes

Comme la plupart d'entre nous, je suppose que vous utilisez VSCODE. Dans mon cas, j'ai couru

démarrage natif de réaction npx

depuis un terminal séparé

Maintenant, exécutez npx react-native run-android à partir de votre terminal dans VSCODE


0 commentaires

0
votes

Voici comment j'ai résolu ce problème sans toucher à la construction:

1- Fermé le périphérique virtuel

2- Testé sur un périphérique physique - (cela fonctionne)

3- Création d'un nouvel appareil virtuel avec l'API 30 Android 10+

4- Essayez à nouveau sur le périphérique virtuel nouvellement créé, et tout fonctionne comme un charme.


0 commentaires