tsuyoshin’s Tech Blog

https://qrunch.net/@tsuyoshin から移転してきました。

[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