Jump to content

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

++

Edited by BeHuman
  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.






×
×
  • Create New...