ネットワーク経由でadb実行した後について


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

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




> ・リンク先内容は、常に最初にUSB接続が必要でしょうか？

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

[code]

    $adb tcpip 5555
    
[/code]

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

[code]

    <ホストPC>adbd ---- USB ---> <端末>adbd
    
[/code]

このコマンド実行で端末側の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待ち受けになると思います。




> ・リンク先内容は、常に最初にUSB接続が必要でしょうか？

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

[code]

    $adb tcpip 5555
    
[/code]

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

[code]

    <ホストPC>adbd ---- USB ---> <端末>adbd
    
[/code]

このコマンド実行で端末側の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待ち受けになると思います。

