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
)
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!
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.
Essayez de commencer à réagir natif avec un autre port tel que 8088
react-native start --port 8088
puis
react-native run-Android
arrêtez le projet, puis cd Android && ./gradlew clean && cd .. && react-native run-Android
. Fonctionnera correctement
Le problème a été résolu car j'ai créé une nouvelle application qui fonctionne bien.