ZAndroid Tools
Rédigé par BeHuman
2 commentaires
Classé dans : Android

ZAndroid Tools est un utilitaire reprenant les commandes de ADB et de FastBoot en mode graphique pour GNU/Linux.
Le script utilise Zenity pour gérer l'affichage graphique.
J'ai fait ce script car je souhaité avoir toutes les commandes principals sous la main pour dézinguer un android.
![]() |
#! /bin/bash function list_actions() { adb start-server echo $(adb devices) > /tmp/zat_fastboot_devices | zenity --progress \ --title="ZAndroid Tools" \ --text="Chargement des périphériques connectés à ADB en cours..." \ --pulsate \ --auto-close echo $(gksudo fastboot devices) >> /tmp/zat_fastboot_devices | zenity --progress \ --title="ZAndroid Tools" \ --text="Chargement des périphériques connectés à FastBoot en cours..." \ --pulsate \ --auto-close devices_out=$(cat /tmp/zat_fastboot_devices | sed 's/List of devices attached//g') rm -rf /tmp/zat_fastboot_devices choice=$(zenity --list \ --title="ZAndroid Tools" \ --width="600" \ --height="650" \ --text="Périphériques connectés: $(echo "$devices_out" | while read d; do if [[ "$d" != 'List of devices attached' ]]; then echo "$d"; el="$el$d"; fi; done) Selectionnez une action:" \ --separator="@" \ --column="Commande utilisée " --column="Description de la commande" \ "adb shell" "Accéder au shell ADB" \ "adb wait-for-device" "Connecté votre périphérique à ADB" \ "adb devices" "Liste des péripériques connectés à ADB" \ "adb install" "Installer un paquet APK" \ "adb pull" "Copier un fichier du périphérique vers GNU/Linux" \ "adb push" "Copier un fichier de GNU/Linux vers le périphérique" \ "adb reboot" "Redémarrer le périphérique" \ "adb reboot recovery" "Redémarrer le périphérique en mode recovery" \ "adb start-server" "Démarrer le deamon ADB" \ "adb kill-server" "Stopper le deamon ADB" \ "" "________________" \ "fastboot wait-for-device" "Connecté votre périphérique à FastBoot" \ "fastboot devices" "Liste des péripériques connectés à FastBoot" \ "fastboot flash boot" "Flash de la partition boot" \ "fastboot flash recovery" "Flash de la partition recovery" \ "fastboot flash system" "Flash de la partition system" \ "fastboot flash userdata" "Flash de la partition userdata" \ "fastboot reboot" "Redémarrer le périphérique" \ "fastboot -w" "Restaurer les paramètres d'usine" \ "" "________________" \ "udev restart" "Recharger la liste des périphériques USB" \ "udev rules" "Liste des fichiers rules" \ "install adb" "Installer ADB" \ "install fastboot" "Installer FastBoot" \ "" "________________" \ "about" "À propos de ZAndroid Tools" ) if [ "$?" -eq 1 ]; then exit fi case $choice in # ADB "adb shell") xterm -T "ZAndroid Tools Shell" -e adb shell | zenity --progress \ --title="ZAndroid Tools" \ --text="Shell en cours d'utilisation..." \ --pulsate \ --auto-close ;; "adb wait-for-device") adb "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close ;; "adb devices") zenity --list \ --title="ZAndroid Tools" \ --width="400" \ --height="250" \ --text="Liste des péripériques connectés:" \ --separator="@" \ --column="Identifiant" --column="Type" \ $(adb devices | while read d; do if [[ "$d" != "List of devices attached" ]]; then echo "$d";fi done) ;; "adb install") filename=$(zenity --file-selection \ --title="ZAndroid Tools" \ --text="Sélectionner un paquet à installer..." \ --file-filter="*.apk") if [ "$?" -eq 0 ]; then install_out=$(adb install "$filename" | zenity --progress \ --title="ZAndroid Tools" \ --text="Installation de $filemane en cours..." \ --pulsate \ --auto-close) zenity --info \ --title="ZAndroid Tools" \ --text="Informations suite à l'installation de $filename: $install_out" fi ;; "adb pull") filename=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner un répertoire de destination pour la copie." \ --entry-text="/sdcard/") if [ "$?" -eq 0 ]; then dest=$(zenity --file-selection \ --directory \ --title="ZAndroid Tools" \ --text="Sélectionner un répertoire de destination pour la copie." ) if [ "$?" -eq 0 ]; then adb pull "$filename" "$dest/$(basename \"$filename\")" | zenity --progress \ --title="ZAndroid Tools" \ --text="Copie de $filemane vers GNU/Linux cours..." \ --pulsate \ --auto-close fi fi ;; "adb push") filename=$(zenity --file-selection \ --title="ZAndroid Tools" \ --text="Sélectionner un fichier à copier sur le périphérique." ) if [ "$?" -eq 0 ]; then dest=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner un répertoire de destination pour la copie." \ --entry-text="/sdcard") if [ "$?" -eq 0 ]; then adb push "$filename" "$dest/$(basename \"$filename\")" | zenity --progress \ --title="ZAndroid Tools" \ --text="Copie de $filemane vers le périphérique cours..." \ --pulsate \ --auto-close fi fi ;; "adb reboot") adb "reboot" | zenity --progress \ --title="ZAndroid Tools" \ --text="Redémarrage du périphérique avec ADB en cours..." \ --pulsate \ --auto-close ;; "adb reboot recovery") adb "reboot recovery" | zenity --progress \ --title="ZAndroid Tools" \ --text="Redémarrage du périphérique en mode recovery en cours..." \ --pulsate \ --auto-close ;; "adb start-server") adb "start-server" | zenity --progress \ --title="ZAndroid Tools" \ --text="Démarrage du deamon en cours..." \ --pulsate \ --auto-close ;; "adb kill-server") adb "kill-server" | zenity --progress \ --title="ZAndroid Tools" \ --text="Fermeture du deamon en cours..." \ --pulsate \ --auto-close ;; # FastBoot "fastboot wait-for-device") gksudo fastboot "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close ;; "fastboot devices") zenity --list \ --title="ZAndroid Tools" \ --width="400" \ --height="250" \ --text="Liste des péripériques connectés à FastBoot:" \ --separator="@" \ --column="Identifiant" --column="Type" \ $(gksudo fastboot devices | while read fd; do if [[ "$fd" != "" ]]; then echo "$fd";fi done) ;; "fastboot flash boot") gksudo fastboot "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot list_actions fi filename=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner une image pour flasher la partition boot." \ --entry-text="/sdcard/") if [ "$?" -eq 0 ]; then zenity --question \ --title="ZAndroid Tools" \ --text="Êtes vous sûre de vouloir flasher la partition boot ?" if [ "$?" -eq 0 ]; then gksudo fastboot flash boot "$filename" | zenity --progress \ --title="ZAndroid Tools" \ --text="Flashage de la partition boot en cours..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot fi fi fi ;; "fastboot flash recovery") gksudo fastboot "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot list_actions fi filename=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner une image pour flasher la partition recovery." \ --entry-text="/sdcard/") if [ "$?" -eq 0 ]; then zenity --question \ --title="ZAndroid Tools" \ --text="Êtes vous sûre de vouloir flasher la partition recovery ?" if [ "$?" -eq 0 ]; then gksudo fastboot flash recovery "$filename" | zenity --progress \ --title="ZAndroid Tools" \ --text="Flashage de la partition recovery en cours..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot fi fi fi ;; "fastboot flash system") gksudo fastboot "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot list_actions fi filename=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner une image pour flasher la partition system." \ --entry-text="/sdcard/") if [ "$?" -eq 0 ]; then zenity --question \ --title="ZAndroid Tools" \ --text="Êtes vous sûre de vouloir flasher la partition system ?" if [ "$?" -eq 0 ]; then gksudo fastboot flash system "$filename" | zenity --progress \ --title="ZAndroid Tools" \ --text="Flashage de la partition system en cours..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot fi fi fi ;; "fastboot flash userdata") gksudo fastboot "wait-for-device" | zenity --progress \ --title="ZAndroid Tools" \ --text="Connecté votre périphérique maintenant..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot list_actions fi filename=$(zenity --entry \ --title="ZAndroid Tools" \ --text="Sélectionner une image pour flasher la partition userdata." \ --entry-text="/sdcard/") if [ "$?" -eq 0 ]; then zenity --question \ --title="ZAndroid Tools" \ --text="Êtes vous sûre de vouloir flasher la partition userdata ?" if [ "$?" -eq 0 ]; then gksudo fastboot flash userdata "$filename" | zenity --progress \ --title="ZAndroid Tools" \ --text="Flashage de la partition userdata en cours..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot fi fi fi ;; "fastboot reboot") gksudo fastboot "reboot" | zenity --progress \ --title="ZAndroid Tools" \ --text="Redémarrage du périphérique avec FastBoot en cours..." \ --pulsate \ --auto-close ;; "fastboot -w") zenity --question \ --title="ZAndroid Tools" \ --text="Êtes vous sûre de vouloir restaurer la paramètres d'usine ?" if [ "$?" -eq 0 ]; then gksudo fastboot -w | zenity --progress \ --title="ZAndroid Tools" \ --text="Restauration desx paramètre d'usine en cours..." \ --pulsate \ --auto-close if [ "$?" -eq 1 ]; then gksudo killall fastboot -w fi fi ;; # others "udev restart") gksudo /etc/init.d/udev restart | zenity --progress \ --title="ZAndroid Tools" \ --text="Rechargement la liste des périphériques USB en cours..." \ --pulsate \ --auto-close lsusb | while read fd; do if [[ "$fd" != "" ]]; then echo "$fd";fi;done | zenity --text-info \ --title="ZAndroid Tools" \ --width="600" \ --height="400" \ --text="Liste des péripériques USB:" ls -Rl /dev/bus/usb | while read fd; do if [[ "$fd" != "" ]]; then echo "$fd";fi;done | zenity --text-info \ --title="ZAndroid Tools" \ --width="600" \ --height="400" \ --text="Liste des péripériques USB:" ;; "udev rules") filename=$(zenity --list \ --title="ZAndroid Tools" \ --width="400" \ --height="250" \ --text="Liste des fichiers rules:" \ --separator="@" \ --column="Fichiers" \ $(ls /etc/udev/rules.d/ -1 | while read fd; do if [[ "$fd" != "" ]]; then echo "$fd";fi done) ) if [ "$?" -eq 0 ]; then out=$(zenity --text-info --title='ZAndroid Tools' --width='600' --height='400' --editable --filename=/etc/udev/rules.d/$filename) if [ "$?" -eq 0 ]; then echo $out > /tmp/zat_$filename gksudo cp /tmp/zat_$filename /etc/udev/rules.d/$filename rm -rf /tmp/zat_$filename fi fi ;; "install adb") gksudo apt-get install android-tools-adb | zenity --progress \ --title="ZAndroid Tools" \ --text="Installation de ADB en cours..." \ --pulsate \ --auto-close ;; "install fastboot") gksudo apt-get install android-tools-fastboot | zenity --progress \ --title="ZAndroid Tools" \ --text="Installation de FastBoot en cours..." \ --pulsate \ --auto-close ;; "about") zenity --info \ --title="ZAndroid Tools" \ --width="250" \ --text="ZAndroid Tools v0.1 GNU/GPL v3 By BeHuman craft@ckdevelop.org" echo "Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la version 3 de la « GNU General Public License », telle qu'elle est publiée par la Free Software Foundation. Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même les garanties implicites de CONFORMITÉ, de QUALITÉ SATISFAISANTE ou D'ADÉQUATION À UNE UTILISATION PARTICULIÈRE. Voir la « GNU General Public License » pour plus de précisions. Vous devriez avoir reçu une copie de la « GNU General Public License » avec ce programme. Sinon, voir <http://www.gnu.org/licenses/>." | zenity --text-info --title="ZAndroid Tools" --width="400" --height="425" ;; esac list_actions } list_actions