Xamarin から WiFi経由で Android を動かす

昨日の続きですが、AndroidのWiFiデバッグ – 滴了庵日録 を参考にすると、あっさり動きました。

一応、手順を示しておくと、

  1. Android を USB 接続する。
  2. adb devices でデバイスが認識できる状態にしておく。
  3. adb tcpip 5556 で、Android のサーバーをポート番号 5556 で起動する。ここのポート番号は自由に設定してOK。
  4. adb connect 172.16.0.9 のように、Android に接続する。IP は Android の IP アドレス。
  5. USB ケーブルを抜く。
  6. adb devices を起動して、デバイスが tcpip 経由でつながっていることを確認する。

List of devices attached
172.16.0.9:5556 device

な感じで接続が確認できます。

tcp/ip 接続を切るのは adb disconnect 172.16.0.9 なんだけど、Android 側のサーバーが kill されるかどうかは不明です。

■嵌るところ

で、いろいろ検索すると落とし穴ったぽいのが、「adb connect 172.16.0.9:5555」のようにポート指定しているものが多いけど、実際は「adb connect 172.16.0.9」です。たぶん、Linux の adb がそうなのか、それとも古いだけなのか。Windows 版の最新の adb だと IPアドレス/ホスト名だけを指定します。

ポート番号が 5555 を指定しているので、皆 5555 を使ってしまうけど、うっかり公共無線LAN 上で IP アドレス知れたらポート番号固定でアタックが掛けられる(やっている人はいる?)ので、いまどきならばポート番号は変えたほうがベターかと。

ひとまず、VMWare から Android に USB 接続しようとすると最初の接続が不安定(何故かホストPCのUSBポートを1つしか認識しないんですよね…)なので、無線LAN接続できるようにしておくと便利です。自宅とか会社でやる分にはOKかと。

カテゴリー: Xamarin パーマリンク