J'utilise React.JS et quand je fais react-native run-Android
(avec mon appareil branché), je vois une page vierge. Lorsque je secoue l'appareil et que je sélectionne Debug JS Remotely
dans la liste des options, l'écran suivant apparaît.
FYI:
OS: Ubuntu 16.04
Node version is: v4.6.2
Java version "1.8.0_111"
react": "15.4.1
react-native": "0.38.0
Dans mon cas, le problème était que l'émulateur demandait à:
http://10.0.2.2:8081/debugger-ui
au lieu de:
http://localhost:8081/debugger-ui
et la demande échouait.
Pour résoudre le problème: Avant d'activer le débogage distant sur votre émulateur , ouvrez http://localhost:8081/debugger-ui
en chrome. Activez ensuite le débogage à distance et revenez à la page chrome où vous devriez voir les journaux de votre console.
Résolu le problème pour moi suivant:
Cmd + M
sur l'écran de l'émulateurDev settings > Debug server Host & port for device
localhost:8081
react-native run-Android
Le débogueur est connecté maintenant!
Je l'ai résolu en faisant adb reverse tcp:8081 tcp:8081
puis reload
sur mon téléphone.
Dans mon cas, sélectionner Déboguer JS à distance a lancé Chrome, mais ne s'est pas connecté au périphérique Android. Normalement, l'URL de débogage était pré-remplie dans la barre d'adresse du nouvel onglet/fenêtre Chrome, mais dans ce cas, la barre d'adresse était vide. Après le délai d'attente, le message d'erreur "Impossible de se connecter avec le débogueur distant" était affiché. J'ai corrigé cela avec la procédure suivante:
adb reverse tcp:8081 tcp:8081
http://localhost:8081/debugger-ui
dans le champ d'adresse de mon navigateur Chrome. Vous devriez voir l'écran de débogage normal, mais votre application ne sera toujours pas connectée.Cela devrait résoudre le problème. Sinon, vous devrez peut-être suivre les étapes supplémentaires suivantes:
react-native run-Android
J'ai eu un problème similaire qui m'a amené à cette question. Dans le débogueur de mon navigateur, le message d'erreur suivant s'affiche:
Accès à chercher à ' http: // localhost: 8081/index.delta? Platform = Android & dev = true & minify = false ' from Origin ' http://127.0.0.1:8081 ' a été bloqué par Stratégie CORS: Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée. Si une réponse opaque répond à vos besoins, définissez le mode de la demande sur "No-cors" pour extraire la ressource avec CORS désactivé.
Il m'a fallu un certain temps pour comprendre que j'utilisais 127.0.0.1:8081
au lieu de localhost:8081
pour mon débogueur.
Pour résoudre ce problème, je devais simplement changer Chrome à partir de:
http://127.0.0.1:8081/debugger-ui/
à
http://localhost:8081/debugger-ui/
Assurez-vous que le serveur de noeud pour fournir le paquet s'exécute en arrière-plan. Pour exécuter le serveur, utilisez npm start
ou react-native start
et laissez l'onglet ouvert pendant le développement.
Mon cas est que lorsque je tape sur Activer le débogage JS distant, il lancera chrome, mais ne pourra pas s'y connecter.
J'ai essayé de courir:
adb reverse tcp:8081 tcp:8081
, a mais ne fonctionne pas.
J'ai complètement désinstallé mon chrome et en ai installé un nouveau. Et il fonctionne.
Pour que vous puissiez courir:
Toutes les réponses impressionnantes fournies spécialement par les développeurs experts Ribamar Santos
, si vous ne le faites pas fonctionner, vous devez vérifier quelque chose de plus délicat!
Quelque chose comme Airplane mode
de votre téléphone (émulé)! Ou votre network status of Emulator
(Data status and Voice status on Cellular tab of Emulator configuration
) qui pourrait être manipulé pour ne pas exprimer le réseau! pour certains besoins d'émulation!
J'ai surmonté ce problème par cette astuce! C'était un peu époustouflant de trouver ce trou!
désinstallez votre application, puis exécutez réact-native run-Android. puis cliquez sur fin de débogage en chrome remplacer http: // localhost: 8081/debugger-ui/ , fin exécuter réact-native run-Android. si vous n'avez toujours pas réussi, essayez à nouveau
dans mon cas, il faut aussi installer son paquet npm
alors
npm install react-native-debugger -g
J’ai fait la réponse de @sajib et utilisé ce script pour rediriger les ports:
#!/usr/bin/env bash
# packager
adb reverse tcp:8081 tcp:8081
adb -d reverse tcp:8081 tcp:8081
adb -e reverse tcp:8081 tcp:8081
echo "???? React Native Packager Redirected ????"