Aller au contenu

Cherche membres sachant Recompilé APK system


Recommended Posts

Je m'explique j'ai décompilé et modifié un apk système jusque là aucun problème !

Par contre quand je veut le recompilé et que je vais supprimé les fichiers modifier dans le dossier keep/, je me rend compte qu'il manque des dossiers et fichier ! Donc je les ajoutes en manuelle mais lors de la recompilation APK Manager ne compile pas mes ajouts et le recompile comme il était avant !

Et donc compile un APK incomplet !

Quelqu'un à une idée ????????? Car la je vois plus

Voici le TUTO :

2 - Décompiler et recompiler un APK

Grâce à APK Manager, vous pourrez décompiler des APK, pour modifier les fichiers XML afin par exemple de rajouter un menu extinction plus complet, ajouter plus d’icônes pour la batterie, etc...

Vous devez maitriser ceci avant d'aller plus loin !

Une fois décompressé, voici le contenu du dossier :

captur16.png

Nous allons essayer de décompiler l'apk suivant : framework-res.apk.

Commencez par copier framework-res.apk dans le dossier place-apk-here-for-modding d'APK Manager.

Lancez ensuite APK Manager, à l'aide du programme "Script.bat", pour avoir le menu suivant :

captur17.png

2a - Mémoire allouée à Java

La première chose à faire, c'est d'augmenter la mémoire allouée à Java (Heap Size), car sinon vous risquez d'avoir des erreurs lors de la recompilation. Par défaut, cette valeur est de 64 megabytes

Tapez "20" pour accéder au menu "Set Max Memory Size (Only use if getting stuck at decompiling/compiling)", puis saisissez une valeur au moins égale à 512 . Si vous disposez d'un PC avec minimum 2Go de mémoire, saisissez alors 1024.

Une fois validé, vous verrez apparaitre en haut de l'écran le nombre saisi à droite de "Heap Size".

2b - Choisir un projet

Maintenant, nous devons indiquer à APK Manager sur quel fichier APK nous désirons travailler.

Saisissez le menu "22", pour choisir "Set current project". A l'écran vous aurez la liste des APK disponibles pour modification, vous devriez voir la même chose que ceci :

captur18.png

Saisissez donc "1" pour choisir "framework-res.apk"

Comme pour la mémoire, vous pouvez vérifier votre choix en regardant en haut du menu : à droite de "Current-App" s'affiche maintenant "framework-res.apk".

2c - Décompilation

Voici venu le moment crucial : la décompilation !

Rien de plus simple : saisissez le menu "9" pour "Decompile apk".

Au bout de quelques secondes, vous retournerez au menu.

2d - Modification

Le résultat de la décompilation se trouve dans le répertoire "projects\framework-res.apk". C'est à partir de là que vous effectuerez vos modifications XML.

Attention : Ne modifiez jamais des images à ce moment, sinon vous pourrez avoir des mauvaises surprises à la recompilation. Effectuez simplement les remplacements d'icones en dézippant l'APK, puis en faisant un copier/coller des fichiers. Voir le tutoriel de Scoony. A ce stade, effectuez simplement les ajouts d'images (obligatoire pour la recompilation).

Si vous devez modifier des fichiers XML, il faut savoir que dans beaucoup vous trouverez des nombres hexadécimaux qui permettent d'identifier de façon unique les lignes. Si vous ajouter des lignes, vous devrez faire coïncider ces nombres de façon à poursuivre la numérotation sans trou ni doublons. Dans l'exemple pour avoir un menu d'extinction étendu, vous verrez cela en détail...

2e - Recompilation

Pour l'instant, nous n'allons rien modifier, mais nous allons quand même recompiler l'APK pour l'exemple.

Rien de plus simple pour cela, il suffit de choisir "11" pour le menu "Compile apk".

Au bout de quelques secondes, APK Manager va vous poser la question "Is this a system apk (y/n)", saisissez "y" s'il s'agit d'un APK qui doit se placer dans le répertoire "system" de votre téléphone.

Juste ensuite, vous aurez droit à la question suivante :

captur19.png

Cela permet de ne remplacer que les fichiers modifiés, et d'éviter ainsi des erreurs inutiles. Répondez "y".

APK Manager va créer une copie du contenu original dans le répertoire "keep". Vous devrez aller dans ce répertoire pour supprimer tous les fichiers modifiés, et donc d'y laisser tous ceux qui sont à reprendre de l'APK d'origine.

Si vous avez modifié un fichier XML, quel qu’il soit, vous devrez également supprimer le fichier "keep\resources.arsc", car APK Manager va le regénérer automatiquement en tenant compte de vos modifications.

Une fois les suppression effectuées, revenez sur APK Manager, puis appuyez sur n'importe quelle touche.

Voilà, votre APK est maintenant recompilé, et se trouve dans le répertoire "place-apk-here-for-modding", préfixé du mot "unsigned" car il n'a pas encore été signé :

captur20.png

2f - Signature

Nous y sommes presque, il faut maintenant signer l'APK avant de pouvoir le réutiliser.

Choisissez simplement "12" pour le menu "Sign apk".

Le fichier "unsignedframework-res.apk", va être signé puis renommer en "signedframework-res.apk". Vous n'aurez plus qu'à le renommer en "framework-res.apk" pour l'installer sur votre téléphone.

2g - Astuces

Une fois recompilé, le répertoire "projects\framework-res.apk" existe toujours, vous pourrez donc y revenir dessus ensuite, sans avoir à décompiler à nouveau l'APK. Il vous suffira juste de choisir le projet "framework-res.apk", puis de recompiler l'APK.

Cela vous permet de tester plusieurs modifications rapidement.

Attention : si vous installez manuellement les fichiers modifiés (par ADB, USB, peut importe...), vous devez vider le dalvick-cache, sinon vous aurez des F.C.

3 - Décompiler et recompiler un JAR

En plus des APK, vous devrez parfois décompiler les fichiers JAR pour y apporter des modifications. Malheureusement APK Manager ne gère pas cela. Il vous faudra donc le faire à la main.

2a - Préparation

Créez-vous un répertoire sur votre disque, et placez-y les fichiers smali.jar et baksmali.jar que vous pourrez télécharger sur le site de Google Android.

Attention : Ces fichiers sont versionnés, au moment où j'écris ces lignes, vous téléchargerez les fichiers "smali-1.2.6.jar" et "baksmali-1.2.6.jar". Les lignes de commandes dans la suite de ce tutoriel seront à adapter si jamais les noms ont changés.

Ces 2 fichiers vont être utilisés par Java pour décompiler et recompiler les JAR.

Ensuite, placez votre fichier JAR dans ce même répertoire, par exemple "framework.jar"

Ouvrez une fenêtre DOS, puis allez dans le répertoire où vous avez placé les 3 fichiers précédents.

Si vous avez déjà un sous-répertoire "out" ou un fichier "classes.dex", supprimez les.

Vous devriez donc avoir quelque chose comme ça :

captur21.png

2b - Décompilation

Dans la fenêtre DOS, saisissez la ligne de commande suivante :

CODE: TOUT SéLECTIONNER java -Xmx512m -jar baksmali-1.2.6.jar framework.jar

S'il n'y a pas d'erreur, tout sera décompilé dans le sous-répertoire "out"

2c - Recompilation

Une fois vos modifications effectuée, saisissez la ligne de commande suivante :

CODE: TOUT SéLECTIONNER java -Xmx512m -jar smali-1.2.6.jar out -o classes.dex

Toujours s'il n'y a pas d'erreur, cela va vous créer un nouveau fichier "classes.dex".

A l'aide de 7-Zip, ouvrez le fichier "framework.jar" (clic droit dessus, 7-Zip, puis Ouvrir) :

captur22.png

Supprimez dans l'archive JAR le fichier "classes.dex", pour le remplacer ensuite par le fichier "classes.dex" qui se trouve dans votre répertoire (faîtes un simple glisser/déposer avec la souris).

Et voilà, votre nouveau "framework.jar" est disponible !

Attention : si vous installez manuellement les fichiers modifiés (par ADB, USB, peut importe...), vous devez vider le dalvick-cache, sinon vous aurez des F.C.

4 - Recommandations

- Assurez-vous d'avoir toujours accès au mode download par les touches du téléphone. en cas de soucis, cela sera votre seul recours !

- Jouer avec les APK et JAR n'est pas sans risque. Effectuez toujours une sauvegarde de vos applications et paramètres avant.

- Une mauvaise recompilation peut bloquer votre téléphone : reboot non stop au logo samsung, reboot sans raison, pas de signal capté, etc...

- N'utilisez jamais le notepad de Windows pour modifier vos fichiers, ils seront illisibles ensuite. Prenez toujours Notepad++

Modifié par micky51100
Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...
  • 3 months later...

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...