システム: Windows 10
私の問題:カスタムSDKを指すようにGenymotionを設定しても何の影響もありませんでした。私はまだ受け取りました:
Androidでプロジェクトを開始できませんでした:smartsocketリスナーをインストールできませんでした:127.0.0.1:5037にバインドできません:通常、各ソケットアドレス(プロトコル/ネットワークアドレス/ポート)の使用は1つだけ許可されています。(10048)ADBサーバーからokを読み取れません*デーモンの開始に失敗しました*エラー:デーモンに接続できません
私が発見したのは、システム全体で使用されているADBバージョンに違いがあることでした。以下は、それらを見つけるために使用したコマンドです。
where /r C:\ adb.exe
これは結果をもたらしました:
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
各ディレクトリに移動して実行:
adb.exe version
ExpoがADBバージョンを実行していることを確認できました。
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
カスタムSDKを使用するGenymotionにはバージョン(c:\ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe)がありましたが、
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
テストとして、adbファイル(adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll)を
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
そして、それらをバックアップフォルダに配置しました。次に、次の場所にあるadbファイルを移動しました
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
同じ場所に。私はadbを殺しました:
adb kill-server
Genymotionデバイスが既に実行されているため、adbサーバーが自動的に再起動しました。Expo XDE内の[Restart]ボタンを押すと、すぐに機能し始めました。これは、午前1時13分4秒に再起動ボタンを押したログです。
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).
結論: Expoがシミュレートされたデバイスと適切に通信できるように、GenymotionとExpoは同じバージョンのadbを使用する必要がある場合があります。GenymotionをAndroid SDKの場所に向け、Expo XDEが同じバージョンであることを確認すると、デバイス間の正しい通信が可能になります。Expo XDEバージョンをSDKの場所に移動しましたが、別の方法で実行できる場合があります(sdk ADBファイルを取得して、Expo XDEリソースの場所に配置します)。
PS私はこの問題に関連するすべてのスタックオーバーフローの投稿を終えました。ちょうどあなたが私のタスクマネージャーが実行中のadb.exeの3つのインスタンスを表示していることを知っているだけです。あなたがそれらのいずれかを殺した場合、彼らはただ戻ってきます。
これが/ cheersに役立つことを願っています