14

Ich versuche react-native App auf genymotion Android Emulator auf meinem Mac laufen. Wenn ich react-native run-android schreiben Es wirdRun-native auf Android-Emulator

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 versucht, nur adb reverse tcp:8081 tcp:8081 und es sagt error: closed

Wenn ich versuche, App auf Android-sdk-Emulator laufen wird es den gleichen Fehler oben, aber ohne error: closed.

Von Android Studio Ich kann diese App laufen und es funktioniert auf Genymotion. Sag mir bitte, was soll ich tun, um meine App auf Android Emulator zu betreiben?

+4

"adb revese" funktioniert nur auf Android 5.0 + Geräte – Xeijp

+1

Ja, ich weiß nicht, was war das. Ich habe gerade Projekt neu erstellt und alles funktioniert gut. – alborozd

+0

Ich glaube th Wenn Ihr Android-Telefon (vorausgesetzt, Sie haben eines) an Ihren Computer angeschlossen ist, versucht es möglicherweise, es auf diesem Gerät zu installieren. Wenn es angeschlossen ist, würde ich empfehlen, es zu entfernen, sicherzustellen, dass der Emulator läuft und dann den Befehl "reactive-native run-android" erneut versucht. – jasonmerino

Antwort

1

Hatte ein ähnliches Problem. Ich aktualisierte meine Genymotion und meine android SDKs/Bibliotheken/Abhängigkeiten und alles schien zu funktionieren.Zu meinem SDK aktualisiere ich android sdk-Manager verwendet {ANDROID_SDK_FOLDER}/tools/android sdk

28

Ich hatte ein ähnliches Problem, und nach so viel Zeit und viele Benutzer zu diesem Problem der einzige Trick für mich gearbeitet:

  1. Bitte installieren Sie die erforderliche SDKs wie in dieser Figur Configure Required SDKs
  2. angezeigt, wenn Sie es bereits installiert haben, so können Sie die folgenden SDKs aktualisieren muss müssen:
    • Android SDK Tool (aktualisieren Sie es auf die neueste Version)
    • Android SDK Platform-tools (aktualisieren Sie es auf die neueste Version)
    • Android SDK Build-tools (aktualisieren Sie es auf die neueste Version)
    • Android Support Repository unter Extra Ordner (aktualisieren Sie es auf die neueste Version)
  3. Sie müssen mindestens die gleiche Version installiert haben Android API wie die installierte Android SDK Build-tools & Android SDK Platform-tools Version wie in der Abbildung Configure Required SDKs
gezeigt
+0

Hallo Freunde !! Wenn Sie diese Antwort mögen, vergessen Sie bitte nicht, es abzustimmen ... Danke :) –

+0

Können Sie erklären, wie es 'adb reverse tcp adressiert: 8081 tcp: 8081'' Fehler: geschlossen' Problem? –

+1

Es kann aufgrund Ihrer Android-Betriebssystem-Version auftreten ... 'adb reverse tcp: 8081 tcp: 8081' funktioniert nur mit Geräten mit OS-Version> = 5 –

2

Es ist mir passiert, dass ich eine Instanz des Packagers mit einem alten Projekt ausgeführt hatte (ich lief react-native Start wie üblich). Ich benutzte Ubuntu 14.04. Also, was ich tat, war die Instanz zu stoppen und zu meinem Projektordner gehen und in zwei verschiedenen Konsole Registerkarten lief ich diese beiden Befehle separat:

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

npm Start in meine package.json definiert ist als:

Ich weiß nicht, ob es eine Art verwirrende Zeug für reactive-native gibt, aber das hat den Trick gemacht.

7

Ich hatte ähnliches Problem, Emulator von Android-Studio jederzeit oder auf einem physischen Gerät zu laufen. Stattdessen Sie schnell Android-Emulator von der Kommandozeile ausgeführt werden kann,

android avd 

Sobald der Emulator ausgeführt wird, können Sie mit adb devices überprüfen, ob der Emulator erscheint. Dann können Sie einfach react-native run-android verwenden, um die App auf dem Emulator auszuführen.

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

brew install android-platform-tools 
1

Unter Windows 10 und Android Studio Sie Kann in Android Studio gehen Sie auf "Datei" -> "Einstellungen" in den Einstellungen dann auf "Appearance & Behavior" -> "Systemeinstellungen" -> " Android SDK". In der Registerkarte "SDK Tools" aktiv:

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

Wenn alles installiert, dann können Sie den Emulator in Android Studio mit starten "Extras" -> "Android" -> "AVD Manager". Wenn der Emulator ausgeführt wird, können Sie versuchen, "reactive-native run-android"