Chrome OS/Linuxから adb devices などを実行した際、List of devices attached が ???????????? no permissions になってしまうことがあります。今回それにハマったので、以下に対策方法を記しておきます。
まず lsusb コマンドで、デバイスの idVendor:idProduct を調べます。
$ lsusb
:
Bus 002 Device 003: ID 0fce:51d9 Sony Ericsson Mobile Communications AB
:
今回は idVendor = 0fce, idProduct = 51d9 ということがわかったので、以下のような内容を実行します。
$ echo 'SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″' | sudo tee /etc/udev/rules.d/99-android.rules
$ sudo chmod a+rx /etc/udev/rules.d/99-android.rules
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger --verbose --action=add --subsystem-match=usb
これで、/etc/udev/rules.d/ に 99-android.rules というファイルが作られ、中身に今調べた内容が記録された状態で udevadm が再起動されました。
次に、adb serverを“sudo 付きで”再起動します。
$ sudo adb kill-server
$ sudo adb start-server
この状態で adb devices を実行して、先ほどと同じようなエラーが出なければOKです。