Il semble que je ne puisse obtenir des autorisations ADB pour mon appareil qu'en mode MTP ou PTP et NON en mode de connexion USB, ce dont j'ai besoin.
J'ai fait beaucoup de recherches mais je suis tombé sur tellement d'informations contradictoires et très anciennes que je ne vois plus comment procéder.
Ici ils disent que ce n'est pas possible, mais cela date de 2012. Ici y aquí ils proposent d'invoquer le shell via ADB pour mettre l'appareil en mode tethering USB (ce qui fonctionne pour moi aussi) mais aussi pour le désactiver, ce qui dans mon cas échoue car une fois sorti du mode MTP ou PTP je n'ai plus les permissions pour mon appareil.
Puis j'ai trouvé ce post intéressant ce qui semble pertinent mais ne fournit pas une solution complète. Ce site semble également pertinent mais il ne touche pas le cas du tethering.
Donc, une fois pour toutes, comment puis-je conserver les permissions ADB pour mon appareil lorsqu'il est PAS en MTP ou PTP mode ? Je ne m'intéresse qu'aux versions récentes d'Android. J'ai évidemment Racine accès pour mon appareil ainsi que la possibilité de déployer des ROMs personnalisées, bien que, par goût personnel, j'ai tendance à m'en tenir à LineageOS.
Note supplémentaire : c'est l'erreur que j'obtiens lorsque je ne suis pas en MTP/PTP :
$ adb devices
List of devices attached
2d8568f6 no permissions; see [http://developer.android.com/tools/device.html]
$ adb shell
error: insufficient permissions for device
See [http://developer.android.com/tools/device.html] for more information
Malheureusement le lien est assez inutile, mais il semble que ADB identifie et communique avec le dispositif, mais celui-ci n'accepte aucune requête.
Je ne pense pas que cela ait quelque chose à voir avec mon PC, les règles udev sont en place, et ADB fonctionne bien lorsque le périphérique est en mode MTP ou PTP.
Voici une capture d'écran ( cliquez pour la navigation vidéo vers ce menu ) :
En mode MTP, je peux ouvrir un shell via ADB, voici ce que je vois :
$ su
# pwd
/
# ls -lah
total 1.0M
drwxr-xr-x 18 root root 4.0K 2008-12-31 19:30 .
drwxr-xr-x 18 root root 4.0K 2008-12-31 19:30 ..
dr-xr-xr-x 56 root root 0 1971-04-23 21:51 acct
lrw-r--r-- 1 root root 11 2008-12-31 19:30 bin -> /system/bin
lrw-r--r-- 1 root root 50 2008-12-31 19:30 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
drwxrwx--- 6 system cache 4.0K 1971-04-23 21:51 cache
lrw-r--r-- 1 root root 13 2008-12-31 19:30 charger -> /sbin/charger
drwxr-xr-x 3 root root 0 1970-01-01 01:00 config
lrw-r--r-- 1 root root 17 2008-12-31 19:30 d -> /sys/kernel/debug
drwxrwx--x 42 system system 4.0K 2020-05-02 11:50 data
lrw------- 1 root root 23 2008-12-31 19:30 default.prop -> system/etc/prop.default
drwxr-xr-x 17 root root 3.4K 2018-03-20 08:10 dev
lrw-r--r-- 1 root root 11 2008-12-31 19:30 dsp -> /vendor/dsp
lrw-r--r-- 1 root root 11 2008-12-31 19:30 etc -> /system/etc
lrw-r--r-- 1 root root 20 2008-12-31 19:30 firmware -> /vendor/firmware_mnt
-rwxr-x--- 1 root shell 2.1M 2008-12-31 19:30 init
-rwxr-x--- 1 root shell 1.2K 2008-12-31 19:30 init.environ.rc
-rwxr-x--- 1 root shell 29K 2008-12-31 19:30 init.rc
-rwxr-x--- 1 root shell 7.5K 2008-12-31 19:30 init.usb.configfs.rc
-rwxr-x--- 1 root shell 5.5K 2008-12-31 19:30 init.usb.rc
-rwxr-x--- 1 root shell 511 2008-12-31 19:30 init.zygote32.rc
-rwxr-x--- 1 root shell 875 2008-12-31 19:30 init.zygote64_32.rc
drwx------ 2 root root 16K 2008-12-31 19:30 lost+found
drwxr-xr-x 12 root system 260 1971-04-23 21:51 mnt
drwxr-xr-x 2 root root 4.0K 2008-12-31 19:30 odm
drwxr-xr-x 2 root root 4.0K 2008-12-31 19:30 oem
dr-xr-xr-x 512 root root 0 1970-01-01 01:00 proc
lrw-r--r-- 1 root root 15 2008-12-31 19:30 product -> /system/product
drwxr-xr-x 3 root root 4.0K 2008-12-31 19:30 res
drwxr-xr-x 3 root root 300 1971-04-23 21:51 sbin
lrw-r--r-- 1 root root 21 2008-12-31 19:30 sdcard -> /storage/self/primary
drwxr-xr-x 4 root root 80 2020-02-27 08:07 storage
dr-xr-xr-x 12 root root 0 1971-04-23 21:51 sys
drwxr-xr-x 17 root root 4.0K 2018-03-20 02:40 system
-rw-r--r-- 1 root root 5.2K 2008-12-31 19:30 ueventd.rc
drwxr-xr-x 15 root root 4.0K 2008-12-31 19:30 vendor
-rw-r--r-- 1 root root 524 2008-12-31 19:30 verity_key
Je peux ouvrir les différents .rc
dans ces fichiers (avec nano
o /sbin/.magisk/busybox/vi
) mais en mode lecture seule. Je pourrais être en mesure d'obtenir des autorisations rw à partir de la récupération, mais je ne saurais toujours pas quoi changer.