Recherche personnalisée
Tweeter

[TUTO] Windows - Decompiler - Recompiler une APK

Ici, on regroupe tous les tutos créés par les membres ou par l'équipe.

Messagepar Vincent81 » Ven 8 Fév 2013 10:33

Bonjour,
Un petit tuto rapide pour modifier des applications Android :
1) Les outils :
- Récupérer mon package spécial JB : apk-decomp.rar
Décompresser dans un répertoire ex C:\apk-decomp
- Avoir Winrar (vous le trouverez sur le Net)
- Avoir Java installé sur votre PC : Java
2) Les préalables :
- Copier dans ce répertoire les fichiers : framework-res.apk et twframework-res.apk de votre ROM que vous trouverez dans le répertoire \system\framework. Lancer les batch if1.bat et if2.bat (il vont copier ces fichiers dans un emplacement particulier de votre PC). Si vous changer de ROM, pour décompiler les apk de cette ROM, vous devez refaire la manip.

3) Decompiler une apk (*.apk) ou un framework (*.jar) :
- Copier le fichier apk que vous voulez modifier dans le répertoire apk-decomp (Ex : mon_appli.apk)
- Lancer cmd.bat : vous avez accès a une fenêtre DOS
- tapez apktool-D mon_appli.apk : Votre application sera décompiler dans le répertoire mon_appli
(Si vous avez une erreur "bad magic value" : effacer le répertoire créé (mon_appli) puis tapez apktool d mon_appli.apk, des erreurs non bloquantes peuvent apparaitre ex : Cant find 9patch chunk in file...)

4) Modifier votre appli :
- Dans le répertoire créé vous devriez avoir :
Code: Tout sélectionner
asset   (répertoire)
res (répertoire)
smali (répertoire)
AndroidManifest.xml (fichier)
apktool.yml (fichier)

- Dans asset il n'y a pas grand chose de modifiable (font, audio...)
dans res vous avez toutes les images et les fichier xml
dans smali vous avez le code java.

Le répertoire intéressant est res, et les sous-répertoire principaux sont :
drawable-xhdpi : Pour le Note, les principales images
values et xml : Les fichiers XML de configurations

Vous pouvez maintenant modifier les images et les XML (si vous savez ce que vous voulez faire bien sûr ;-))
Attention aux images image.9.png, ce sont des images particulières redimensionnables, il vous faut des soft spéciaux pour les modifier, les autres *.png sont modifiable par n'importe quel éditeur d'image.

Ex1 : Modifier l'icône de l'application : Chercher un fichier nommé ic_launcher_mon_appli.png, généralement dans le répertoire drawable-xhdpi ou drawable..., éditer le directement ou remplacer le par celui que vous voulez en conservant le nom et le format. (Si vous avez un .jpg, pensez a le convertir en faisant "Enregistrer sous... .png avec votre éditeur)

Ex2 : Modifier la couleur de l'horloge de la barre de status : Décompiler SystemUI.apk, puis editer le fichier XML : res\layout\tw_status_bar.xml, trouver la ligne :
Code: Tout sélectionner
<com.android.systemui.statusbar.policy.Clock android:textSize="26.0dip" android:textColor="#ff33b5e5" ...

La, vous pouvez modifier la taille de la police et sa couleur. Les couleurs dans les XML sont sous forme hexa de la forme #TTRRVVBB (TT = Transparence de 00 A FF(255), RR = Rouge, VV = Vert, BB = Bleu) mais votre éditeur préféré doit pouvoir vous donner une couleur sous forma Hexa dans sa pallette.

Les XML sont modifiables avec un éditeur quelconque, mais en UTF8, prenez NotePad++.

5) Recompiler votre apk :
- Toujours sous la fenêtre DOS, tapez apktool-C mon_apk (le nom du répertoire seul)
Vous pouvez avoir quelques erreur non bloquante sur les xml de traduction manquante, ce n'est pas grave.
(En cas d'erreur bloquante, tapez apktool b mon_apk)
- Si tout se passe bien, la recompilation créeras deux répertoire supplémentaires (dans mon_appli) : build et dist.
- Dans le répertoire dist, vous aurez votre apk modifiée mon_appli.apk, mais elle n'est pas signé, pour la signer simplement, il faut :
- ouvrir votre apk originale et votre apk modifiée avec Winrar.
- Dans l'apk originale, vous avez un répertoire en plus : META-INF, faite le glisser dans la fenêtre Winrar de votre apk modifiée (en général, je met aussi le fichier AndroidManifest.xml)

- Voilas, votre apk est transférable sur votre précieux...

Bon courage.
Dernière édition par Vincent81 le Dim 10 Fév 2013 21:41, édité 5 fois.
Avatar de l’utilisateur
Vincent81
Serious Galaxy Poster
 
Messages: 875
Inscription: Sam 28 Jan 2012 08:42
Localisation: Puylaurens, Tarn, France
Haut


Publicité
 
Haut

Messagepar sergei » Ven 8 Fév 2013 10:47

Merci beaucoup
Avatar de l’utilisateur
sergei
Modérateur
Modérateur
 
Messages: 2202
Inscription: Sam 12 Mai 2012 11:33
Haut


Messagepar joan62 » Ven 8 Fév 2013 10:54

@Vincent
merci pour ce tuto on va encore aller plus loin ;)
Avatar de l’utilisateur
joan62
Master Galaxy Poster
 
Messages: 1634
Inscription: Mar 31 Juil 2012 19:19
Localisation: CALAIS-62100-PAS DE CALAIS
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar tos69400 » Ven 8 Fév 2013 11:22

Merci pour ce super tuto. Même si il est orienté windows il me permettra d'avoir une vision plus claire afin de mettre les choses en place sous linux (l'utilitaire apktool vient de linux et les commandes sont les même).
Avatar de l’utilisateur
tos69400
Platinium Galaxy Poster
 
Messages: 5119
Inscription: Mar 17 Avr 2012 10:47
Quel téléphone/système avez-vous ?: Autre Smartphone Android Autre marque
Haut


Messagepar joan62 » Ven 8 Fév 2013 11:58

Décompresser dans un répertoire ex C:\apk-decomp : ça veux dire quoi ? en étant précis svp. merci
1:decompressé dans un dossier a la base du C
ou
2:decompressé a la base du C tous simplement
Avatar de l’utilisateur
joan62
Master Galaxy Poster
 
Messages: 1634
Inscription: Mar 31 Juil 2012 19:19
Localisation: CALAIS-62100-PAS DE CALAIS
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar cedre » Ven 8 Fév 2013 12:43

Super merci..!
Avatar de l’utilisateur
cedre
Serious Galaxy Poster
 
Messages: 330
Inscription: Mar 16 Oct 2012 09:54
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar Vincent81 » Ven 8 Fév 2013 13:26

Décompressez dans un répertoire, quelconque, mais il est préférable de créer un répertoire au nom courts sans espace a la racine d'un de vos disque. Ex : créez le répertoire apk-decomp a la racine de C: et décompressez le zip dedans.
Avatar de l’utilisateur
Vincent81
Serious Galaxy Poster
 
Messages: 875
Inscription: Sam 28 Jan 2012 08:42
Localisation: Puylaurens, Tarn, France
Haut


Messagepar joan62 » Ven 8 Fév 2013 14:47

@Vincent
merci.Par exemple j ai décompilé l'apk (video player),je veux récupérer l'icône thème. Est ce bien celui ci qu'il faut récupérer ? Merci
Image
Avatar de l’utilisateur
joan62
Master Galaxy Poster
 
Messages: 1634
Inscription: Mar 31 Juil 2012 19:19
Localisation: CALAIS-62100-PAS DE CALAIS
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar natha30 » Dim 10 Fév 2013 19:25

Merci beaucoup !
Avatar de l’utilisateur
natha30
Serious Galaxy Poster
 
Messages: 529
Inscription: Dim 10 Juin 2012 11:13
Haut


Messagepar babar86 » Mar 26 Fév 2013 17:18

Merci énormément pour le tuto, c'est vraiment sympa de partager tes connaissances avec des gens qui veulent un peu comprendre!!!!

Juste une petite question pour remettre son apk dans son précieux...comment on fait?

On copie et on colle ou on flashe le zip (je pencherai pour cette solution) mais comme je n'ai qu'un Note je préfère être sûr!
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar natha30 » Mar 26 Fév 2013 17:47

Ah, parce qu'a la fin on n'obtient pas un apk ?
Avatar de l’utilisateur
natha30
Serious Galaxy Poster
 
Messages: 529
Inscription: Dim 10 Juin 2012 11:13
Haut


Messagepar Vincent81 » Mar 26 Fév 2013 18:05

Hello,
Plusieurs solutions et ça dépend du type d'apk.
Si c'est une application "normale", tu la copie sur ton note puis tu l'installe avec un gestionnaire de fichier.
Si c'est une application "system", il te faut être root, la copier sur ton note, puis avec un gestionnaire root la placer dans le system du note, puis faire un dalvik cache.
Si c'est une appli que tu a extrait d'une rom, il suffit de la remettre dans le zip de la rom, puis reflasher la rom, toujours avec un cache dalvik.
Avatar de l’utilisateur
Vincent81
Serious Galaxy Poster
 
Messages: 875
Inscription: Sam 28 Jan 2012 08:42
Localisation: Puylaurens, Tarn, France
Haut


Messagepar babar86 » Mar 26 Fév 2013 21:11

Merci pour la réponse Vincent81, je tente quelques bidouillis sur le systemUI, par exemple changer la couleur de l'heure, changer l'icone du wifi entre autres.

Une fois que j'ai recompilé mon systemUI, je le place dans son dossier d'origine: system/app. Je supprime le systemUI d'origine, je fais un wipe cache Dalvik et je redémarre???? En fait l'ancien je le supprime quand??? :?

Pour info Natha30 j'essaie de suivre ce tuto mais les explications sont un peu légères compte tenu de mon niveau:

http://www.phonandroid.com/forum/guide- ... 42784.html
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar natha30 » Mar 26 Fév 2013 21:45

Tu sais qu'avec des ROMS customs tu as toutes ces options incluses ?
Avatar de l’utilisateur
natha30
Serious Galaxy Poster
 
Messages: 529
Inscription: Dim 10 Juin 2012 11:13
Haut


Messagepar babar86 » Mar 26 Fév 2013 21:57

Je suis sur une custom et je ne comprends ce que tu veux me dire pardon. Pour l'instant la seule solution pour moi est de bidouiller ce systemUI pour obtenir la statubar ou le menu déroulant des notifications que je souhaite .

Si tu as une autre solution à me proposer je suis les yeux grands ouverts: :o
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar natha30 » Mar 26 Fév 2013 22:13

En voyant ta signature, tu es sous une CUSTOM certe, mais base STOCK ; XXLSC

Moi j'viens d'une ROM Custom : http://www.slimroms.net/

Et un exemple : regarde la couleur de l'heure et l'emplacement ainsi que la barre verte en haut qui represente al batterie restante (couleur changeable bien sur) et la barre de notifications transparente :

Image

On peut également rajouter une photo ou une couleur de fond dans la barre déroulante de notifications
Avatar de l’utilisateur
natha30
Serious Galaxy Poster
 
Messages: 529
Inscription: Dim 10 Juin 2012 11:13
Haut


Messagepar babar86 » Mar 26 Fév 2013 22:27

Ha ok! Merci beaucoup pour l'info, je ne savais pas!!!!Tu a piqué ma curiosité, j'essaierai certainement une "pure" custom prochainement. Je vais continuer mon bidouillage car c'est...instructif! Merci et bonne fin de soirée.
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar natha30 » Mar 26 Fév 2013 22:28

Bonne chance ! :)
Avatar de l’utilisateur
natha30
Serious Galaxy Poster
 
Messages: 529
Inscription: Dim 10 Juin 2012 11:13
Haut


Messagepar Vincent81 » Mer 27 Fév 2013 06:20

babar86 a écrit:Merci pour la réponse Vincent81, je tente quelques bidouillis sur le systemUI, par exemple changer la couleur de l'heure, changer l'icone du wifi entre autres.

Une fois que j'ai recompilé mon systemUI, je le place dans son dossier d'origine: system/app. Je supprime le systemUI d'origine, je fais un wipe cache Dalvik et je redémarre???? En fait l'ancien je le supprime quand??? :?

Pour info Natha30 j'essaie de suivre ce tuto mais les explications sont un peu légères compte tenu de mon niveau:

http://www.phonandroid.com/forum/guide- ... 42784.html


Le plus simple pour modifier un ROM custom, c'est que tu dezip la ROM dans un rep, puis tu cherche et decompile SystemUI (dans un autre rep, pas celui de la ROM), il est dans system/app.
Tu le modifie, puis tu le remplace dans system/app. Tu re-zip le rep de la ROM, tu doit avoir la même structure que le zip original et tu flash le nouveau zip.
Avatar de l’utilisateur
Vincent81
Serious Galaxy Poster
 
Messages: 875
Inscription: Sam 28 Jan 2012 08:42
Localisation: Puylaurens, Tarn, France
Haut


Messagepar babar86 » Mer 27 Fév 2013 07:32

Effectivement ça me semble le plus sûr!! Merci pour tes conseils.
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar paspas95 » Mer 27 Fév 2013 12:43

Merci je mets de coté ce tuto très bien documenté ;)
Avatar de l’utilisateur
paspas95
Confirmed Galaxy Poster
 
Messages: 140
Inscription: Lun 6 Aoû 2012 12:10
Quel téléphone/système avez-vous ?: Autre Smartphone Android Samsung
Haut


Messagepar manu_18 » Jeu 28 Fév 2013 15:44

J'ai eu l'occasion de tester et tout fonctionne impeccablement. J'ai du modifier la variable Path (variable système d'environnement) en rajoutant le chemin de Java.

Petit HS mais qui est en rapport avec le topic. Une fois que l'on a modifié notre apk (je parle principalement pour une apk système), il y a moyen de les réinjecter sous forme de patch par l'intermédiaire de CWM ? Je suppose par le même principe que cité mais au niveau d'une rom :

Vincent81 a écrit:- Dans l'apk originale, vous avez un répertoire en plus : META-INF, faite le glisser dans la fenêtre Winrar de votre apk modifiée (en général, je met aussi le fichier AndroidManifest.xml)
Avatar de l’utilisateur
manu_18
Platinium Galaxy Poster
 
Messages: 6508
Inscription: Sam 19 Mai 2012 22:23
Localisation: Bourges
Quel téléphone/système avez-vous ?: Autre Smartphone Android Autre marque
Haut


Messagepar Coccinelle » Jeu 28 Fév 2013 16:53

En gros manu il te faudrait un tuto comment faire un zip flashable?
Avatar de l’utilisateur
Coccinelle
Platinium Galaxy Poster
 
Messages: 5367
Inscription: Sam 28 Jan 2012 18:50
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar manu_18 » Jeu 28 Fév 2013 17:08

Oui. Histoire de remplacer une application système sans forcément modifier et reflasher la rom complète.

Pourquoi il y a? :oops:
Avatar de l’utilisateur
manu_18
Platinium Galaxy Poster
 
Messages: 6508
Inscription: Sam 19 Mai 2012 22:23
Localisation: Bourges
Quel téléphone/système avez-vous ?: Autre Smartphone Android Autre marque
Haut


Messagepar Vincent81 » Jeu 28 Fév 2013 17:57

J'ai fait un zip "Standard" : CWMFlashable_Corrections.zip
Tu le dézip, tu met tes appli standard dans data/app, les appli system dans system/app, les framework dans system/framework (tu peux n'en mettre qu'un seul bien sûr)
Tu rezip et tu flash.
Avatar de l’utilisateur
Vincent81
Serious Galaxy Poster
 
Messages: 875
Inscription: Sam 28 Jan 2012 08:42
Localisation: Puylaurens, Tarn, France
Haut


Messagepar manu_18 » Jeu 28 Fév 2013 18:06

Merci. ;)
Avatar de l’utilisateur
manu_18
Platinium Galaxy Poster
 
Messages: 6508
Inscription: Sam 19 Mai 2012 22:23
Localisation: Bourges
Quel téléphone/système avez-vous ?: Autre Smartphone Android Autre marque
Haut


Messagepar babar86 » Jeu 28 Fév 2013 19:22

Super comme ça on peut essayer des modifications apportées (au systemUI dans mon cas) sans avoir à reflasher toute la rom!!!!Merci beaucoup Vincent81
Avatar de l’utilisateur
babar86
Master Galaxy Poster
 
Messages: 1622
Inscription: Mer 23 Mai 2012 19:09
Localisation: si le futoroscope vous dit quelque chose...
Quel téléphone/système avez-vous ?: Samsung Galaxy Note 1
Haut


Messagepar ezaechiel » Ven 10 Mai 2013 12:34

Vincent tu es mon dieu ^^, merci pour ce tuto et ces explications claires, mois qui me lance dans la création de rom custom basée sur des roms stock tu me facilites grandement la vie :D
Avatar de l’utilisateur
ezaechiel
Master Galaxy Poster
 
Messages: 1242
Inscription: Lun 16 Avr 2012 07:49
Haut


Messagepar xque_31 » Ven 10 Mai 2013 20:13

Tu vois je te l avais dit que avec ca tu comprendrez mieux
Avatar de l’utilisateur
xque_31
Master Galaxy Poster
 
Messages: 1172
Inscription: Lun 12 Nov 2012 13:31
Localisation: tarn
Quel téléphone/système avez-vous ?: Autre Smartphone Android Autre marque
Haut


Messagepar ezaechiel » Ven 10 Mai 2013 20:35

Grave ;) c'était le tutoriel qu'il me fallait :-D

EDIT : Grâce à toi vincent j'ai réussi à corriger un problème de traduction dans framework-res ^^, merci à toi ;)
Avatar de l’utilisateur
ezaechiel
Master Galaxy Poster
 
Messages: 1242
Inscription: Lun 16 Avr 2012 07:49
Haut


Messagepar EDWAR » Jeu 21 Nov 2013 10:22

Slt Vincent
Oooouais merci pour le tuto jai googlé mais impossible de faire fonctionner quoi que ce soit et puis je me suis rappellé ce petit tuto sans faille.
Il est tres clair et tout fonctionne.
Merci
Avatar de l’utilisateur
EDWAR
Confirmed Galaxy Poster
 
Messages: 88
Inscription: Sam 29 Déc 2012 15:13
Haut



Retourner vers Tutos Galaxy Note 1

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré

Ce forum est spécialisé Galaxy Note, Galaxy Note 2, Galaxy Note 8 et Galaxy Note 3.

cron

Samsung Galaxy Note Comparator

Trouvez en un clic le meilleur prix pour votre Galaxy Note 1 ou 2 avec le Galaxy Note Comparator, le comparateur de prix spécial Samsung Galaxy Note.

Découvrez le Samsung Galaxy S6 Edge


Galaxy Note nu chez Amazon.de Accessoires Samsung Galaxy Note chez Amazon
Housses, étuis, coques, claviers, Bluetooth.
Tout pour votre Galaxy Note !
Galaxy Note nu chez Amazon.de Samsung Galaxy Note nu chez Amazon
Identique au GN Français. Manuel d'utilisation FR dispo sur le forum.
Seulement 377 € nu !