wake-up-neo.com

Reagieren Sie native auf Android-Emulator

Ich versuche, die reag-native App auf dem Android-Emulator von genymotion auf meinem Mac auszuführen. Wenn ich react-native run-Android schreibe, wird es 

Running /usr/local/opt/Android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
error: closed
Could not run adb reverse: Command failed: /usr/local/opt/Android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
Building and installing the app on the device (cd Android && ./gradlew installDebug...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/Android-setup.html
MacBook-Pro-MacBook:ART-CarefulPeople macbook$ 

Dann habe ich versucht:

  1. react-native start
  2. react-native run-Android

Das gleiche Ergebnis.

Dann habe ich versucht:

  1. react-native bundle --entry-file index.Android.js --platform Android --bundle-output Android/app/src/main/assets/index.Android.bundle

  2. curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"

  3. react-native run-Android

Das gleiche Ergebnis.

Ich habe gerade versucht adb reverse tcp:8081 tcp:8081 und es sagt error: closed

Wenn ich versuche, die App auf einem Android-sdk-Emulator auszuführen, wird oben derselbe Fehler angezeigt, jedoch ohne error: closed.

Vom Android-Studio aus kann ich diese App ausführen und funktioniert bei genymotion. Sagen Sie mir bitte, was soll ich tun, um meine App auf dem Android-Emulator auszuführen?

24
alborozd

Ich hatte ein ähnliches Problem, und nachdem ich so viel Zeit und Suche nach diesem Problem verbracht hatte, funktionierte der einzige Trick für mich: 

  1. Installieren Sie die erforderlichen SDKs wie in dieser Abbildung gezeigt 

Configure Required SDKsConfigure Required SDKs

  1. Wenn Sie es bereits installiert haben, müssen Sie die folgenden SDKs aktualisieren:
    • Android SDK Tool (Update auf die neueste Version)
    • Android SDK Platform-tools (Update auf die neueste Version)
    • Android SDK Build-tools (Update auf die neueste Version)
    • Android Support Repository im Ordner Extra (aktualisieren Sie ihn auf die neueste Version)
  2. Sie müssen mindestens die gleiche Version Android API wie die installierte Android SDK Build-tools & Android SDK Platform-tools-Version installiert haben, wie in der Abbildung Configure Required SDKs oben gezeigt.

Hinweis: Das lokale Maven-Repository für Unterstützungsbibliotheken, das in den offiziellen Dokumenten von React-native als SDK-Anforderung aufgeführt ist, wird im SDK-Manager jetzt als Android-Support-Repository bezeichnet.

34
Rizwan Jamal

Ich hatte ein ähnliches Problem, wenn der Emulator jedes Mal von Android Studio oder auf einem physischen Gerät ausgeführt wurde. Stattdessen können Sie den Android-Emulator schnell über die Befehlszeile ausführen.

Android avd

Sobald der Emulator ausgeführt wird, können Sie mit adb devices überprüfen, ob der Emulator angezeigt wird . Dann können Sie einfach mit react-native run-Android die App auf dem Emulator ausführen.

Stellen Sie sicher, dass Sie Plattform-Tools installiert haben, um adb verwenden zu können. Oder du kannst verwenden

brew install Android-platform-tools
6
Elton Jain

Es ist mir passiert, dass ich eine Instanz des Packagers mit einem alten Projekt ausgeführt habe (ich lief wie üblich reag-native start ). Ich habe Ubuntu 14.04 verwendet. Was ich also getan habe, war, diese Instanz zu stoppen und zu meinem Projektordner zu gehen. In zwei verschiedenen Konsolenreglern führte ich diese beiden Befehle getrennt aus:

npm start #here I used to run react-native start
react-native run-Android

npm start ist in meiner package.json definiert als:

"start": "node_modules/react-native/packager/packager.sh"

Ich weiß nicht, ob es eine Art verwirrendes Zeug für das Reagieren gibt, aber das hat den Trick bewiesen.

2

Hatte ein ähnliches Problem. Ich habe mein Genymotion und meine Android SDKs/Bibliotheken/Abhängigkeiten aktualisiert und alles schien zu funktionieren. Zur Aktualisierung meiner SDKs habe ich den Android-SDK-Manager {Android_SDK_FOLDER}/tools/Android sdk verwendet.

1
Vincent Nguyen

Unter Windows 10 und Android Studio können Sie in Android Studio zu "Datei" -> "Einstellungen" in den Einstellungen und dann zu "Darstellung & Verhalten" -> "Systemeinstellungen" -> "Android SDK" gehen. SDK-Tools "aktiv:

  • "Android SDK Build-Tools .."
  • "Android Emulator"
  • "Android SDK Plattform-Tools"
  • "Android SDK-Tools"

Wenn alles installiert ist, können Sie den Emulator in Android Studio mit "Tools" -> "Android" -> "AVD Manager" ..__ starten.

1
Edelfix

In meinem Fall geschah dies, weil die Android/gradlew-Datei keine Ausführungsberechtigung hatte. Einmal gewährt, hat dies gut funktioniert

1
Allen Paul

schütteln Sie Ihr Telefon und gehen Sie zu Dev Setings , dann zu Debug Server Host & Port für Gerät , dann schreiben Sie die IP-Adresse Ihres PCs und Port, an dem Sie eine Verbindung hergestellt haben. Beispiel 192.168.9.2:8081

Das ist die endgültige und beste Lösung.

0
Emil Mammadov