ZAndroid Tools

Rédigé par BeHuman 2 commentaires
Classé dans : Android Mots clés : adb, fastboot, zenity, linux

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

 

2 commentaires

#1  - starlight a dit :

Merci pour ce petit script qui me simplifie la vie :)

Répondre
#2  - Behuman a dit :

Avec plaisir :) et si tu vois des truc à redire, fait le moi savoir ;)++

Répondre

Écrire un commentaire

Quelle est la dernière lettre du mot dqt1n ?

Fil RSS des commentaires de cet article