LinuxInfo
Dezoom

adb

Mise à jour : Debian 9.2

Ce document décrit l'installation et l'utilisation, depuis un PC sous Linux Debian de la commande de debug : adb

Références

1 - Préalable

# apt install adb

2 - Utilisation

2.1 - Modes de connexion

Les commandes adb peuvent être passées

Les résultats seront fonction du mode, le système d'exploitation normal et recovery étant différents.

2.1.1 Connexion au mode normal

Pour les commandes passées lorsque le téléphone est en fonctionnement "normal", la connexion USB doit-être en mode Transfert de fichiers et l'autorisation de connexion doit être validée lorsqu'elle est demandée.

2.2.2 Connexion au mode recovery

Pour accéder au mode recovery, utiliser / essayer l'une des méthodes suivantes :

$ adb reboot recovery

2.2 - Modes shell

adb interagit avec le shell du téléphone

3 - Shell interactif

3.1 - Ouverture d'un shell interactif en mode normal

$ adb shell
crackling:/ $ ls system
addon.d etc framework media usr
app fake-libs lib priv-app vendor
bin fake-libs64 lib64 recovery-from-boot.bak xbin
build.prop fonts lost+found tts

On note que la partition /system est montée et la commande ls /system liste son contenu

  • 3.2 - Ouverture d'un shell interactif à partir du mode recovery

  • $ adb shell
    ~ $ ls system
    ~ $

    On note que par défaut, la partition /system n'est pas montée, et la commande ls /system ne retourne donc pas la liste des fichiers.

    3.4 - Liste des commandes du shell

    3.4.1 En mode recovery

    Utiliser la tabulation (deux fois) directement après le prompt pour obtenir la liste des commandes.

    3.4.2 En mode normal

    Utiliser la commande toybox pour lister les commandes disponibles

    crackling:/ $ toybox
    acpi arp base64 basename blkid blockdev bzcat cal cat chattr chcon
    chgrp chmod chown chroot chrt cksum clear cmp comm cp cpio cut date
    .....

    3.3 - Droits

    crackling:/ $ su
    crackling:/ #

    3.4 - Montage des systèmes de fichier

    Le montage (ou démontage) des systèmes de fichier nécessite les droits root (voir ci-dessus)

    3.4.1 - En mode recovery

    ~ # mount /system

    3.4.2 - En mode normal

    $ mount |grep system
    /dev/block/mmcblk0p22 on /system type f2fs (rw,relatime,background_gc=on,user_xattr,acl,active_logs=6)
    ~ # mount -o ro,remount /dev/block/mmcblk0p22 /system
    ~ # mount -o rw,remount /dev/block/mmcblk0p22 /system

    4 - Shell non interactif

    Ci-dessous, on distingue, différents types de commande

    4.1 - Commandes adb shell associées à une commande du shell Android

    $ adb shell ls /system
    $ adb shell rm file
    $ adb shell rm -r directory
    $ adb shell cp source desination
    $ adb shell mv source destination
    $ adb shell mkdir -m 755 /system/priv-app/Application
    $ adb shell mount /system
    $ adb shell umount /system
    $ adb shell screencap /sdcard/copie.png
    $ adb pull /sdcard/copie.png copie_locale.png

    4.2 - Commandes adb shell associées à une commande non présente dans le shell Android

    $ adb shell cmd package list packages
    $ adb shell pm path org.cyanogenmod.weather.provider
    package:/system/priv-app/WeatherProvider/WeatherProvider.apk
    $ adb shell pm clear org.cyanogenmod.weather.provider

    4.3 - Autres commandes

    $ adb devices -l
    List of devices attached
    43efd4e3 device usb:2-2 product:Swift model:Wileyfox_Swift device:crackling
    $ adb get-state
    recovery
    $ adb reboot 
    $ adb reboot bootloader
    $ adb reboot recovery
    $ adb root & sleep 3 && adb reconnect
    $ adb unroot & sleep 3 && adb reconnect
    $ adb remount
    $ ad push fichier /sdcard/
    $ adb pull /sdcard/fichier
    $ adb pull -p /sdcard sdcard_backup/   # Recopie du répertoire /sdcard dans le répertoire sdcard_backup
    $ adb push -p sdcard_backup/ /sdcard
    $ adb install paquet.apk
    $ adb install-multiple paquet1.apk paquet2.apk
    $ adb uninstall paquet
    $ adb uninstall -k paquet
    $ adb backup -apk -share -all -system -f mon_backup.ab
    $ adb restore mon_backup.ab
    $ adb sideload fichier.zip