J'ai créé un projet avec Expo XDE. J'ai vérifié ceci Impossible de charger l'application expo: une erreur s'est produite mais j'ai déjà activé "Dessiner sur d'autres applications". Cela fonctionne https://expo.io/@ajaysaini/first-proj lorsque je scanne ce code QR, mais pas quand je l'exécute sur un appareil Android à partir de XDE.
main.js
import Expo from 'expo';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Updating!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Expo.registerRootComponent(App);
Lorsque je l'exécute sur le périphérique, il affiche l'erreur ci-dessous sur le périphérique Android. J'ai essayé plusieurs fois de redémarrer XDE mais cela ne m'a pas aidé.
Dependency graph loaded.
11:19:21 AM
Starting React Native packager...
11:19:24 AM
Scanning 528 folders for symlinks in D:\Expo\first-proj\first-proj\node_modules (18ms)
11:19:24 AM
Loading dependency graph.
11:19:24 AM
Running packager on port 19001.
11:19:25 AM
11:19:33 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
11:19:44 AM
Opening on Android device
11:19:54 AM
Dependency graph loaded.
11:21:41 AM
Opening on Android device
11:23:31 AM
Opening on Android device
Erreur:
There was an unhandled error: Could not load exp://
Stack Trace:
Quelqu'un peut-il m'aider ce qui ne va pas?
Vous feriez mieux d'ouvrir le client XDE et d'activer le mode de développement. Ensuite, cliquez sur le bouton gray pour créer Host> LAN (réseau local - ce qui signifie partager des paquets via WiFi avec un périphérique réel).
L'option Localhost peut aussi bien fonctionner, mais selon la documentation de Expo Debugging :
Si vous utilisez un réseau local, assurez-vous que votre appareil est sur le même réseau wifi que votre ordinateur de développement. Cela peut ne pas fonctionner sur certains réseaux publics. localhost ne fonctionnera pas pour iOS sauf si vous êtes dans le simulateur, et cela ne fonctionne que sur Android si votre appareil est connecté à votre machine via USB.
En outre, voici une réponse visuelle informative que j’ai écrite il ya quelques mois et qui pourrait également aider: Comment exécuter une application sur un véritable appareil iOS avec Expo?
Parfois, le problème est dû à l’utilisation d’une mauvaise priorité de carte réseau.
ouvrir le terminal et courir
ipconfig
si votre carte LAN principale n'est pas répertoriée comme la première carte, la modification de la priorité de la carte peut résoudre le problème. Suivez simplement les étapes:
Panneau de configuration Aller à> Réseau et Internet> Connexions réseau
Faites un clic droit sur votre réseau local principal
Cliquez sur Propriétés> Internet Protocol Version 4.
Cliquez sur Propriétés> Avancé
Décocher 'Métrique automatique'
Entrez 10 dans 'Interface Metric'
Cliquez sur OK
J'ai rencontré le même problème et aucune des solutions ne fonctionnait pour moi. Le problème ici est que Expo affiche la mauvaise adresse IP à laquelle votre téléphone ne peut pas se connecter.
C'est comme ça que j'ai travaillé autour de ça. Je vais supposer que vous utilisez Windows et que vous utilisez le réseau local pour exécuter l'application sur votre appareil.
ipconfig
et découvrez votre adresse IP locale. Il devrait être Répertorié comme IPv4 Address
dans la section Wireless LAN Adapter
. Cela ressemblera à quelque chose comme 192.168.xx.x
exp://192.168.xx.x:19000
. Copiez ce texte dans votre presse-papiers.Open from Clipboard
sur En haut. Appuyez dessus et votre application devrait se charger.Désormais, chaque fois que vous souhaitez charger une application, vous pouvez copier la même adresse et l'ouvrir dans Expo.
J'ai trouvé une autre solution de contournement plus simple. Exécutez la commande
set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.xx.x
avantexpo start
. Ce définira l'adresse IP correcte dans Expo Dev Tools.
J'espère que cela t'aides.
Hypothèses: Expo installée ( https://expo.io ) sur ordinateur via NPM/Fil et Expo installée sur Android/iPhone . De plus, le téléphone se trouve sur le même réseau wifi que l'ordinateur.
Mon ordinateur était connecté via WiFI et c’était le problème pour moi . Windows: Ligne de commande: $ ipconfig Recherchez l’adresse IP Wifi de votre ordinateur. Le mien était Ip v4: 192.168.1.xxx Tapez le navigateur Web sur l'URL du navigateur Web Phones: exp: //192.168.1.xxx: 19000 Ensuite, vous devriez voir du texte, qui signifie que le téléphone se connecte via le réseau (bon signe) Ensuite, ouvrez expo sur le téléphone et devrait voir le lien via le Presse-papiers . Cliquez sur Lien via Clipboard qui se trouve dans le programme Expo du téléphone. Ensuite, il devrait charger l’application sur votre téléphone . Cela a fonctionné pour moi . Ps Suivez les instructions pour donner la permission à Expo, etc., lorsque cela fonctionne pour la première fois.
J'ai résolu le même problème avec les recommandations de l'équipe React Native - installer et exécuter le logiciel Genymotion ::
Si mon application s'exécute correctement, les adresses IpV sont identiques, par exemple:
exp://10.0.0.125:19000 and
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.125
J'ai corrigé mon problème en mettant à jour npm et le noeud.
pour une raison quelconque, je créais des conflits avec docker, je l'ai désactivé et cela a fonctionné sans problème, je suis presque sûr que c'est hyper-V
Peut-être que cela pourrait être utile de simplement expliquer que, une telle erreur se produit si votre téléphone et votre ordinateur sont sur des réseaux différents.
J'ai résolu ce problème par modem et de cette façon, mes deux appareils ne sont pas sur le même réseau.
Ce qui signifie que vous pouvez probablement connecter vos deux appareils au même réseau Wi-Fi que cela devrait fonctionner.
Si quelqu'un rencontre un problème similaire, mon problème a dû être résolu pour permettre à node.js de se connecter au réseau, et cela a fonctionné.