Jump to content

[TUTO] Modifier un thème (2 Façons possibles)


Recommended Posts

[Mise à Jour le 04/05/2011]

APK_Manager_0.png

AVANT DE COMMENCER:

Présentation:

Comme beaucoup le savent, je participe pas mal à la création des thèmes depuis bien longtemps sur ce forum. Beaucoup de personnes aussi, aimerait savoir comment faire son propre thème ou plutôt comment l'adapter à une autre version, c'est donc pour cela que je crée ce TUTO qui j'espère, va pouvoir vous aider dans les étapes de la modification d'un thème ou de son adaptation avec une version plus récente, il va aussi me permettre de plus avoir à me répéter! ou en tout cas, certainement moins.

Description d'un thème:

Qu'est ce qu'un thème?

Et bien, sous ANDROID, c'est tout simplement l'interface graphique de votre téléphone, les menus, les PopUps, les couleurs & tous les affichages divers que vous pouvez voir sur le système de votre téléphone. En comparaison à Windows, c'est l'affichage de toutes les fenêtres que vous voyez à l'écran en dehors de la console en ligne de commande (MS-Dos), ANDROID, c'est LINUX, et LINUX dans les bases, c'est pareil à WINDOWS (enfin, c'est plutôt l'inverse), on a le terminal (console en ligne de commande) et l'interface graphique qui elle permet de faciliter aux utilisateurs LAMBDA, son utilisation.

Pourquoi doit on en changer pour chaque versions différentes de roms? (ex: de CM 7 => CM 8.4)

Justement pour la raison que j'ai écrit au dessus, comme c'est l'interface graphique des menus, les menus changes d'une version à l'autre donc évidement, le thème lui aussi change puisque on est obligé de rajouter du texte et aussi des images pour l'adapter à l'autre version.

Vous me direz: "Mais alors pourquoi ne peut on pas remettre les thèmes actuels sur une version antérieur?"

La raison est aussi simple qu'au dessus, si on rajoute des choses, il y en a aussi qui sont enlevés, ce n'est donc plus compatible non plus!

voilà pour l'instant pour les questions, si vous en avez d'autres et si je peux y répondre, je les rajouterai là.... c'est parti pour le cours!

Regroupement des utilitaires:

Pour la retouche d'image (même pas besoin de logiciel de retouche):

j'ai trouvé cette Adresse WEB pour retravailler les images (notamment les PNG), il faut faire open Sumo Paint (en haut de la page) et çà vous ouvre une page comme un logiciel (c'est en anglais mais super simple d'utilisation), vous n'avez qu'à charger les images de votre PC, les modifier et les sauvegarder là ou vous voulez sur votre PC!

- Logiciel WEB Sumo Paint (fonctionne super bien)

Pour la compilation et décompilation:

- APK Manager 4.8 ( pour décompiler/ compiler si vous utiliser la méthode complexe car sans utilité dans la méthode simple)

- APK Manager 4.9 ( identique à celui du dessus mais la dernière version en mieux, permet notamment de travailler sur plusieurs projets.)

L'obligatoire à avoir avec APK Manager (sinon inutilisable):

Java Runtime Environnement(JRE):

juste une précision aux liens de téléchargement donnés par Kyojin, JRE est téléchargeable aussi sur le lien JDK , l'avantage contrairement à l'autre, on peut choisir la plateforme sur laquelle on travaille (Windows ou Linux, 32 ou 64 Bits)

- Lien JRE (du lien JDK)

L'utile à avoir avec APK Manager en fonctionnement complet:

Ces deux là, c'est pour ce qui est expliqué par mon ami Kyojin plus bas!

- Lien JDK

- Lien SDK

MODIFIER UN THEME:

1/ MÉTHODE SIMPLE:

si vous voulez faire rapide mais pas complet: juste à modifier deux répertoires et prendre un thème de même version que celle que vous voulez avec des couleurs quasi similaires car certaines images que vous voyez comme le volume ne sont pas des fichiers image, ce sont des fichiers XML. pour les extraire, ouvrir le thème.zip, aller à l'endroit du framework-res.apk, cliquer dessus, aller à l'endroit des deux répertoires, les faire glisser vers un dossier extérieur. pour les remettre, faire la même manip pour aller jusqu'au deux répertoires, supprimer les anciens dans le framework-res.apk en confirmant la suppression et faire glisser les deux modifiés à l'endroit ou étaient les autres puis fermer le tout en confirmant l'enregistrement. et voilà le thème modifié de manière simple!

Explication simple pour une mise à jour simple:

Par exemple, si vous voulez passer d'une version 8.3 à une version 8.4, récupérer les deux répertoires indiqués ci-dessous de la 8.3, remettez le contenu de chaque répertoire dans les répertoires du même nom de ceux de la 8.4 en faisant un copier/ coller (çà évite de supprimer des images de la 8.4 qui ne sont pas dans la 8.3) puis réinjecter les dans le framework-res.apk original de la 8.4 comme indiqué plus haut.

un petit plus comme c'est écrit plus bas, vu que c'est une mise à jour, pas besoin de modifier le fichier progess_horizontal.xml qui se trouve dans le répertoire drawable, donc vous pouvez faire la même manip. juste pour ce fichier.

résultat, vous avez un thème mis à jour quasi identique!

@ Davidspicadroid...

les deux répertoires sont:

- Drawable land mdpi

- Drawable mdpi

dans le deuxième (je marque celui là avant car c'est le principal mais le deuxième dans l'ordre alphabétique), vérifier que les images que vous remettez sont identiques, si il y en a plus, c'est pas grave, il n'en faut pas moins, ne pas modifier les images.9.png avec un logiciel de retouche d'images, c'est avec Draw9patch pour modifier si je me rappelle bien du nom( il y a un site en anglais pour les explications). les autres vous pouvez faire normalement ce que vous voulez mais n'en abusez pas, surtout dans les tailles.

dans le premier, c'est pareil, principalement des images.9.png, il me semble donc même punition! j'y fait plus trop attention vu que maintenant je fais plus de la reconduite de thème (Mise à jour).

2/ MÉTHODE PLUS COMPLEXE:

récupérer les applications nécessaires

Retrouver tous les utilitaires dans "regroupement des utilitaires" plus haut!

Présentation de APK Manager 4.9(plus complexe mais tellement mieux :P) :

pour commencer téléchargez APK_Manager_4.9 lien plus haut

dézippez le sur votre PC

allez dans Apk_Manager_4.9

démarrez l'application Script.exe

aperçu d'APK Manager

APK-M-4.9-01.jpg

c'est marqué comment faire, une touche, peu importe

/!\ (fenêtre que vous n'aurez pas si vous avez installé tous comme a décrit Kyojin plus bas) /!\

APK-M-4.9-02.jpg

nous ce qui va nous intéresser pour le moment

c'est juste la partie DÉCOMPILATION/ COMPILATION

donc je vais juste vous faire voir les fenêtres avec les codes chiffres à mettre

APK-M-4.9-03.jpg

tout d'abord, taper 22 cela va vous permettre de choisir votre projet

en mettant plusieurs fichiers "apk" à retravailler dans "place-apk-here-for-modding" en les renommant pour pouvoir les reconnaitre

c'est une des différences avec APK Manager 4.8

APK-M-4.9-04.jpg

voilà ce dont je vous parlais au dessus

dans mon cas j'ai choisi 2 (mon thème actuel sur GS)

APK-M-4.9-05.jpg

9 pour décompiler (rien de nouveau à rapport à la version 4.8)

le fichier décompilé, vous retrouverez un répertoire au nom du fichier dans le répertoire "projects" qui s'est créé

c'est dans celui que vous aurez à faire les modifications

une astuce pour les images: celles que vous rajoutez doivent être mise dans ce répertoire à l'emplacement ou

elles devront être à la finale, celle que vous ne faites que de modifier, mettez les plutôt comme dans "la méthode simple",

en ouvrant le fichier après recompilation et en y injectant les images

les fichiers image.9.png ajoutées doivent être mise de préférence décompiler (c'est quand on voit les traits noirs de chaque côté)

et évidement avant recompilation

APK-M-4.9-06.jpg

11 pour recompiler (rien de nouveau à rapport à la version 4.8 pour l'instant)

APK-M-4.9-07.jpg

c'est là que les changements commence (toujours à rapport à la version 4.8)

à la question "est ce un système Apk?", répondre "y" (oui)

tiens avant de taper "y", un conseil de ma part, supprimer les fichiers images que vous n'utilisez plus

çà évitera de les retrouver dans la compilation fini, normalement, on ne devrait pas le faire à ce moment mais

moi, je dis qu'il faut le faire ici!

APK-M-4.9-08.jpg

autre question comme vous avez fait des modifications

"à côté des signatures, voudriez vous copier par dessus des fichiers additionnels

que vous n'avez pas modifié dans l'apk original afin d'assurer au minimum le nombre d'erreurs?"

répondre "y", toujours oui quoi!

APK-M-4.9-09.jpg

le travail a commencé et hop encore une question (plus ou moins, plutôt un manip à faire)

"Dans le dossier d'APK Manager, vous trouverez un répertoire keep.

dedans, effacez tous les choses que avez modifiez et laisser celles que vous n'avez pas touchez.

Si vous avez modifiez un fichier xml, alors effacez le fichier ressources.arsc du répertoire keep ainsi que le fichier xml modfié.

Une fois fait alors pressez la touche entrée sur ce script.

appuyez sur une touche pour continuez..."

alors appuyons une touche (peu importe la touche)

APK-M-4.9-10.jpg

à la finale après un défilement, un pourcentage jusqu'à 100% et un affichage bref "everything is ok"

vous vous retrouvez avec cette fenêtre du départ comme quoi c'est bien fini

récupérer votre fichier "apk" dans "place-apk-here-for-modding"

renommez le avec son nom d'origine comme "framework-res.apk", c'est un exemple,

si vous avez lu ce que j'ai marqué plus haut sur les images juste modifiés, réinjectez les par "la méthode simple"(indiqué plus haut)

puis réinjectez le dans le zip du thème, là, c'est bien fini!

Présentation de APK Manager 4.8:

pour commencer téléchargez APK_Manager_4.8 lien plus haut

dézippez le sur votre PC

allez dans Apk_Manager_4.8

démarrez l'application Script.exe

aperçu d'APK Manager

APK_Manager_1.jpg

Tapez n puis la touche entrée

APK_Manager_2.jpg

c'est marqué comment faire, une touche, peu importe

/!\ (fenêtre que vous n'aurez pas si vous avez installé tous comme a décrit Kyojin plus bas) /!\

nous ce qui va nous intéresser pour le moment

c'est juste la partie DÉCOMPILATION/ COMPILATION

donc je vais juste vous faire voir les fenêtres avec les codes chiffres à mettre

APK_Manager_3.jpg

première fenêtre: écrire 9 puis la touche entrée pour décompiler

le fichier décompilé, vous retrouverez un répertoire au nom du fichier dans le répertoire "out" qui s'est créé

c'est dans celui que vous aurez à faire les modifications

APK_Manager_4.jpg

deuxième fenêtre: écrire 11 puis la touche entrée pour compiler

quelques recommandations:

- Il se peut que certains n'arrivent pas à le faire fonctionner sur un système 64 bits, Si c'est votre cas, il faut savoir qu'il existe pour plusieurs plateformes donc si vous avez Windows 7 64 Bits, il vous faudra JAVA pour Windows 7 64 Bits.

- pour décompiler, faites le avec le framework-res.apk original, çà évitera d'avoir des erreurs dans la décompilation.

- pour compiler, c'est pareil, essayez de le faire que avec ce que vous avez rajouter, le restant, privilégiez plutôt la méthode simple, sauf si vous avez fait cela vraiment dans les normes de la modification (C.à.D: des images identiques en tous points sauf évidement celles que vous rajouterez puisqu'elles n’existaient pas!)

- Pour commencer, je vous conseil plutôt APK Manager 4.8, c'est plus simple, puis ensuite la version 4.9 quand vous avez bien compris le principe.

c'est parti pour la méthode plus complexe:

a ) méthode sans rajout d'image(s):

Tout d'abord, le fichier (framework-res.apk) ou vous aviez les deux répertoires que j'ai cité plus haut dans la méthode simple, vous le récupèrez, pour être bien et pas avoir de souci, prennez celui de la CM original! il est dans le zip à l'emplacement suivant: /system/ framework, vous l'extrayez et le mettez dans un répertoire qui s'appelle "place-apk-here-for-modding" qui se trouve dans votre répertoire Apk_Manager_4.8, vous ressortez de là et dans le répertoire Apk_Manager_4.8, vous lancez le fichier Script.exe (pour qu'il fonctionne sur ton PC, il faut qu'il y est d'installer JAVA de SUN Microsystems), vous décompilez comme indiquer ci-dessus en images. Vous le laissez faire (allez boir un café) , çà peut être long suivant ton PC, la décompilation finit, dans le répertoire Apk_Manager_4.8, vous avez un répertoire "out" qui s'est créé, c'est dans celui là que çà va se passer! Vous faites la décompilation car si vous ouvrez les fichiers XML comme çà, vous ne verrez rien de compréhensible.Une fois cela fait, vous ouvrez les fichiers avec le Bloc-notes de windows.

Maintenant, on va commencer en modifiant la couleur de la barre de volume, çà se passe dans "progress_horizontal.xml"(il se trouve dans /out/ res/ drawable), le contenu est dans la citation ci-dessous, ce qui t'intéresse, c'est ce que j'ai mis en rouge, ce sont les codes couleurs de la barre volume, sur le net, vous avez des sites qui vous permette de savoir quel couleur que c'est et de créer tes codes couleurs, vous prennez ceux là pour voir et vous refaites les vôtres en comparaison, il y a le début de couleur ainsi que le centre et la fin, c'est du haut vers le bas, me semble t'il!

petite traduction même si j'imagine que vous aviez deviner:

- startColor = début de couleur

- endColor = fin de couleur

- centerColor = centre de couleur

site pour les codes couleur:

- le lien du site

Contenu du fichier progress_horizontal.xml d'un thème original ou modifié normalement:

<?xml version="1.0" encoding="UTF-8"?>

<layer-list

xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@id/background">

<shape>

<corners android:radius="5.0dip" />

<gradient android:startColor="#ff9d9e9d" android:endColor="#ff747674" android:angle="270.0" android:centerY="0.75" android:centerColor="#ff5a5d5a" />

</shape>

</item>

<item android:id="@id/secondaryProgress">

<clip>

<shape>

<corners android:radius="5.0dip" />

<gradient android:startColor="#80ffd300" android:endColor="#a0ffcb00" android:angle="270.0" android:centerY="0.75" android:centerColor="#80ffb600" />

</shape>

</clip>

</item>

<item android:id="@id/progress">

<clip>

<shape>

<corners android:radius="5.0dip" />

<gradient android:startColor="#ffffd300" android:endColor="#ffffcb00" android:angle="270.0" android:centerY="0.75" android:centerColor="#ffffb600" />

</shape>

</clip>

</item>

</layer-list>

Autre chose pour le thème HONEYCOMB comme pour le thème BlueRay et encore d'autres comme GinGerBread de Kyojin, il y a encore une chose à changer, c'est l'affichage du menu en noir quand on appuie sur le bouton menu, çà se passe aussi dans un fichier XML, c'est le fichier "styles.xml", son emplacement se trouve dans "/out/ res/ values", vous l'ouvrez toujours avec le Bloc-notes de Windows et vous rechercher le texte ci-dessous. cette méthode m'a été gentiment expliqué par notre ami KYOJIN.

endroit à rechercher dans "styles.xml":

  <style name="TextAppearance.Widget.IconMenu.Item" parent="@style/TextAppearance.Small">
	<item name="textColor">?textColorPrimaryInverse</item>

vous remplacez la deuxième ligne par ceci.

résultat:

	  <item name="textColor">@color/bright_foreground_dark</item>

puis vous recherchez le texte suivant.

autre endroit à rechercher dans "styles.xml":

  <style name="Theme.ExpandedMenu" parent="@style/Theme">
	<item name="listViewStyle">@style/Widget.ListView.Menu</item>
	<item name="windowAnimationStyle">@style/Animation.OptionsPanel</item>
	<item name="background">@null</item>
	<item name="itemTextAppearance">?textAppearanceLargeInverse</item>

Et à la dernière, il suffit d'enlever le "Inverse' de sorte à avoir

résultat:

	<item name="itemTextAppearance">?textAppearanceLarge</item>

Voilà, c'est pour fini avoir le fond des boutons du menu en noir, vous n'avez plus qu'à enregistrer le fichier "styles.xml".

une fois cela fait, si vous n'avez rien d'autres à y faire hormis récupérer les images de l'autre thème (moi à une période, je n'y faisait que çà, au début, juste changer les images), vous pouvez recompiler comme indiquer en images plus haut. Une fois compilé, vous utilisez la méthode simple pour remettre les images dans les deux répertoires cités dans la méthode simple.

Si c'est des images faites correctement avec les bons outils, normalement, vous devez même pouvoir recompiler avec, évidement il faut avoir décompiler aussi avec donc les avoir injecté dedans avant avec la méthode simple, juste pour vous dire qu'il est aussi bien de les remettre après, cela permet d'être sûr de ne pas avoir d'erreur(s).

Une astuce:

Si vous ne modifiez que la barre de volume, et que vous avez déjà le même thème d'une autre version, vous n'êtes pas non plus obligé d'utiliser cette méthode, la simple suffit car le fichier progress_horizontal.xml est fait pareil pour tous les versions (sauf cas exceptionnel comme celui du thème HONEYCOMB), juste à faire comme les images, le copier de l'autre version et le réinjecter dans le répertoire "drawable"de la version que vous modifiez. Vérifier bien qu'il n'est pas comme pour HONEYCOMB, sinon, il pourrait sûrement être la cause d'un BOOTLOOP!

Çà peut se faire différemment pour le fichier "progress_horizontal.xml", la preuve ci-dessous:

b ) méthode avec rajout d'image(s):

Ci-dessous, le fichier "progress_horizontal.xml" dans le thème HONEYCOMB, le même que plus haut mais complètement différent , c'est des lien vers des bons fichiers images, c'est plus simple ou plus compliqué dans un autre sens car là il te faudra modifier un autre fichier.xml parce que, quand tu rajoutes des images, il faut que tu les rajoutes au images et fichiers déjà répertoriés dans cet autre fichier XML.

le contenu du fichier progress_horizontal.xml du thème HONEYCOMB:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list
 xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@id/background" android:drawable="@drawable/progress_bg_holo_light" />
<item android:id="@id/secondaryProgress">
	<scale android:drawable="@drawable/progress_secondary_holo_light" android:scaleWidth="100%" />
</item>
<item android:id="@id/progress">
	<scale android:drawable="@drawable/progress_primary_holo_light" android:scaleWidth="100%" />
</item>
</layer-list>

Si tu rajoutes des images comme pour le thème HONEYCOMB, il faut donc modifier un autre fichier, c'est le fichier "public.xml" qui se trouve dans "/out/ res/ values "

Ce que tu trouves dans public.xml, ressemble à çà:

<public type="drawable" name="selected_day_background" id="0x01080425" />

Il faut que tu fasses attention à trois choses, ce qui est en rouge au dessus, le premier, c'est l'emplacement du fichier image, même si c'est marqué "drawable", l'emplacement est "drawable mdpi", le deuxième est son nom, le troisième, c'est son identifiant dans ce fichier, donc si tu rajoutes un fichier image dans "drawable mdpi", tu dois impérativement le mettre avant la ligne qui ressemble à ci-dessous (ou préférable, j'ai pas essayé juste à la fin de ces types de ligne, celles avec le mot APKTOOL).

à quel endroit modifier dans public.xml:

<public type="drawable" name="APKTOOL_DUMMY_00fd" id="0x010800fd" />

de plus il est aussi impératif que l'identifiant que tu mettra aux fichiers image soit à la suite du dernier identifiant existant dans le dossier "drawable", là, l'exemple est bon, le dernier identifiant est 0x01080425 donc le suivant est 0x01080426, les identifiants se suivent comme çà mais ne sont pas forcément afficher dans l'ordre dans "public.xml", le mieux, c'est de regarder pour comprendre!

la façon dont les identifiants se suivent:

0x01080420/ 0x01080421/ 0x01080422/ 0x01080423/

0x01080424/ 0x01080425/ 0x01080426/ 0x01080427/

0x01080428/ 0x01080429/ 0x0108042a/ 0x0108042b/

0x0108042c/ 0x0108042d/ 0x0108042e/ 0x0108042f/

0x01080430

pour HONEYCOMB, il y a plusieurs fichiers images qui ont été rajouté, ceux qu'il y avait de mis dans "progress_horizontal.xml" ont été mis devant la ligne du dessus comme ceci

manière que çà a été remis devant la ligne ci-dessus dans "public.xml" de HONEYCOMB(partie modifiée en rouge):

<public type="drawable" name="progress_bg_holo_light" id="0x01080426" />

<public type="drawable" name="progress_primary_holo_light" id="0x01080427" />

<public type="drawable" name="progress_secondary_holo_light" id="0x01080428" />

<public type="drawable" name="APKTOOL_DUMMY_00fd" id="0x010800fd" />

comme autre modification que l'on peut aussi apporter, c'est celle de la barre de progression "progress_indeterminate"(il se trouve dans /out/ res/ drawable), cette méthode m'a été gentiment expliqué par notre ami KYOJIN, je vais vous l'expliquer avec toujours le thème HONEYCOMB. il va falloir modifier le "progress_indeterminate_horizontal" et aussi le fichier "public.xml" vu qu'une fois des liens images ont été rajouté!

le contenu du fichier "progress_indeterminate_horizontal" original:

<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
 xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate1" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate2" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate3" />
</animation-list>

Dedans, il n'y a pas grand chose de compliquer. Les images s'affichent dans l'ordre qu'on les lit.

- duration: c'est la durée d'affichage de l'image qui est marqué après.

- android:drawable: c'est l'emplacement de l'image avec son nom bien sûr!

le contenu du fichier "progress_indeterminate_horizontal" HONEYCOMB:

<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
 xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo1" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo2" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo3" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo4" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo5" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo6" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo7" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo6" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo5" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo4" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo3" />
<item android:duration="50" android:drawable="@drawable/progressbar_indeterminate_holo2" />
</animation-list>

Dans le thème HONEYCOMB, toutes les images qu'il y avaient à l'origine de marquées dans "progress_indeterminate_horizontal" ont étaient supprimé, donc on aurait pu pour faire un peu de clair, supprimer aussi les images et les enlever du fichier "public.xml" mais çà aurait justement obligé à redécaler tous les identifiants de tous les images qui passent après celles-ci dans "public.xml", quand on voit l'identifiant de "progressbar_indeterminate3" qui est "0x01080253" et quand on voit que le dernier est 0x01080425", vous voyez que cela fait beaucoup de modification donc autant les laisser et rajouter à la suite les nouvelles.

Pour l'instant, on en es pas encore là, alors je continue avec le fichier "progress_indeterminate_horizontal", pour HONEYCOMB, il a été recréé 7 autres images en plus des 3 autres de "progress_horizontal.xml", elle sont mise dans le sens que l'on veut qu'elle soit affichées, vous remarquerez qu'il y en a certaines qui ont été marqué deux fois, c'est parce qu'on veut déterminer l'affichage de la façon suivante.

manière que l'on verra l'affichage (en texte, j'essaierai de le faire en image):

progressbar_indeterminate_holo1/ progressbar_indeterminate_holo2/ progressbar_indeterminate_holo3/

progressbar_indeterminate_holo4 / progressbar_indeterminate_holo5/ progressbar_indeterminate_holo6/

progressbar_indeterminate_holo7/ progressbar_indeterminate_holo6/ progressbar_indeterminate_holo5/

progressbar_indeterminate_holo4/ progressbar_indeterminate_holo3/ progressbar_indeterminate_holo2

voilà c'est tout pour çà.

dans le fichier n'aurait plus qu'à ajouter ces 7 images en plus des 3 autres qui on étaient rajouter précédemment comme ceci.

manière de rajouter les 7 images dans "public.xml":

<public type="drawable" name="progress_bg_holo_light" id="0x01080426" />

<public type="drawable" name="progress_primary_holo_light" id="0x01080427" />

<public type="drawable" name="progress_secondary_holo_light" id="0x01080428" />

<public type="drawable" name="progressbar_indeterminate_holo1" id="0x01080429" />

<public type="drawable" name="progressbar_indeterminate_holo2" id="0x0108042a" />

<public type="drawable" name="progressbar_indeterminate_holo3" id="0x0108042b" />

<public type="drawable" name="progressbar_indeterminate_holo4" id="0x0108042c" />

<public type="drawable" name="progressbar_indeterminate_holo5" id="0x0108042d" />

<public type="drawable" name="progressbar_indeterminate_holo6" id="0x0108042e" />

<public type="drawable" name="progressbar_indeterminate_holo7" id="0x0108042f" />

<public type="drawable" name="APKTOOL_DUMMY_00fd" id="0x010800fd" />

En bleu, ce qui a déjà était rajouté tout à l'heure, en rouge, c'est ce qui vient d'être fait maintenant et en noir, ce qui y est déjà.

Voilà maintenant, il n'y a plus qu'à mettre toutes ces images dans "drawable mdpi" et lancer la compilation!

c'est terminé pour l'explication, si certains connaissent d'autres petits trucs, 'hésitez pas à me l'informer pour voir à les rajouter. j'espère que ce TUTO vous plaira!

Enjoy.gif

By Franzyroy

Edited by franzyroy
Link to comment
Share on other sites

Ouaip +10

Car super bien expliqué, détaillé, imagé, la Classe quoi :)

:P

Edit

Et puis ça t'encourage aussi à continuer de faire de belles et bonnes choses :)

Edited by jonathan19
Link to comment
Share on other sites

Du grand art. Bravo, beau travail de vulgarisation. Merci. Franzy. Ceci en toute modestie, ce qui n'est pas toujours le cas chez d'autres..! ;). Tu me fais penser parfois à kyojin dans cette façon de voir les choses.

C'est vrai le sujet avait été abordé je ne sais plus où, mais voilà un tuto clair et précis.

Edited by jtecosepa
Link to comment
Share on other sites

J'aurais bien testé plus en profondeur mais quand j'ouvre un fichier xml ça me donne ça par exemple ...

progress_horizontal.xml

0 ¬ \ 0 D R d ~ è ì 0 D i d r a d i u s

s t a r t C o l o r e n d C o l o r a n g l e c e n t e r Y c e n t e r C o l o r a n d r o i d * h t t p : / / s c h e m a s . a n d r o i d . c o m / a p k / r e s / a n d r o i d

l a y e r - l i s t i t e m s h a p e c o r n e r s g r a d i e n t c l i p € $ Ð ¨ž £ ÿÿÿÿ $ ÿÿÿÿÿÿÿÿ

8 ÿÿÿÿÿÿÿÿ ÿÿÿÿ $ ÿÿÿÿÿÿÿÿ 8 ÿÿÿÿÿÿÿÿ

ÿÿÿÿ ÿÿÿÿÿÿÿÿ

ˆ ÿÿÿÿÿÿÿÿ ÿÿÿÿ žÿ ÿÿÿÿ tvtÿ ÿÿÿÿ ‡C ÿÿÿÿ @? ÿÿÿÿ Z]Zÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ 8

ÿÿÿÿÿÿÿÿ ÿÿÿÿ $ ÿÿÿÿÿÿÿÿ $ ÿÿÿÿÿÿÿÿ 8

ÿÿÿÿÿÿÿÿ

ÿÿÿÿ

ÿÿÿÿÿÿÿÿ

ˆ ÿÿÿÿÿÿÿÿ ÿÿÿÿ Óÿ€ ÿÿÿÿ Ëÿ  ÿÿÿÿ ‡C ÿÿÿÿ @? ÿÿÿÿ ¶ÿ€ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ 8 ÿÿÿÿÿÿÿÿ ÿÿÿÿ

$ ÿÿÿÿÿÿÿÿ $ ÿÿÿÿÿÿÿÿ 8 ÿÿÿÿÿÿÿÿ

ÿÿÿÿ ÿÿÿÿÿÿÿÿ

ˆ ÿÿÿÿÿÿÿÿ ÿÿÿÿ Óÿÿ ÿÿÿÿ Ëÿÿ ÿÿÿÿ ‡C ÿÿÿÿ @? ÿÿÿÿ ¶ÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ

ÿÿÿÿ

Link to comment
Share on other sites

çà, c'est parce que tu n'as pas lu mon TUTO correctement, j'ai marqué la raison qui fait que l'on a un affichage comme cela!

regardes en dessous, c'est une partie de mon TUTO, j'ai mis en rouge pourquoi décompiler, çà correspond à ce que tu me dis, je pensais que les images et tout ce que je disais sur APK Manager suffisait pour faire comprendre que tu devais passer par cette application.

c'est parti pour la méthode plus complexe:

a ) méthode sans rajout d'image(s):

Tout d'abord, le fichier (framework-res.apk) ou vous aviez les deux répertoires que j'ai cité plus haut dans la méthode simple, vous le récupèrez, pour être bien et pas avoir de souci, prennez celui de la CM original! il est dans le zip à l'emplacement suivant: /system/ framework, vous l'extrayez et le mettez dans un répertoire qui s'appelle "place-apk-here-for-modding" qui se trouve dans votre répertoire Apk_Manager_4.8, vous ressortez de là et dans le répertoire Apk_Manager_4.8, vous lancez le fichier Script.exe (pour qu'il fonctionne sur ton PC, il faut qu'il y est d'installer JAVA de SUN Microsystems), vous décompilez comme indiquer ci-dessus en images. Vous le laissez faire (allez boir un café) , çà peut être long suivant ton PC, la décompilation finit, dans le répertoire Apk_Manager_4.8, vous avez un répertoire "out" qui s'est créé, c'est dans celui là que çà va se passer! Vous faites la décompilation car si vous ouvrez les fichiers XML comme çà, vous ne verrez rien de compréhensible.Une fois cela fait, vous ouvrez les fichiers avec le Bloc-notes de windows.

Edited by franzyroy
Link to comment
Share on other sites

Plop!

Je voulais juste demander, pourquoi utiliser la v4.8 au lieu de la 4.9? Perso je préfère cette dernière parce qu'elle permet notamment la gestion de plusieurs projets en parallèle, donc parfait si on bosse sur plusieurs thèmes et applis. :)

Sinon le "Java was not found" est inquiétant. x) Peut-être -si le screen vient de ton 7 x64- est-ce là la raison pour laquelle justement çà marche pas. :P

Je pense qu'il serait bien de préciser avant que, pour que çà fonctionne d'une manière optimale, il faudrait avoir au préalable le SDK d'Android (pour Software Development Kit) installé, et (par conséquent) le JDK (pour Java Development Kit) et le JRE (comme le dit franzyroy).

Il faut aussi définir le path (pour le JDK, JRE et ADB).

Bref, avant que ceux qui avaient décidé de tenter prennent peur et quittent le thread, j'explique un peu.

- Pour ceux qui n'ont pas le SDK d'Android installé, il faut le télécharger (lien plus haut) et télécharger aussi le JDK.

- Il faut commencer par installer le JDK (notez le répertoire d'installation), puis le SDK (pour ce qui suit, on va dire qu'on l'installe dans C:\Android ce qui donnera comme chemin à la fin: C:\Android\android-sdk).

--> Si, même après avoir installé le JDK, l'installateur du SDK vous indique qu'il ne trouve pas le JDK (oui oui çà fait trop de DK, y'a des cas comme çà où... OK c'était pas drôle ^^), ne vous affolez pas et ne vous énervez pas (en gros faîtes pas la même erreur que j'avais faite la dernière fois :P), il vous suffira juste d'appuyer sur Back puis Next, et oh magie, çà marche!

- A la fin de l'install', une fenêtre d'invite de commande s'ouvre et vous avez à peu près ceci:

sdk_tuto_1.PNG

- Sélectionnez "Install" et allez faire autre chose, çà prendra du temps. :P

- Une fois cela fini, vous êtes presque prêt.

- Faîtes un clic droit sur "Poste de Travail" ou "Ordinateur", sélectionnez "Propriétés", puis "Avancé" ou "Paramètres système avancés". Allez dans Variables d'environnement:

sdk_tuto_2.PNG

- Quand vous y êtes, faîtes Nouveau. Dans "Nom de la variable", entrez ADB. Dans "Valeur de la variable", entrez "C:\Android\android-sdk\platform-tools\adb" (J'ai pris l'exemple de l'installation que je fais, à savoir que le chemin est "C:\Android\android-sdk", bien sûr vous adapterez si vous avez choisi autre chose).

Vous aurez quelque chose comme çà:

sdk_tuto_3.PNG

- Validez!

- Faîtes encore "Nouveau" si vous n'avez pas encore le PATH de défini. Dans "Nom de la variable", entrez path. Dans "Valeur de la variable", entrez "C:\Program Files\Java\jre6\bin;C:\Program Files\Java\jdk1.6.0_24\bin;C:\Android\android-sdk;C:\Android\android-sdk\platform-tools;C:\Android\android-sdk\tools;C:\Windows\aapt" (Encore une fois j'ai pris l'exemple de l'installation que je fais, vous adapterez selon le chemin de votre SDK, la version de votre JDK et le chemin de l'installation (voilà pourquoi je vous ai dit de le retenir)). Les points-virgules servent seulement à séparer les 2 adresses. Ne mettez dont pas d'espace!

Un aperçu:

sdk_tuto_4.PNG

- Appuyez sur OK pour tout valider. Redémarrez (pas nécessaire mais recommandé).

Voilà, maintenant quand vous démarrez le script d'APK Manager, vous ne devriez avoir aucun message d'erreur, ni à propos d'ADB ni de Java, et vous pourrez donc l'utiliser totalement.

Avec APK Manager 4.9, si tout est OK, vous aurez d'office cette fenêtre:

sdk_tuto_5.PNG

Vous n'aurez qu'à mettre votre/vos apk dans place-apk-here-for-modding, puis taper 22 pour choisir votre projet et commencer! Plus besoin de "nettoyer" les anciens à chaque fois. ;)

@franzyroy: Peut-être que çà résoudra tes soucis avec le x64. :)

Ah et j'ai vu que tu n'as pas parlé de la méthode "keep" avec APK Manager, pourtant elle est efficace pour éviter les erreurs lors de la compilation, avec çà on peut modifier un apk déjà "thémée" en toute tranquillité, çà évite donc de devoir refaire toutes les modif's.

Et désolé pour l'incrust'. :P

Voilou. :)

Link to comment
Share on other sites

t'inquiètes Kyojin! t'as eu raison de t'incruster je pense même qu'il serait bon de le rajouter, je vais voir comment, je ferais un copier de ton post et le remettrai dans un de mes premiers. pour mieux comprendre avant cette manip, je vais d'abord apprendre à la maîtriser donc je ne ferai qu'une réelle Mise à Jour à la suite de mon apprentissage.

Pourquoi le 4.8 plutôt que le 4.9? - et bien justement parce que le 4.9, il ne fonctionnait pas sur mon PC, sûrement pour ces raisons.

Encore une fois Merci Kyojin!!!

ENJOY...

edit:

en tous cas, Kyojin, j'ai remis dans mon TOPIC un lien pour ton POST en précisant ce que c'est!

edit 2:

Sinon le "Java was not found" est inquiétant. x) Peut-être -si le screen vient de ton 7 x64- est-ce là la raison pour laquelle justement çà marche pas. :P

Je pense qu'il serait bien de préciser avant que, pour que çà fonctionne d'une manière optimale, il faudrait avoir au préalable le SDK d'Android (pour Software Development Kit) installé, et (par conséquent) le JDK (pour Java Development Kit) et le JRE (comme le dit franzyroy).

juste une précision aux liens de téléchargement (ce qui est au dessus) donnés par Kyojin, JRE est téléchargeable aussi sur le lien JDK donnait par Kyojin, l'avantage contrairement à l'autre, on peut choisir la plateforme sur laquelle on travaille (Windows ou Linux, 32 ou 64 Bits)

edit 3:

le lien pour APK Manager 4.9:

j'ai aussi mis un lien dans mon TOPIC pour cette version!

- APK Manager 4.9

edit 4:

je viens de tester APK Manager 4.9 et c'est impeccable, surtout pour ce qui est du multi-projets, je pense que c'est ce truc là que je n'avais du comprendre au départ et qui faisait que je croyais que cela ne fonctionnait pas (pour ma défense, c'est quand j'ai commencé à travailler avec! :P). je le recommande vivement!!! ;)

edit 5:

ton incrust' m'a été utile pour preuve:

- la méthode "keep": je ne connais pas et pourtant çà doit intéressant justement que je reprend fréquemment des thèmes existants et que je modifie.

Edited by franzyroy
Link to comment
Share on other sites

Petite mise à jour à propos de JRE (JAVA), vous devez choisir JAVA en rapport à votre plateforme (Type d'OS: Windows 32 Bits - Windows 64 Bits - Linux - etc, etc...), ne pas aller dans le lien qu'à proposer Kyojin pour JRE, vous n'avez pas le choix, allez dans celui de JDK, là vous avez le choix de la plateforme, je remettrai les liens plus en évidence dans mon premier POST!

ENJOY....

Edited by franzyroy
Link to comment
Share on other sites

un petit UP pour dire qu'il y a longtemps, j'avais fait un marque page de ce lien dans Firefox pour modifier un thème, çà peut être intéressant, je vais regarder et si j'y vois quelques trucs à ne pas louper, je vous en reparle!

edit:

Encore du nouveau, j'ai trouvé cette Adresse WEB pour retravailler les images (notamment les PNG), il faut faire open Sumo Paint (en haut de la page) et çà vous ouvre une page comme un logiciel (c'est en anglais mais super simple d'utilisation), vous n'avez qu'à charger les images de votre PC, les modifier et les sauvegarder là ou vous voulez sur votre PC!

Adresse Sumo Paint:

- Logiciel WEB Sumo Paint (fonctionne super bien)

je le remettrai dans le premier post du TOPIC!

edit 2:

Encore une info, j'ai l'impression qu'il fonctionne aussi sur les images.9.png, il faut que je teste pour voir le résultat! car dès fois, on a l'impression et c'est pas le cas! Moi, çà m'intéresserait pour passer mes images MDPI (SPICA) à HDPI (GS)!

ENJOY....

Edited by franzyroy
Link to comment
Share on other sites

Salut franzyroy,

Moi ma technique pour modifier les 'icones.9.png' , je de-compile un framework-res.apk d'origine avec APK_Manager,

je modifie l' icone.9.png avec Gimp sans toucher aux bandes noires,

puis je re-compile le framework, puis j'extrais de celui ci les icônes modifiées.

Ça fonctionne pour moi, donc je pense qu'il ne devait pas y avoir de soucis pour les autres images.

Mais bon je n'ais pas tout testé non plus ^_^ .

Ça peux être une autre petite astuce, non ?

Link to comment
Share on other sites

si c'est pas mal mais des fois à la recompilation, çà peut déconner! Sinon pour le logiciel en ligne, pour ces images, c'est pareil, çà fonctionne plus ou moins! Dans les deux cas, c'est surtout quand tu veux modifier la taille de l'image que çà ne va pas! Kyojin doit lui utiliser DRAW9PATCH, je pense, et là le résultat est bon, pour ma part, je l'ai toujours détourné sauf que maintenant que je suis en HDPI, je suis un peu embêté avec çà. c'est le temps d'adaptation... heureusement, je connais quelqu'un! (Merci KYOJIN! ;))

pour DRAW9PATCH, je l'ai utilisé mais peu, çà avait l'air de se faire pas trop difficilement, le tout, c'est ces fameuses bandes noires à placer sur la zone que tu veux extensible.c'est là que mon esprit tortueux buté... :P

Edited by franzyroy
Link to comment
Share on other sites

Mise à jour du TUTO [04/05/11], je préviens ceux qui pouvez trouver cela pas simple, çà parait encore moins simple même si à la finale, c'est pas plus compliqué! si pour ceux qui connaissent, vous trouvez que j'aurais pu l'écrire autrement, n'hésitez pas, çà ne me dérange en aucun point! la partie modifié bien sûr principalement.

ENJOY...

Link to comment
Share on other sites

  • 5 months later...

Bonjour, Voila j'ai un petit souci avec mon thème sur SGS.

Depuis longtemps déjà j'utilise le Thème AndroDena

Je l'ai donc réadapté pour Gingerbreak à sa sortie. J'ai corrigé quelque imperfection sur les png de base et aussi changé les icônes et autre petit truc.

Mon problème est que je cherche à refaire mon volet de notification transparent (encadré rouge sur la photo) mais depuis Gingerbread, je n'arrive pas à l'appliqué. La .9.png à du changé par rapport à Froyo. J'ai fait celle de frameworks.apk et de systemui.apk mais rien n'y fait.

Y aurait il quelqu'un pour me renseigné sur la png à modifier. Merci.

device20111104042811.pngsc20111104031933.pngsc20111104031851.png

Edited by WillSGS
Link to comment
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.

 Share

×
×
  • Create New...