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:
react-native start
react-native run-Android
Das gleiche Ergebnis.
Dann habe ich versucht:
react-native bundle --entry-file index.Android.js --platform Android --bundle-output Android/app/src/main/assets/index.Android.bundle
curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"
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?
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:
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)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.
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
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.
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.
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:
Wenn alles installiert ist, können Sie den Emulator in Android Studio mit "Tools" -> "Android" -> "AVD Manager" ..__ starten.
In meinem Fall geschah dies, weil die Android/gradlew-Datei keine Ausführungsberechtigung hatte. Einmal gewährt, hat dies gut funktioniert
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.