42208
**「ネットワーク経由でadb実行」後、しばらく経って再度「ネットワーク経由でadb実行」する場合について**  
・[リンク先](https://qiita.com/hamup/items/d0757af393a5462b686a)内容は、常に最初にUSB接続が必要でしょうか？  
・再度USB接続が必要な要件を知りたいです

・色々試してみたのですが、「adb disconnect」後「adb connect
xxx.xxx.xxx.xxx」コマンドを打つだけで繋がる場合もあるし、再度USB接続しなければつながらない場合もあり、何によって挙動が変わるのかよく分かりません
CC BY-SA 3.0
2018-03-07T10:54:24.127
42199
2018-03-08T01:47:39.947
7886
question
android network
ネットワーク経由でadb実行した後について
Android Studioのマニュアルを読む限り、「接続が切れた後で再接続できない場合は、USB接続の手順からやり直すように」と読めます。

* * *

[Android Debug Bridge | Android
Studio](https://developer.android.com/studio/command-line/adb.html?hl=ja)

**Wi-Fi を介した端末への接続**

adb 接続が失われた場合は、次の手順を実行します。

  1. Android 端末が接続されている Wi-Fi ネットワークと同じネットワークにホストが引き続き接続されていることを確認します。

  2. adb connect のステップを再度実行して再接続します。

  3. 上記の手順で接続できない場合は、adb ホストをリセットします。
```     adb kill-server

    
```

  4. その後、最初からやり直します。
CC BY-SA 3.0
2018-03-07T11:21:07.117
42200
2018-03-07T11:21:07.117
2020-06-17T08:14:45.997
-1
3060
42199
answer
> ・リンク先内容は、常に最初にUSB接続が必要でしょうか？

必要です。以下の実行でUSB接続している必要があります。

```

    $adb tcpip 5555
    
```

補足するとadb接続では端末側のadbd(daemon)とホストPC側のadbd(daemon)が存在し、通常端末側のadbd(daemon)はUSB経由でのadb接続を待ち受けています。  
上記のコマンドは、ホストPC側のadbdからUSB経由で端末側のadbdにWi-
Fi接続(WiFiだけとは限りませんが)での5555ポートでadb接続を待ち受けるように指示するコマンドです。

```

    <ホストPC>adbd ---- USB ---> <端末>adbd
    
```

このコマンド実行で端末側のadbdがUSBではなくipで待ち受けるようになり、Wi-Fiでのadb接続が可能になります。  
(逆にUSBからのadb接続ができなくなるはずです。端末側の実装依存にはなりますが）

* * *

> ・再度USB接続が必要な要件を知りたいです  
>  ・色々試してみたのですが、「adb disconnect」後「adb connect
> xxx.xxx.xxx.xxx」コマンドを打つだけで繋がる場合もあるし、再度USB接続しなければつながらない場合もあり、何によって挙動が変わるのかよく分かりません

端末側のadbdの待ち受けがUSBになっていたらUSB接続し、上記コマンドの実行からやり直す必要があります。  
「adb disconnect」「adb connect xxx.xxx.xxx.xxx」のコマンドはWi-
Fi経由でのadbの接続/切断を指示するコマンドです。  
端末側のadbdがUSBで待ち受けていたら、コマンド実行しても意味がありません。  
コメントにもありますが、端末側のメーカー実装次第で再度USB接続が必要かどうかは、様々なケースがあり得るので明確な回答は難しいです。

・USB抜き差しを検知して端末側のadbdの待ち受けがUSBに変わる（かもしれない）  
・ネットワークの変更を検知して端末側のadbdの待ち受けがUSBに変わる（かもしれない）  
・その他何かの変化を検知して端末側のadbdの待ち受けがUSBに変わる

複合条件の可能性もありますし、必要な要件を確実に知りたいのであれば端末の製造メーカーに問い合わせた方が良いと思います。  
１つだけ明確にわかる条件は端末を再起動するとadbdは初期状態のUSB待ち受けになると思います。
CC BY-SA 3.0
2018-03-08T01:38:03.437
42208
2018-03-08T01:47:39.947
2018-03-08T01:47:39.947
20272
20272
42199
answer