最近購入したスマートフォンMEDIAS U(N-02E)だけど、PCからADB(Android Debug Bridge)の接続でハマったのでメモ。これ書いている段階で完全に解決されたわけじゃないけど。
まずはこちらの環境。端末側。
- 端末: NECカシオモバイル MEDIAS U (N-02E)
- OS: Android4.0.4
- ベースバンドバージョン: N3001611
- カーネルバージョン: 3.0.21 ncmc@ncmc #2
- ビルド番号: A3001611
PC側の環境。
- OS: Windows7 64bit
- Android SDK Tools: Rev 21.1
- Android SDK Platform-tools: Rev 16.0.1
- ADB: Android Debug Bridge version 1.0.31
- N-02E用USBドライバ: 公式サイトから落としてきたWindows 7 64bit版のドライバ
試した手順は以下の通り。
- 端末側の設定でUSBデバッグを有効にする
- PCと端末をUSB⇔マイクロUSBケーブルで接続 ⇛ 初回はここでドライバがインストールされる
- コマンドプロンプトから adb start-server でadbサーバを開始する
- adb devices で接続されているデバイスを確認
ここで端末がリストに表示されない。何度も何度も4.のコマンドを実施するとたまに見えることがあるけど、すぐに見えなくなる。同じように adb shell をやっても、大概は error: device not found と表示される。たまに接続できて shell@android:/ $ とshellのプロンプトが表示されるがすぐに終了してコマンドプロンプトに戻ってしまう。
恐らく、接続の試行→接続完了→何らかの理由により即切断→接続の試行→…と繰り返してるのだろう。接続完了の瞬間に adb devices や adb shell が実行出来たら、一瞬繋がっているように見えていると思われる。
解決策だけど、ADBには上で試しているUSB接続の他にTCPでも接続出来るらしい。ただTCP接続モードにするためには、一度USB接続が出来ないとダメっぽいので、スマートじゃないけど少し強引にやってみる。USB接続と同様の手順(上の手順1. 2. 3.)を実施したあと、以下のコマンドを実施する。
adb tcpip 5555 adb connect <端末のIPアドレス>
ただ、1つ目の adb tcpip は adb shell と同じように大概は error: device not found となる。なのでコマンドが成功するまで何回も繰り返す(スマートじゃないなぁ)。adb tcpip が成功したら2つ目の adb connect は成功するはずで、connected to <端末のIPアドレス>:5555 と表示される。その後 adb devices を実行すると、ようやく端末が表示されるようになる。
<端末のIPアドレス>:5555 device
ここまで来たら、あとはUSB接続と同様にすれば良いだけ。一点注意としては、USBケーブルは抜くこと。USBケーブルを接続しっぱなしだと、そちらを優先させてしまうらしいってこと。
結局USB接続は出来ないままなので完全解決って訳じゃないけど、原因特定はメンドそうなのでパス。USBドライバが怪しいんじゃないかと踏んで事象の報告はしておいたけど、合ってるかどうか分からないし、合っていても対応してくれなさそうだなぁ。