ADB接続が何度かうまくいかなかったときに試した内容を記載します。
インターネット上を調べてみると、ADB接続が失敗することが結構あるみたいですね。
確認項目
① ケーブルを確認する
データ通信ができるケーブルを使っているか
② アンドロイドのUSBデバックがONになっているか
アンドロイドの開発者オプションを有効にして、USBデバッグをONにしてください
③ USB設定が「ファイルを転送」になっているか
アンドロイドにUSBケーブルを指すと、「USB設定」画面が起動するので、「ファイルを転送」に変更する
④ ADBサービスが起動しているか確認する
コマンドプロンプトを起動し次のコマンドからデバイスを認識しているか確認
# 正常起動した様子
c:\>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
******** device <- ここにdeviceが表示されればつながっています
# 以下起動できないパターン
# adb.exe にパスが通っていない
c:\>adb
'adb' is not recognized as an internal or external command,
operable program or batch file.
-> adb.exeが置かれているフォルダに移動するか、PATHを通す
# adb は起動しているが、デバイスを認識しない
c:\>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
<- device を認識していない
adb は起動しているが、デバイスを認識しないパターンがたまにあります。
公式ドキュメントでは接続に失敗するときの対策についてadb kill-server を使った方法が書かれています。
$ adb kill-server
$ emulator -avd Nexus_6_API_25 -port 5557
$ adb start-server
$ adb devices
List of devices attached
emulator-5557 device
私は、サービスを強制終了させたところ起動しました。
c:\ > adb klill-server
を使ってもプロセスがうまく終了しないことがあるみたいです。
c:\ > netstat -nao | grep 5037
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 15992
c:\ >taskkill /F PID 15992 <- pid を直接指定してプロセスを終了させました
c:\ >adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
******** device
⑤ADBのバージョンが古くないか
当環境のバージョンは
Android Debug Bridge version 1.0.41
でした。
⑥他の情報を探す(参考にさせていただいたサイト)
皆さんいろいろな方法で解決していました
http://app.serialgames.jp/sgd/alog/manual/qa_adb_devices.htm
https://qiita.com/couzie/items/2dd854df9c8c74317078
https://jp.minitool.com/news/adb-device-not-found.html
https://www.tunesbro.jp/blog/android-wont-connect-to-windows-over-adb-how-to-fix-in-3-easy-steps.html
SHARP AQUOSフォンでは一部のバージョンでADBに接続できないよう(ドライバダウンロード先)
https://k-tai.sharp.co.jp/support/developers/driver/index.html
ADBに繋がらなくて困っている人は結構いるみたいです。