Il est parfois utile d’extraire des applications – comprenons ici « copier des applications » depuis son appareil via son PC. On peut souhaiter créer un zip flashable en utilisant un outil tel que « Android Flashable Zip Creator » afin d’installer d’emblée toutes ses applications préférées lors d’un changement de ROM par exemple. Mais nombre d’applications ne sont disponibles que via le Play Store qui ne permet pas le téléchargement. Parfois les mises à jour rendent les applications instables voir inutilisables sur son appareil, il est bon alors de conserver la version antérieure à la m.à.j. Encore une fois le « Play Store » n’est pas la solution. Ne parlons pas des applications bannies par Google comme par exemple celles permettant de télécharger des vidéos sur YouTube. On peut vouloir également extraire des applications système. Les motivations sont ici généralement différentes, importer un « apk » (clavier, caméra, lecteur mp3…) depuis une ROM dans une autre ROM en est une, le « reverse-engineering » (rétro-ingénierie in french) en est une autre ; il peut s’agir là de vouloir simplement traduire une interface ou, plus compliqué, éditer les ressources de l’apk pour modifier l’aspect, le comportement, etc. de l’application.
Prérequis pour extraire un APK d’un mobile Android via QtADB sur PC
- Avoir un appareil Android Rooté avec le mode débogage USB activé.
- Avoir les derniers drivers USB correctement installés sur le PC. Voici un article qui regroupe tous les pilotes USB pour les différents mobiles.
- Installez le « JDK » sur votre ordinateur.
- Effectuez toujours une sauvegarde de votre appareil avant d’utiliser un outil capable d’intervenir sur votre système, vous pouvez suivre ce guide. Si vous n’avez pas un custom recovery installé sur votre mobile, utilisez Smart Switch pour sauvegarder vos données.
Avants propos
Il va nous falloir un outil indispensable pour tout « Android-bidouilleur ». Cet outil s’appelle « Android Debug Bridge » (ADB pour les intimes). Un peu austère puisqu’il fonctionne en lignes de commandes, mais on peut être moche et cependant efficace. Normalement, ADB est un des outils du SDK Android (kit de développement logiciel) mais son utilité est telle que nombre de programmes incluent celui-ci dans leurs ressources. Nous allons survoler quelques-uns de ceux-ci, sachant qu’il en existe une myriade.
- Le « SDK Android » est une grosse machine complexe destinée aux programmeurs, cependant la version de ADB est toujours à jour, et dans le tutoriel « Installation de adb sans le SDK Android en utilisant le SDK Manager » nous pouvons voir qu’il y a possibilité de n’en télécharger que les outils grâce au « SDK Manager ».
- « Virtuous Ten Studio« , si la modification d’apk est notre objectif, cet IDE, tant complet que performant, est selon moi la meilleure des options.
- « Kingo Android Root « , est un logiciel permettant de Rooter simplement un bon nombre d’appareils.
- « Apk_OneClick » est une suite d’outils qui permet d’un clic de décompiler un APK et tout aussi simplement de recompiler celui-ci tout en le zippalignant et en le signant dans la foulée. Cette application conviendra parfaitement à ceux qui souhaitent effectuer des modifications simples sur un apk sans avoir à taper une ligne de commandes, tant que celui-ci n’utilise pas un framework – une sorte de boîte à outils – particulier.
Si un des programmes « VTS, Kingo Android Root, Apk_OneClick » est installé alors ADB est déjà présent sur le PC. Nous le trouverons respectivement…
- dans le répertoire de « VTS puis ExternalADB« .
- dans le répertoire de « Kingo puis tools« .
- dans le répertoire de « Apk_OneClick puis toolsothers« .
Pour être sûr d’avoir la dernière version de ADB il est préférable d’installer celui-ci via le « SDK Manager » en consultant le tutoriel cité plus haut.
D’autres logiciels utilisent ADB sans toutefois l’inclure dans leurs ressources. Parmi ceux – plus ou moins défaillants – que j’ai testé, un a suscité mon intérêt : « QtADB« , qui est une interface graphique pour ADB. Celui-ci est en version béta lors de la rédaction de ce tutoriel, il peut parfois être un peu capricieux mais constitue une bonne alternative à la console pour les personnes mal à l’aise avec les lignes de commandes. Disponible pour Windows, Linux et Mac, gratuit et open source.Voici un lien vers « XDA » si l’anglais ne vous est pas inconnu.
Installation et utilisation de QtADB

Au premier démarrage il nous sera demandé le chemin de ADB et de « AAPT ». Ce dernier – qui est également un des outils du SDK – est utilisé par QtADB pour gérer les applications, notamment pour la sauvegarde des APK et de leurs données (un backup à proprement parler). Pour installer « AAPT » il suffit d’utiliser le SDK Manager comme pour ADB, mais il nous faut cette fois-ci choisir le pack « build-tools ». Une fois téléchargé, nous copions/collons le fichier « aapt.exe » dans le répertoire de ADB ou inversement. Si nous ne souhaitons pas utiliser le « SDK Manager« , et qu’un des programmes « VTS, Kingo Android Root ou Apk_OneClick » est installé sur le PC, « AAPT » fait également partie des outils embarqués par ceux-ci. Il suffit de copier « AAPT » dans le répertoire de « ADB » ou vice-versa et d’indiquer ce chemin à « QtADB« . Comme pour ADB, pour être sûr d’avoir la dernière version de « AAPT » il est préférable d’installer ce dernier via le « SDK Manager« . Pour installer QtADB il nous suffit de décompresser l’archive téléchargée où nous le souhaitons.
Le gestionnaire d’applications
En utilisant le gestionnaire nous pouvons choisir de sauvegarder soit l’apk, soit ses données, soit l’ensemble. Un répertoire « QtADB/backup » sera créé sur la carte SD de l’appareil. Il est également possible, via le menu contextuel, de copier l’apk sur le PC. Le premier démarrage du gestionnaire peut être long.


L’explorateur

L’explorateur permet également la copie d’apk. Le glisser/déposer d’un panneau à l’autre évite toute confusion quand au répertoire de destination qui peut être indifféremment sur l’appareil ou le PC.

Le shell

Pour une utilisation avancée, nous pouvons également utiliser le shell pour extraire nos apk (voir « L’extraction d’apk d’un appareil Android via Android Debug Bridge (adb) sur PC » pour de plus amples explications).

Bonsoir, oui QtADB me dit "Connect your phone" avec le bouton "Refresh" J'ai branché et débranché mon appareil plusieurs, sans fermer QtADB. Mais sa ne change en rien, QtADB ne reconnaît toujours pas mon galaxy s2 4.4.2 WizzedKat, je commence à désespérer.
Bonjour Thomas
OK. QtADB te dit quoi? 'Connect your phone' avec bouton 'Refresh'?
Si oui, débranches ton appareil et reconnectes-le ; si nécessaire appuies sur le bouton 'Refresh'.
Bonsoir, ba meme avec "busybox" QtADB ne reconnait toujours pas mon galaxy s2 4.4.2 wizzedKat. Je ne comprend pas.
Bonjour Thomas
Je te l'ai dit un peu plus haut, il n'y a qu'à l'installer, le reste c'est l'affaire des applications. Pour imager un peu : les applications root parlent un dialecte que ne comprend pas l'appareil, busybox est un interprète ; toi tu ne t'en occupes pas.
Donc :
Tes pilotes sont correctement installés
Le mode débogage est activé sur ton appareil
Busybox est installé (version actuelle 1.22.1)
Tu as un backup sur ta carte sd
Il faut maintenant que QtADB reconnaisse ton appareil.
Tu raccordes ton appareil à ton pc
Tu lances QtADB
1. Il reconnaît ton appareil : bingo!
2. Il ne reconnaît pas ton appareil : tu fermes QtADB, tu ouvres ton gestionnaire de tâches (onglet processus), tu cherches et fermes les tâches adb, tu relances QtADB :
a. bingo 🙂
b. pas bingo 🙁 – là on continue à chercher et on finira par y arriver!
Voilà, je viens de mettre à jour le tuto.
Merci Mastaan
Bonsoir, mais busybox, faut l'ouvrir quand avant ou après l'ouverture de QtADB quand on a sauvegardé applications et data ?
Bonjour Thomas
Tu n'as pas besoin de ce driver avec un S2
QtADB ne reconnaît toujours pas ton appareil malgré l'installation de busybox?
Bonsoir, j'ai un probème quand je clique sur le fichier android_winusb, sa m'affiche ce message " Le dossier que vous avez spécifié ne contient pas de pilote compatible pour votre périphérique. Si le dossier contient un pilote , assurez-vous qu'il est conçu pour fonctionner avec Windows 7 pour ordinateurs 32 bits."
Je ne comprend pas, pourtant sur SDK, j'ai coché "Google USB Driver".
Bonjour Thomas
Oui c'est bien cette application sur le playstore.
Il suffit de l'installer et de faire les mises à jour quand nécessaire ; le reste c'est l'affaire des applications qui en ont besoin.
C'est bien cette application sur le play store ??
play.google.com/store/apps/details?id=stericson.busybox
Bonsoir, ah oui, c'est très utile pour un un appareil rooté.
Mais une fois Busybox installer sur mon appareil, que dois-je faire avec Busybox sur mon appareil ?
Slt
Busybox est une "boîte à outils" nécessaire à une grande partie des applications root (plus précisément – en faisant simple – c'est une bibliothèque de commandes UNIX)
Là j'ai pas de lien sous la main, mais tu le trouveras sur le playstore (sinon je te le donne demain).
Ça m'étonnerait que ton problème avec qtadb vienne de là, mais tu en auras besoin pour réinstaller ta sauvegarde (et ça nous fera un doute en moins)
De toute façon, un appareil rooté sans busybox c'est un bon fromage sans pain 🙂
Non je n,'ai pas installer Busybox sur mon appareil. Mais c'est quoi Busybox ??
Bonjour, je voulais êtes sur que j'ai télécharger la bonne version du JDK et c'est le cas, merci.
@Thomas
Dsl, je m’aperçois que Busybox n'est pas spécifié dans les pré-requis… As-tu busybox installé sur ton appareil?
••BECK••
Tout d’abord bonjour 🙂
Il est vrai que dans le tuto que je cite précédemment, 'USB Driver package' n'est plus d'actualité… il faut maintenant choisir 'Extra' -> 'Google USB Driver'
Bonjour Thomas
Cela veut dire que adb reconnait ton appareil (drivers correctement installés et mode débogage activé), nous savons maintenant que le problème est ailleurs…
Le numéro qui apparait est le numéro de série de ton appareil.
Mais j'ai un peu de mal à te suivre.. sur le tuto "Installation des drivers USB Android SDK ( tutoriels-android.com/2012/03/installation-des-drivers-usb-android.html)" tu demandes quelle version du JDK installer. Si tu as suivit le tuto sur l'installation de adb, tu devrais déjà avoir le JDK!.. (dans ton cas jdk-8u20-windows-i586.exe)
Pour les drivers, c'est idem, tu devrais être à jour.. Cela dit, si tu veux installer les drivers Google, as-tu coché 'Google USB Drivers' dans 'extra' en utilisant le SDK Manager? (je joins une capture d'écran)
Bonsoir quand je tape "adb devices" sur l'invite de commande, sa me dit : List of devices attached
0009019542622f device
Sa correspond à quoi ?? Merci, de m’éclaircir sa au clair.
Salut Thomas
Ok. Essaies la commande 'devices' via adb comme expliqué sur le tutoriel concernant l'utilisation du SDK Manager ( tutoriels-android.com/2014/06/installer-adb-sans-le-sdk-android-en-utilisant-sdk-manager.html).
Dis-moi si adb reconnaît ton appareil.
Bonsoir, oui le débogage est activé.
J'ai regardé sur le gestionnaire de tâches, adb n'est pas ouvert.
Et QtADB faut l’exécuter en tant qu'administrateur ou pas ??
Bonsoir Thomas
Je me suis mal exprimé…
Si adb est ouvert (ce qui n'est pas visible hormis via le gestionnaire de tâches) il peut être nécessaire de tuer la ou les tâches adb en cours avant de démarrer QtADB.
Donc, si QtADB n'affiche toujours pas ton appareil, fermes QtADB, ouvres le gestionnaire de tâches et cherches si adb est en cours et si c'est le cas fermes-le. Redémarres QtADB.
Au fait. Le mode débogage est activé sur ton appareil?
Bonsoir, ba non j'ai pas éteins l'ordi, quand j'suis passé de la rom custom 4.1.2 à la rom custom 4.4.2 il était allumé, avec l'appli QtADB de ouvert aussi sur l'ordi. Heu adb n'était pas ouvert, y avait que QtADB de ouvert.
Bonjour Thomas
Depuis hier tu as certainement éteint ton pc ; réessaies.
Sinon, ouvres le gestionnaire de tâches et cherches si adb est ouvert. Si c'est le cas ferme la ou les tâches adb puis réessaies.
Bonsoir, j'ai installer la rom WizzedKat v3.3 Android 4.4.2 sur mon galaxy s2, et l'application QtADB ne reconnait plus mon galaxy s2, alors que mon pc le reconnaît direct.
Pourquoi l'application ne reconnaît pas mon tel ?
J'en ai besoin pour remettre la sauvegarde que j'ai faite sur QtADB (applications et data) sur mon galaxy s2 4.4.2
Super… Merci de ta réponse… Je ne vais pas essayer alors… Je crois qu'il s'ouvre maintenant… Bonne soirée…
goo.gl/vv5Xyd
Bonjour NM 🙂
Je connaissais le lien sur xda et je ne pense pas que cela soit la panacée.. le principe est de 'tromper' l'installeur du playstore et ne rend en aucun cas l'application compatible. En utilisant cette technique il faut simplement souhaiter que l'incompatibilité ne touche que des caractéristiques OS / matériel peu utilisées par l'application et prier pour que le plantage n'est pas lieu lors d'écriture sur la carte sd – c'est un des rares moyens efficaces pour tuer une carte!
p.s. pas moyen d'ouvrir ton premier lien…
Bonjour Mastaan… Et ça, c'est pas mal aussi pour installer des applis qui a priori ne sont pas compatibles avec notre mobile, non? Qu'en penses-tu?
goo.gl/U68cPR
Bonjour BECK, bonjour NM
C'est moi qui vous remercie de m'avoir lu 😉
Merci pour ce beau tuto Mastaan 😉
Super… Merci… 😉