[Ubuntu] ADB, Fastboot が認識しない
Android 11 の AOSP ソースファイルをビルド後、端末に Flash しようとしたが、ツールが端末を認識しなかった。
$ adb devices List of devices attached XXXXXXXXX no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html] $ fastboot devices no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html] fastboot
メッセージに記載されているサイトを開いてみる。
http://developer.android.com/tools/device.html
apt-get install
にてパッケージをインストールしろ、としか書かれていない。
以前は、/etc/udev/rules.d/51-android.rules
にデバイスを登録する方法が記述されていたのだが。
そこで /etc/udev/rules.d/51-android.rules
にてデバイスを登録する方法を記載する。
ここでは Google の Pixel3 端末を登録する。
#Google 端末なら上記以外の端末でも同じ方法で対応可能。
# plugdev グループに属しているか確認する # →所属しているので問題なし $ id uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare) # usb デバイス一覧を取得する # →Google Inc. の "18d1" を登録する $ lsusb Bus 004 Device 004: ID 18d1:4ee0 Google Inc. Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub # デバイスを登録するため、下記ファイルを新規作成する # ファイル名は変更しても問題ない $ sudo gedit /etc/udev/rules.d/51-android.rules # 上記ファイルに下記記載し、ファイルを保存する SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" # ファイル属性を変更する $ sudo chmod a+r /etc/udev/rules.d/51-android.rules
デバイスを再接続すると、認識するようになる。
/etc/udev/rules.d/51-android.rules
にてデバイスを登録しなくても、パッケージのインストールにて簡単に認識させることができる。
# adb パッケージをインストールする場合、設定は不要 $ sudo apt-get install adb # fastboot パッケージをインストールする場合、設定は不要 $ sudo apt-get install fastboot