A repository of tips and tricks (in both English and French) curated by Mirego’s engineering team.
  • adb
  • android

Modifier facilement sa configuration de proxy sur un appareil Android

Malgré qu’il soit maintenant possible d’inspecter le traffic HTTP d’un appareil Android en utilisant le Profiler d’Android Studio, il est parfois plus simple/convivial d’utiliser un proxy (par exemple Charles Proxy). Par contre, pour cela, il faut manuellement modifier la configuration de la connexion WiFi de l’appareil pour y ajouter les informations de connexions sur le proxy (à moins d’avoir un appareil rooté, dans ce cas il existe une multitude d’app qui peuvent faciliter cette tâche).

Il est possible de rendre cette manoeuvre plus simple avec un script bash. Nous assumons ici que le proxy roule sur la même machine que l’outil ADB, et que le proxy écoute sur le port 8888.

Le script suivant va automatiquement récupérer l’adresse IP de la machine et pousser la nouvelle config sur l’appareil connecté via ADB. Il est possible de spécifier l’interface en paramètre (par défaut, il utilisera l’interface wifi)

#!/usr/bin/env sh

if [ -z "${1}" ]; then
  interface="en0"
else
  interface="${1}"
fi
ip=$(ifconfig ${interface} | awk '$1 == "inet" {print $2}')

echo "Using ${ip}:8888 as proxy settings"

adb shell settings put global http_proxy $ip:8888

Notez que cette configuration ne sera pas visible dans l’interface de configuration du WiFi sur l’appareil. Il ne faut donc pas oublier de le désactiver en utilisant le script suivant :

#!/usr/bin/env sh

adb shell settings put global http_proxy :0