Aller au contenu

Recommended Posts

ZAndroid Tools est un utilitaire reprenant les commandes de ADB et de FastBoot en mode graphique pour GNU/Linux.

Le script utilise Zenity pour ceux qui connaissent :rolleyes:

j'ai fait ce script car je souhaitais avoir toutes les commandes principales sous la main pour dézinguer un android.

des petites captures pour la forme:

zat_001.png

zat_002.png

voilà le script en question:

#! /bin/bash

function list_actions() {
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

en espérant que cela servent à l'un d'entre vous

++

Modifié par BeHuman
  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...