AndroidStudio(Mac)でデバイスが認識されない時の対策
現象
AndroidStudioをインストールして、USBでPCとスマホを繋いでから
ビルドしようとしたところ、デバイスが認識されなかった。
対策
一般的にはadb
コマンドを使って再起動すれば良いらしい。
手順は以下の通り。
- まず、ターミナルからadbを使えるようにする。 qiita.com
- 次に、サービスの再起動をする。
- adb kill-server
- adb devices
上で解決しない場合
ただし、今回は上のコマンドを実行しても、e00002c5
というエラーが出て、
相変わらず認識されなかった。
% adb kill-server % adb devices List of devices attached * daemon not running. starting it now on port 5037 * adb E 91814 4487433 usb_osx.cpp:327] Could not open interface: e00002c5 adb E 91814 4487433 usb_osx.cpp:289] Could not find device interface * daemon started successfully *
調べた限りでは、EasyTetherの導入時にインストールしたドライバが競合を引き起こしていたことが原因らしい。
解決法
とりあえずUSBでPCとスマホを繋ぎっぱなしにした状態で、スマホを再起動すれば認識された。
ただし、その後、USBを抜き差しすると、また認識されなくなる…。
なかなかに面倒臭い。
(2016/12/25追記)
一旦EasyTetherを停止させてから、改めてadbを再起動すると認識されることが判明。
(コメントくださった方ありがとうございます!)
以下のどちらかの手順で、AndroidStudioに認識させることが可能なはず。
EasyTetherUSBEthernet.kextがある場合
認識させる時
% sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext % adb kill-server % adb start-server
EasyTetherを再開する時
% sudo kextload /System/Library/Extensions/EasyTetherUSBEthernet.kext
EasyTetherUSBEthernet.kextがない場合 (バージョンの問題?)
認識させる時
% ps -ef | grep teth 0 19300 1 0 8:08PM ?? 0:00.02 sudo /usr/local/bin/easytether-usb 0x10000e114 // <= これを停止させる -2 19301 19300 0 8:08PM ?? 0:01.58 /usr/local/bin/easytether-usb 0x10000e114 501 19519 17444 0 8:11PM ttys002 0:00.00 grep teth % sudo kill -9 19300 % adb kill-server % adb start-server
EasyTetherを再開する時
% adb kill-server % sudo /usr/local/bin/easytether-usb 0x10000e114 Ctrl + Zで一時停止 (-nでバックグラウンド起動らしいが、ならなかった) % bg