it-swarm.com.de

Exp konnte nicht geladen werden: // Etwas ist schief gelaufen

Ich habe ein Projekt mit Expo XDE erstellt. Ich habe dies überprüft Expo App kann nicht geladen werden: Etwas ist schief gelaufen aber ich habe bereits "Über andere Apps ziehen" aktiviert. Es funktioniert https://expo.io/@ajaysaini/first-proj , wenn ich diesen QR-Code scanne, aber nicht, wenn ich ihn auf einem Android-Gerät von XDE aus laufe.

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);

Wenn ich es auf dem Gerät laufe, wird auf dem Android-Gerät ein Fehler angezeigt. Ich habe in XDE mehrmals einen Neustart versucht, aber es hat mir nicht geholfen.

 enter image description here

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

Error:

There was an unhandled error: Could not load exp://
Stack Trace:

Kann mir jemand helfen, was schief läuft?

6
N Sharma

Sie sollten den XDE-Client besser öffnen und den Entwicklungsmodus aktivieren. Klicken Sie dann auf gray cog, um Host> LAN (Local Area Network - lokales Netzwerk) zu machen (dh Pakete über WLAN mit einem echten Gerät zu teilen). 

Die Localhost-Option funktioniert möglicherweise ebenfalls, jedoch gemäß Expo Debugging-Dokument :

Wenn Sie LAN verwenden, stellen Sie sicher, dass sich Ihr Gerät im selben WLAN-Netzwerk befindet wie Ihre Entwicklungsmaschine. Dies funktioniert möglicherweise nicht in einigen öffentlichen Netzwerken. localhost funktioniert nur unter iOS, wenn Sie sich im Simulator befinden, und nur unter Android, wenn Ihr Gerät über USB an Ihr Gerät angeschlossen ist.

Hier ist auch eine visuelle informative Antwort, die ich vor einigen Monaten geschrieben habe und die möglicherweise ebenfalls hilfreich ist: Wie kann ich eine App auf einem echten iOS-Gerät mit Expo ausführen?

11
eden

Ich schätze, viele Leute müssen all das oben Genannte getan haben und immer noch Irgendetwas ist schief gelaufen.

In den Dokumenten ist möglicherweise festgelegt, wann lokal erstellt und Ihr Gerät mit Ihrem Computer verbunden wird. Klicken Sie auf der Web-Debug-Seite im Bereich Lokal auf das QR-Code-Bild.

enter image description here

Versuchen Sie dann nach dem Klicken auf Lokal erneut, den QR-Code zu scannen. Ihr Fehler sollte verschwinden und es wird ein Ladebündel mit Javascripts-Assets angezeigt.

3
Delino

Manchmal liegt das Problem an der Verwendung einer falschen Netzwerkadapterpriorität.

Öffne das Terminal und renne 

ipconfig

wenn Ihr Haupt-LAN-Adapter nicht als erster Adapter aufgeführt ist, kann das Problem möglicherweise durch Ändern der Adapterpriorität behoben werden. Folgen Sie einfach den Schritten:

  1. Gehen Sie zu Systemsteuerung> Netzwerk und Internet> Netzwerkverbindungen

  2. Klicken Sie mit der rechten Maustaste auf Ihr Haupt-LAN

  3. Klicken Sie auf Eigenschaften> Internetprotokoll Version 4

  4. Klicken Sie auf Eigenschaften> Erweitert

  5. Deaktivieren Sie "Automatische Metrik".

  6. Geben Sie 10 in 'Interface Metric' ein.

  7. OK klicken

1
Ali A. Aziz

Ich bin auf das gleiche Problem gestoßen und keine der Lösungen hat für mich funktioniert. Das Problem hier ist, dass Expo die falsche IP-Adresse anzeigt, mit der Ihr Telefon keine Verbindung herstellen kann.

So habe ich daran gearbeitet. Ich gehe davon aus, dass Sie unter Windows sind und LAN verwenden, um die App auf Ihrem Gerät auszuführen.

  1. Öffnen Sie cmd, geben Sie ipconfig ein und ermitteln Sie Ihre lokale IP-Adresse. Es sollte Als IPv4 Address im Abschnitt Wireless LAN Adapter aufgeführt sein. Es sieht so aus wie 192.168.xx.x
  2. Öffnen Sie nun einen beliebigen Texteditor in Ihrem Telefon und geben Sie exp://192.168.xx.x:19000 ein. Kopieren Sie diesen Text in Ihre Zwischenablage.
  3. Expo-App öffnen Sie sehen jetzt die Open from Clipboard-Option auf Oben. Drücken Sie darauf und Ihre App sollte geladen werden.

Wenn Sie jetzt eine App laden möchten, können Sie dieselbe Adresse kopieren und in Expo öffnen.

Es gibt eine andere einfachere Problemumgehung, die ich gefunden habe. Führen Sie den Befehl .__ aus. set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.xx.x vor expo start. Diese wird in Expo Dev Tools die richtige IP-Adresse festlegen.

Hoffe das hilft.

1
fsociety

Annahmen: Installierte Expo ( https://expo.io ) auf Computer über NPM/Yarn und installierte Expo auf Android/iPhone . Außerdem befindet sich Phone im selben WLAN-Netzwerk wie Computer.

Mein Computer war über WiFI verbunden, und dies war das Problem für mich. __ Windows: Befehlszeile: $ ipconfig Suchen Sie die WLAN-IP-Adresse Ihres Computers. Meine war IP v4: 192.168.1.xxx Geben Sie den Webbrowser unter Phones Webbrowser-URL ein: exp: //192.168.1.xxx: 19000 Dann sollte etwas Text angezeigt werden, der bedeutet, dass das Telefon eine Verbindung über das Netzwerk (gutes Zeichen) herstellt Öffnen Sie dann expo auf Telefon und sollten den Link über die Zwischenablage sehen Klicken Sie auf Link über Clipboard, das sich im Expo-Programm des Telefons befindet. Dann sollte die App auf Ihr Telefon geladen werden . Dies hat für mich funktioniert Ps Befolgen Sie die Anweisungen zum Erteilen von Expo-Genehmigungen usw., wenn es zum ersten Mal funktioniert.

0
Justin Wilson

Wenn Sie eine Firewall verwenden, vergewissern Sie sich, dass die Ports 19000 und 19001 in der Whitelist aufgeführt sind.

0
Da Noob

Ich habe das gleiche Problem mit der Empfehlung des React Native-Teams gelöst, um die Genymotion-Software zu installieren und auszuführen:

  1. Installieren Sie Genymotion mit VirtualBox
  2. Melden Sie sich bei Genymotion an
  3. Starten Sie die Genymotion-Software und !!! SignIn
  4. Schließen Sie das npm Prompt-Programm mit dem Projekt und starten Sie es erneut
  5. npm start (im npm promt-Fenster im Projektverzeichnis)
  6. Schließen Sie und starten Sie die Expo-App, scannen Sie den Barcode

Wenn meine Anwendung erfolgreich ausgeführt wird, sind die IpV-Adressen identisch. Beispiel:

exp://10.0.0.125:19000   and
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.125
0
Roman

In meinem Fall war es VPN - ich habe mein Handy mit VPN verbunden, nachdem die Verbindung getrennt wurde und es erfolgreich geladen wurde!

0

Ich habe mein Problem durch ein Update von npm und node behoben.

0
zc lees

aus irgendeinem Grund habe ich Konflikte mit Docker erzeugt, ich habe es deaktiviert und es hat ohne Probleme funktioniert. Ich bin fast sicher, dass es Hyper-V ist

Möglicherweise ist dies hilfreich, wenn Sie einfach erklären, dass ein solcher Fehler auftritt, wenn sich Ihr Telefon und Ihr Computer in unterschiedlichen Netzwerken befinden. 

Ich habe dieses Problem durch Tethering gelöst und so waren meine beiden Geräte nicht im selben Netzwerk.

Das bedeutet, dass Sie wahrscheinlich beide Geräte an dasselbe WLAN anschließen können, dass es funktionieren sollte.

0
Huey Mataruse

Möglicherweise unterstützt Ihr Netzwerk keine LAN-Kommunikation. Das Umschalten von LAN auf Local hat für mich funktioniert. From your MAC you can go to http://localhost:[portnumber] Wie in der Abbildung unten gezeigt. 

 enter image description here

0
ewalel

Wenn jemand ein ähnliches Problem hat, musste mein Problem dazu führen, dass node.js mit dem Netzwerk verbunden werden konnte, und es funktionierte.

0
P Fuster

Stellen Sie sicher, dass Ihr Laptop und Android Gerät mit demselben Netzwerk verbunden sind und dass das Problem behoben sein sollte, wie es nur bei mir der Fall war.

0
Clint Fidel