> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/rev/android/adb/introduction.md).

# Introduction

## adb

`adb` est un outil de ligne de commande super pratique pour communiquer avec un appareil Android.

Il sert à **installer des applications**, **parcourir le système de fichier** et **interagir avec les applications installées**.

Il fonctionne comme un client-serveur avec 3 composants:

* **un client** qui envoie des commandes depuis l'ordinateur
* **un daemon** **(adbd)** qui exécute des commandes sur l'appareil Android
* **un serveur** qui gère les communications entre le client et le daemon

```
+---------------+---------------+     +-----------+-----------+
|               PC              |     |    Appareil Android   |
|-------------------------------|     |-----------------------|
|   adb CLI  ----->  adb server | --> |       adb daemon      |
+---------------+---------------+     +-----------+-----------+
```

## Installation

L'installation est simple, il suffit de télécharger l'exécutable livré dans le SDK Platform-Tools.

### Linux

1. Télécharger le [SDK Platform-Tools pour Linux](https://developer.android.com/tools/releases/platform-tools?hl=fr#downloads)
2. Extraire l'archive
3. *(Optionnel)* Ajouter `adb` au PATH

   * Ajouter cette ligne au fichier `~/.bashrc`

   ```
   export PATH=$PATH:<chemin vers le répertoire platform-tools>
   ```

   * Appliquer les modifications

   ```
   source ~/.bashrc
   ```

### Windows

1. Télécharger le [SDK Platform-Tools pour Windows](https://developer.android.com/tools/releases/platform-tools?hl=fr#downloads)
2. Extraire l'archive
3. *(Optionnel)* Ajouter `adb` au PATH
   * Chercher **Variables d'environnement** dans la barre de recherche du menu "Démarrer"
   * Sélectionner **Modifier les variables d'environnement système**
   * Sélectionner **Variables d'environnement > Path > Modifier...**
   * Ajouter le chemin vers le répertoire `platform-tools`
   * Redémarrer le terminal
