私はMac上でReact-Native、Android、そしてGenymotionを使用しています。 react-native run-Android
を実行すると、起動操作の最後にこの行が表示されます。
...
04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use
04:54:40 E/adb: ADB server didn't ACK
04:54:40 E/ddms: '/Users/paulbrie/Library/Android/sdk/platform-tools/adb,start-server' failed -- run manually if necessary
04:54:40 E/adb: * failed to start daemon *
04:54:40 E/adb: error: cannot connect to daemon
:app:installDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:installDebug'.
> com.Android.builder.testing.api.DeviceException: Timeout getting device list.
...
ただし、adb devices
はこれを返します。
List of devices attached
192.168.59.101:5555 device
これまでのところ、エミュレータ上で自分のアプリを実行するための解決策は見つかりませんでした。誰かが同じ問題に遭遇しましたか?
ありがとう、ポール
私はgenymotionを使っていますが、Paulの解決策だけではエラーが解決しませんでした(Mac用)。
そうしなければならなかった:
SDKマネージャを介してAndroid SDKを最新バージョン(24.4.1)に更新します
コマンドラインにAndroid
と入力
SDKマネージャで最新のSDKツールを見つけてインストールします。
SDKパスをインストールすると、以下のように新しいSDKの場所が更新されます。
次に、新しいSDKを使用するように$ Android_HOMEを更新します
export Android_HOME=/usr/local/Cellar/Android-sdk/24.4.1_1
export PATH=$PATH:$Android_HOME/tools:$Android_HOME/platform-tools
echo $PATH
であなたのパスを見てそれが追加されたことを確認してください
それから、genymotionで@Paulが言ったことを行い、genkotion ADBに同じsdkを使うように指示してください
システム:Windows 10
私の問題:GenymotionをカスタムSDKを指すように設定しても影響はありませんでした。私はまだ受け取った:
Androidでプロジェクトを開始できませんでした:smartsocketリスナーをインストールできませんでした:127.0.0.1:5037にバインドできません:通常、各ソケットアドレス(プロトコル/ネットワークアドレス/ポート)の使用は1回だけです。 (10048)ADBサーバーから正常に読み取れませんでした*デーモンの起動に失敗しました*エラー:デーモンに接続できません
私が発見したのは、システム全体で使用されている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の中にある「再起動」ボタンを押すとすぐに動き出しました。これは私が1:13:04 AMに再起動ボタンを押したログです:
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を使う必要があるかもしれません。あなたのAndroid SDKの場所にGenymotionを向けることとExpo XDEが同じバージョンを持っていることを確実にすることはデバイス間の正しいコミュニケーションを可能にするでしょう。私はExpo XDEバージョンをSDKの場所に移動しましたが、あなたは別の方法で進むことができるかもしれません(sdk ADBファイルを取り、Expo XDEリソースの場所にそれらを置く)。
P.S。私はこの問題に関連したstackoverflowの投稿をすべて読んできました。ちょうどあなたは私のタスクマネージャが実行中のadb.exeの3つのインスタンスを示している知っている。あなたがそれらのうちのどれかを殺すならば、彼らはただ戻ってきます。
これが役に立ちます
多分あなたのadbバージョンは一致しません
チェック:
adb version
その後:
cd /Path/to/Android/Sdk/platform-tools && ./adb version
これら2つが異なる場合は、ここでエラーが発生します。単にsysからadbを削除し、platform-toolsにあるものを/ usr/bin /にコピーしてください。
あなたのシステムのadbバージョンは、Android sdk platform-toolsのadbバージョンとは異なります。以下の提案は、Linuxオペレーティングシステム用の私のための仕事です
aDBバージョン
Android Debug Bridgeバージョン1.0.39
cd/root/Android/Sdk /プラットフォームツール
./adbバージョン
Android Debug Bridgeバージョン1.0.32
rm/usr/bin/adb
[注:上記のコマンドは既存のadbを削除してから、そのadbをsdk/platform-toolsディレクトリからコピーします。
Sudo cp/root/Android/Sdk/platform-tools/adb/usr/bin/adb
次に、このコマンドを使ってプロジェクトを実行します。
反応ネイティブの実行 - Android
私は万博のUIから実行しようとしたときに私は同じことを持っていた。回答に記載されているように、同じことをしましたが、アプリが実行されていませんでした。かつて(プロジェクトフォルダー内の)コマンドラインからexp Android
を実行しようとしたとき、アプリケーションは正常に実行され、次回のExpo UIからの実行は正常に完了しました。
私は同様の問題を抱えていました。
まず、アプリをアンインストールしました。それから、私はGenyMotionをAndroid Studioから提供されたAndroid sdkに向けました。次に、私は端末に "adb kill-server"を走らせました。最後に、私は "react-native run-Android"を再実行し、ビルドに成功しました。
私のために働いたステップは次のとおりです。
$ adb kill-server
$ adb start-server
$ cd Android
$ ./gradlew clean
$ cd ..
$ react-native run-Android
1. genymotionでカスタムのsdkパスを使う(これがうまくいかないとしたら、2番目のパスを実行してみてください)
2.このコマンドを手動で使用して実行します(SDKパス/ adb start -n /パッケージ名/ MainActivity)。
C:¥Users¥AppData¥Local¥Android¥Sdk/platform-tools/adb彼女はスタート-n com.example/com.example.ManiActivity
そして、react-native run-Androidを使用してアプリケーションを実行してみてください。
システムをきれいにしておきたい場合は、Android StudioなしでGenymotionを使用することもできます:
adb
のコピーを見つけてください。 macOSでは、これは通常/Applications/Genymotion.app/Contents/MacOS/tools/
です。export PATH=/Applications/Genymotion.app/Contents/MacOS/tools/:$PATH
または~/.bash_profile
に行~/.bash_rc
を実行/追加してください。( https://docs.expo.io/versions/latest/workflow/genymotion から)