Je décrivais récemment la marche à suivre pour se connecter à un téléphone Android à partir d’une distribution GNU/Linux (qui correspond à ce que dit la documentation officielle).

Pour résumer, il s’agit de créer un fichier /etc/udev/rules.d/51-android.rules contenant :

SUBSYSTEM=="usb", MODE="0666", GROUP="plugdev"

Mais ceci ne fonctionne pas sur Debian (en tout cas ni sur testing ni sur sid) :

$ adb devices
List of devices attached 
????????????    no permissions

En effet, contrairement aux autres distributions, Debian possède un fichier /lib/udev/rules.d/91-permissions.rules qui contient, entre autres :

# usbfs-like devices
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
                                MODE="0664"

Comme 91 > 51, ce fichier est parsé après notre fichier 51-android.rules.

La solution est donc très simple : renommer 51-android.rules en 92-android.rules afin que les permissions ne soient pas écrasées :

sudo mv /etc/udev/rules.d/{51,92}-android.rules

(ou en utilisant n’importe quel entier entre 92 et 99)

Après cette modification, udev doit être redémarré :

sudo service udev restart

et le téléphone débranché puis rebranché.

Et là, ça fonctionne :

$ adb devices
List of devices attached 
040140621600C00D        device

Merci à unforgiven512 qui m’a donné la solution (en anglais).