web-dev-qa-db-fra.com

Impossible de trouver la variable: _d lors de l'exécution de l'application native native pour la première fois

Je viens de créer une application native utilisant react-native init demoone et de démarrer js server avec react-native start, puis d'essayer d'exécuter l'application avec react-native run-Android Mais l'erreur suivante apparaît dans l'émulateur lors de son installation.

impossible de trouver la variable: _d (http://10.0.2.2:8081/index.bundle?platform=Android&dev=true&minify=false:1)

 enter image description here

6
Chandra Kiran

J'ai rencontré le même problème, tout en essayant de configurer l’environnement réactif natif dans Win10 et en essayant d’exécuter Sample Project.

Après des heures passées à me cogner la tête et à parcourir le site, nous avons trouvé la solution dans ici !

Le problème est que, lorsque vous exécutez react-native run-Android à partir du dossier racine du projet, il démarre automatiquement une instance par défaut du serveur du conditionneur de nœuds-js sur le port 8081. Pour une raison quelconque, il ne laisse pas le rechargement à chaud/en cours/même manuel & renvoie la même erreur non descriptive.

La solution consiste à arrêter toutes les instances en cours d'exécution de l'application et à exécuter:

    yarn start
    // or
    npm start

à partir du dossier racine pour créer manuellement votre propre serveur d'assembleur. Préférez npm ou yarn par rapport à react-native start (Fonctionne pour moi)

Et ensuite exécuter 

    react-native run-Android

en utilisant une autre fenêtre cmd pour exécuter l’application sur l’émulateur.

L'idée est donc de créer un bundle séparé à chaque fois pour exécuter l'application.

Fonctionne comme un charme!

5
arjithn

Vous devez exécuter cette commande pour résoudre ce problème:

adb reverse tcp:8081 tcp:8081

Ceci configure un proxy inverse entre votre émulateur/périphérique et votre port 8081. Assurez-vous simplement que votre émulateur et votre bundler natif (react-native start) sont en cours d'exécution avant d'exécuter cette commande. Une autre chose que je suis tombé sur l'émulateur Android , configurez l'hôte du serveur de débogage sur localhost:8081 from Les paramètres de développement de votre application, sinon elle ne se connecte pas au débogueur distant.

1
Fawaz

Essayez de commencer à réagir natif avec un autre port tel que 8088

react-native start --port 8088

puis

react-native run-Android
0
Mazen Daker

arrêtez le projet, puis cd Android && ./gradlew clean && cd .. && react-native run-Android. Fonctionnera correctement

0
Nagibaba

Le problème a été résolu car j'ai créé une nouvelle application qui fonctionne bien.

0
Chandra Kiran