Erreur lors de l'appel Appregistry.runApplication in-reactive-native

J'essaie d'exécuter une application native réactive sur l'émulateur Android, mais j'ai une erreur comme

Erreur lors de l'appel Appregistry.runApplication

AVD: 'Nexus_5X_API_23 (AVD) – 6.0 Système d'exploitation: Windows 10

Entrez la description de l'image ici

Aidez-vous à cela?

J'ai eu presque le même problème que vous avez actuellement il y a quelques jours. Pour moi, c'était un véritable appareil.

De toutes mes recherches, la solution qui a fonctionné pour moi est la suivante:

Lorsque vous lancez votre application en tapant l' react-native run-android , l'erreur apparaît.

Donc, accédez à votre répertoire contenant "adb.exe" (pour moi c'était C: \ Users \ username \ AppData \ Local \ Android \ Sdk \ platform-tools \)

Ouvrez un terminal à partir d'ici. Et tapez adb reverse tcp:8081 tcp:8081

Ensuite, en rechargeant l'application sur le téléphone, cela devrait fonctionner.

J'espère que cela t'aidera !! (Sinon, dommage sur moi)

À votre santé 😉

MODIFIER :

J'ai trouvé une solution plus pratique pour résoudre ce problème.

Lorsque vous lancez votre "run-android", vous pouvez avoir un commentaire disant "adb n'est pas reconnu comme commande interne ou externe …"

Eh bien, au lieu d'utiliser manuellement la commande adb, vous pouvez ajouter une variable d'environnement menant à adb.exe.

Accédez simplement au "Panneau de configuration"> "Système et sécurité"> "Système"> "Paramètres système avancés".

À partir de là, cliquez sur "Variables d'environnement". Recherchez la variable "Chemin" dans la section "Variables système". Cliquez dessus et appuyez sur le bouton "Modifier".

Là vous pouvez ajouter un nouveau chemin d'accès à cette variable. Cliquez simplement sur le bouton "Nouveau" et écrivez le chemin adb.exe. Par exemple, C: \ Users \ username \ AppData \ Local \ Android \ Sdk \ platform-tools \

(Pour les versions les plus anciennes de Windows, vous devrez ajouter "; C: \ Users \ username \ AppData \ Local \ Android \ Sdk \ platform-tools \" au contenu.)

Ceci est le cas, maintenant la commande adb reverse tcp:8081 tcp:8081 sera exécutée automatiquement lors de la construction.

J'espère que cela vous aidera encore plus!

Selon moi, cette erreur survient lorsque:

1) Vous n'avez pas exécuté le packager au bon endroit, c.-à-d., Vous frappez le mauvais dossier pour exécuter un packager réactif, alors, naviguez dans le répertoire de votre projet et exécutez le react-native start .

2) lorsque vous codez quelque chose de mal en ce qui concerne le module Appregistry.

3) Arrêtez tout Xcode, packager, simulateur, etc. et redémarrez-le.

4) De l'erreur, une chose frappe dans mon esprit est le nom du module

 AppRegistry.registerComponent('AppName', () => componentName) matches with the @"AppName" on your AppDelegate.m on the call for [[RCTRootView alloc] initWithBundleUrl:... moduleName:@"AppName" launchOptions:... 

5) Comme nous utilisons le composant de réaction, nous devons donner le premier caractère de notre nom de classe avec des plafonds.

6) Voyons ce qui ne va pas dans index.android.js et index.ios.js

À votre santé 🙂

J'ai eu le même problème, ma solution était de courir

 $ react-native start 

En arrière-plan, puis courir

 $ react-native run-android 

J'ai eu le même problème. Il se trouve que McAffee était sur le port 8081 et bloquait le packager. Ma solution:

 react-native start --port your_port 

Dans l'émulateur Android, Command + M montre le menu dev, cliquez sur "Paramètres Dev", puis cliquez sur "Debug serveur host and port" et définissez-le sur your_ip: your_port.

alors

 react-native run-android 

J'ai eu le même problème et j'ai pu le résoudre en configurant mon ordinateur local en tant que serveur de débogage dans l'émulateur Android. Ouvrez l'émulateur Android, Command + M pour afficher un menu, puis cliquez sur "Paramètres Dev", puis cliquez sur "Debug Server host and port" et définissez-le sur 127.0.0.1:8081. Ensuite, à partir de votre répertoire de projet, exécutez react-native run-android . J'espère que ça aide.

Enfin, j'ai travaillé. J'ai créé un nouvel AVD

Nexus6 API 23

.J'ai essayé avec Nexus5x API 23. Merci à tous

Assurez-vous que le port 8081 est disponible. Dans mon cas, l'un de mes services fonctionne sur le port 8081 (tomcat webserver).

J'avais exactement le même problème (car il s'agit d'un message très générique), mais le problème était différent. Dans mon cas, c'était un projet nouvellement créé, l'émulateur ne fonctionnait pas, mais un véritable appareil fonctionnait.

Mon problème était la limite des inotify peuvent gérer Linux par défaut, qui est un sous-système de noyau Linux qui permet d'étendre les systèmes de fichiers pour noter les modifications apportées au système de fichiers et rapporter ces modifications aux applications et est largement utilisé, y compris le studio Android et réagir originaire de; Au moment où j'essayais d'exécuter le react-native run-android tous les observateurs ont été attribués sur mon système, ce qui a provoqué l'échec du processus sur ce même message.

Pour modifier la quantité maximale d'observateurs inotify peut gérer, vous devez éditer le fichier sysctl.conf , qui sera généralement situé dans /etc/sysctl.conf ou /etc/sysctl.d/custom_name.conf et ajouter la ligne suivante:

  fs.inotify.max_user_watches = 5242881 

Après avoir écrit le fichier, vous devez exécuter sysctl -p filename.conf où 'filename.conf' est le chemin d'accès et le nom où vous avez enregistré le fichier .conf pour sysctl. Une fois que les changements sont appliqués, tout devrait fonctionner comme prévu.

J'ai aussi eu le même problème. J'ai résolu le problème pour fonctionner sur un véritable appareil.

Comme l'a dit M. Jedi, McAffee a bloqué le port 8081. J'ai donc modifié la fonction Project-Folder> \ node_modules \ reaction-native \ local-cli \ runAndroid \ runAndroid.js depuis

 function tryRunAdbReverse(device) { try { const adbPath = getAdbPath(); const adbArgs = ['reverse', 'tcp:8081', 'tcp:8081']; 

à

 function tryRunAdbReverse(device) { try { const adbPath = getAdbPath(); const adbArgs = ['reverse', 'tcp:8081', 'tcp:3040']; 

Et a commencé la demande sur

  react-native start --port 3040 

Pour moi, j'avais juste besoin d'ajouter les outils de la plate-forme à ma variable d'environnement Path, de sorte que réactive-native puisse démarrer le serveur AdB.

Je recevais:

 'adb' is not recognized as an internal tool or program 

Pour résoudre ce problème, j'ai ajouté ce qui suit à ma variable d'environnement Path .

 C:\Users\<Username>\AppData\Local\Adnroid\sdk\platform-tools 

Ensuite, l'exécution de react-native run-android fonctionnant react-native run-android fonctionnait!

Je sais que cette question a reçu tant de réponses, mais je pense qu'il vaut la peine d'ajouter ma solution, j'espère que cela aidera quelqu'un là-bas.

Dans mon cas, le problème provenait de ma machine virtuelle, bien que je n'ai pas enquêté, mais en créant un nouveau périphérique virtuel, l'application fonctionnait en douceur sans problème.

Alors créez simplement un nouveau périphérique virtuel. 🙂

Dans mon cas (après, bien sûr, en passant par tout ce que je pouvais trouver ici et ailleurs), j'ai réalisé que j'avais mis mon WiFi sur mon téléphone … ça ne fonctionne pas comme ça! J'espère que ça aide quelqu'un