-System zu verwenden: Windows-10
Mein Problem: Einstellung Genymotion auf die Punkt benutzerdefiniertes SDK hatte keine Auswirkungen. Ich habe immer noch die:
Couldn't start project on Android: could not install smartsocket listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048) could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon
Was ich entdeckte war, gab es einen Unterschied in ADB-Versionen, die im gesamten System verwendet werden.Hier ist der Befehl, den ich verwenden, um sie zu finden:
where /r C:\ adb.exe
Dies ergab die Ergebnisse:
C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
zu jedem Verzeichnis navigieren und Laufen:
adb.exe version
erlaubte mir, dass Expo zu sehen war laufende ADB-Version:
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
Während Genymotion die benutzerdefinierte Verwendung hatte SDK-Version (c: \ Benutzer kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe \):
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
Als Test habe ich die adb-Dateien haben (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) von
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
und legte sie in einen Backup-Ordner. Ich habe dann die ADB-Dateien bewegt, die bei
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
an der gleichen Stelle befinden, die bei
gelegen sind. Ich tötete adb mit:
adb kill-server
, die einen Neustart des adb Servers automatisch verursacht durch meine Genymotion Gerät bereits mit ausgeführt wird. Ich habe den "Restart" Button innerhalb der Expo XDE gedrückt und sofort angefangen zu arbeiten. Hier ist das Protokoll, wo ich traf die Restart-Taste bei 01.13.04:
12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
Fazit: Genymotion und Expo müssen die gleiche Version von adb verwenden, so dass Expo richtig mit dem simulierten kommunizieren kann Gerät. Genymotion auf Ihren Android SDK-Standort zu verweisen und sicherzustellen, dass Expo XDE dieselbe Version hat, ermöglicht eine korrekte Kommunikation zwischen Geräten. Ich habe die Expo XDE-Version an den SDK-Standort verschoben, aber Sie können möglicherweise in die andere Richtung gehen (nehmen Sie die SDK ADB-Dateien und legen Sie sie in den Expo XDE-Ressourcenspeicherort).
P.S. Ich habe die Stackoverflow-Beiträge zu diesem Problem durchsucht. Nur damit ihr wisst, dass mein Aufgabenmanager drei Instanzen von adb.exe ausführt. Wenn Sie einen von ihnen töten, kommen sie einfach zurück.
this helps/prost
Dieser Fehler kann unabhängig von Genymotion auftreten. –