Tutoriel [TUTO] Créer son thème pour utilisateur confirmé

  • Auteur de la discussion ren41200
  • Date de début
R

ren41200

Membre
Inscrit
17 Février 2012
Messages
2 414
Points
36
  • #1
Créer son thème pour utilisateur confirmé​
par ren41200​

Avertissement Cette opération comporte des risques. Ni moi ni phonandroid ne peut être tenu responsable des éventuels problèmes rencontrés.​

Pour commencer le tuto est en deux partie une simple qui représente 80% d'un thème foncé et une autre partie plus compliqué 100% d'un thème claire avant de vous lancer bien lire le tuto si vous ne comprenez pas faites une simulation mais je déconseille de l'installer sur votre mobile (en pratiquant on comprend mieux)​

Première partie

Il faut être bien organisé donc il faut créer un dossier avec différents répertoire afin de tout classer comme il faut au fur et à mesure afin de s'y retrouver​

Modifier les images dans un "APK"


Extraction d'un "APK"​

Pour comprendre un "APK" est tout simplement un fichier compressé de type ".zip"
Pour l'extraire 7-Zip est idéal
Dans votre dossier prévu à l'organisation de votre thème créez un autre dossier du même nom que votre "APK"
Puis y décompressez le fichier "APK"​

Intégrer une une image à son "APK"​


Pour integrer une image de votre choix a son "APK"
Il faut choisir des images et de faire un copier collé des images choisi dans le dossier "APK" décompressé
Il est aussi possible de simplement modifier les images intégré avec Gimp par exemple​

Reconstruire et signer votre "APK"​
Entrez dans le fichier de votre "APK" modifé
Sélectionnez les fichiers
clic droit de la souris et selectionnez ajouter a "nom du dossier zip
Une fois le fichier créer renommez en remplaçant .zip par .apk​

Il reste à signer suivre le tuto​
ici​


Les fichiers à modifier

Ils y a un grand nombre de fichiers une liste serai très longue nous allons étudier rapidement le principal et vous verrez les autres par vous même​
Le principal dans une rom pour le thème​

Framework-res.apk
laucher.apk​

Fichier contenu dans framework​

Répertoire /framework-res/res/drawable/

barre de notification = statusbar_background.png
barre qu'on fait glissé pour voir les notifications = status_bar_close_on.9.png
wallpaper par défaut = default_wallpaper.jpg
le boutons = tout se qui commence par "btn_"
émoticônes = tout se qui commence par "emo_im"
icônes dans les barres de menu = "ic_menu_"
fond des pop up = popup_full_dark.9.png
popup_top_dark.9.png
popup_center_dark.9.png
popup_bottom_dark.9.png
(pour modifir le lockscreen et les autres fenêtres d'information)


icônes dans la barre de notification = tout se qui commence par : "stat_"
icônes en général = "ic_"


Le launcher
Répertoire /launcher/res/drawable

fonds d'écran = "wallpaper_"
miniatures des wallpaper = "wallpaper_[...]_small.jpg"
fond du launcher = "pattern_carbon_fiber_dark.png"
Répertoire /launcher/res/drawable-port/ et /launcher/res/drawable-land
icone du launcher pas sélectionné = tray_handle_normal.png
icone du launcher sélectionné = tray_handle_selected.png
icone du launcher si on le touche (tactile) = tray_handle_pressed.png
barre du launcher durant la suppression déplacement d'une icone (bureau) = delete_handle.png et delete_handle_normal.png
image de barre du launcher = "ic_" (suivant l'utilisation)
fond du widget "recherche" = "search_bg.9.png"

Pour modifier ses images il est préférable d’utiliser Eclipse
(un tuto sera bientôt disponible)

Pour la reconstruction de la ROM il suffit simplement de compresser le dossier en format zip et de signer

Créer un update.zip de mise à jour de la ROM​

Pour cela nous avons besoin de deux répertoire un "system" l'autre "META-INF"

system = ensemble de répertoire et sous répertoire ans le répertoire "system", créez deux répertoire, un dossier "app", contenant les applications APK que vous avez modifiez, et un répertoire "framework", contenant le fichier "framework-res.apk" et le fichier "services.jar" que vous avez créé.
META-INF = \com\google\android

Aller au répertoire META-INF \com\google\android et y créer un fichier "update-script" (sans extention) et y ajoutez cela​
copy_dir PACKAGE:system SYSTEM​
Cette commande pour ce que fera le téléphone avec le .zip "apply update.zip"​
(le téléphone copiera le contenu du répertoire system de votre fichier update.zip pour le placer dans la partition system du téléphone.)​
Compressez les répertoires "META-INF" et "system" dans un fichier zip nommer update.zip
Puis signez le​

Modifier la couleur du texte et de l'horloge​

Prés-requis

Notepad++​
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Un éditeur hexadecimal​
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Smali et BakSmali​
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Et le SDK et éclipse
(un tuto pour bientôt)​

Edition des fichiers XML​

Pour lire un fichier XML il n'y a qu'un seul moyen utiliser un éditeur hexadécimal
(un tuto pour bientôt)​

Pour la couleur des notifications se rendre dans framework/framework-res.apk/res/layout/status_bar.xml
utilisez l’éditeur hexadécimal pour remplacer les 6 valeurs exemple 00 00 1c par la couleur souhaité voir l’échantillon​
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Edition d'un fichier .dex​
Les complications commencent le changement de la couleur de la date dans la barre de notification ainsi que la couleur de l'horloge est plus complexe pour cela il faut editer le fichier /framwork/services.jar
Il faut ouvrir le fichier services.jar sans le décompresser. Extraire le fichier Class.dex dans le répertoireTools du SDK Smali.jar et BakSmali.jar . Ouvrir une invite de commande MS-DOS depuis ce répertoire .
Faire la commande suivante:​
Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

Cette commande créée un nouveau répertoire se nommant classout
Se rendre dans
classout/com/android/server/status​

Edition de l'horloge​
Utilisez Notepad++ pour éditer "StatusBarIcon.smali".
Cherchez "setTextColor", vous trouverez quelque chose comme ça :

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

Par exemple const/high16 v6, -0x100 est couleur noir
En modifiant comme cela "const v6, -0x1" la couleur est blanche
Il faut enregistrer et quitter Notepad++​

Edition de la couleur et de la date dans la barre de notification​

Utilisez Notepad++ pour éditer "StatusBarService.smali" il faut trouver "mDateView:Lcom/Android/server/status/DateView", vous trouverez quelque chose comme ça :

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

En modifiez le comme cela

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
Nous venons d’éditer le fichier les fichier de class.dex


Nous allons le mettre en forme : dans l'invite de commande (celle du fichier Baksmali.jar et du dossier classout)
Faire la commande suivante:​
Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

Cette commande créée un nouveau fichier new-class.dex .
Il faut le renommer class.dex (il faut supprimer celui de l'extraction du répertoire classout/ précédemment)
Dans l'utilitaire de décompression (qui lui est ouvert depuis la cette modification sur le fichier services.jar)
Supprimez le fichier class.dex et mettre le nouveau class.dex
On ferme l'utilitaire de décompression.
La couleur de l'horloge et la date de la barre de notification on été modifié​

Il ne vous reste plus qu'a explorer par vous même les nombreuses possibilités
ce tuto fonctionne mais il est basé sur un exemple et il y a beaucoup plus à explorer alors à vous de jouer.​
 
Whitepuma

Whitepuma

Membre
Inscrit
18 Mars 2012
Messages
673
Points
16
  • #2
Salut, dis moi est il possible de modifier un fichier xml directement dans une apk ou bien faut il décompiler l'apk pour la recompiler ensuite.
 
lord-ralf-adolf

lord-ralf-adolf

Membre VIP
Inscrit
15 Janvier 2012
Messages
1 023
Points
36
  • #3
faut le decompiler pour pouvoir modifier les xml
on peut pas modifier un xml dans un apk compiler par ce que se xml est crypter
 
R

ren41200

Membre
Inscrit
17 Février 2012
Messages
2 414
Points
36
  • #4
Bonjour
oui il faut le décompiler sinon impossible de faire les modifications après modifications il faut que tu recompiles l'apk et que tu re-signes
 
Whitepuma

Whitepuma

Membre
Inscrit
18 Mars 2012
Messages
673
Points
16
  • #5
Je peux le decompiler et recompiler avec winrar a la place de 7zip???
Que signifie signer un apk???
J'ai un problème avec mes fichiers xml car même avec notepad++ ou bien edithexa j'ai un codage bizarre alors je n'arrive pas a modifier mon xml :(
 
R

ren41200

Membre
Inscrit
17 Février 2012
Messages
2 414
Points
36
  • #6
j'ai fait un tuto pour signer un apk
oui avec winrare tu peux mais 7zip est beaucoup mieux
de plus j'ai mis un éditeur exadecimal pour
le secret de la réussite est de bien lire ;)
 
Whitepuma

Whitepuma

Membre
Inscrit
18 Mars 2012
Messages
673
Points
16
  • #7
Alors j'ai décompilé mon apk avec 7zip mais j'ai toujours le même probléme avec mes fichiers xml, apparement la plupart ne sont pas encodés en utf-8 mais dans un autre code. J'essaye avec notepad++ ou bien edithexa mais ça ne donne rien non plus. A moins que ce soit moi qui ne regarde pas les bons fichiers xml, je ne sais pas, pour le moment je nage dans le brouillard. :roll:
 
R

ren41200

Membre
Inscrit
17 Février 2012
Messages
2 414
Points
36
  • #8
Bonjour
Peux tu me dire sur quelle rom tu testes pour que je regarde ça en rentrant du travail
 
Whitepuma

Whitepuma

Membre
Inscrit
18 Mars 2012
Messages
673
Points
16
  • #9
Je suis en train de regarder sur la Criskelo v9, celle que j'ai actuellement d'instalée, et sur une ancienne, la Criskelo v38 Theme Purple. Que ce soit sous Windows oui bien Ubuntu c'est le même topo!!!
Voila le genre de code que j'ai dans un fichier xml:   Ð   ø  H   / ? P b l ™ œ §

state_enabled color state_window_focused

state_pressed state_selected state_activated android **http://schemas.android.com/apk/res/android selector item € ž ¥ § ¡ þ    ÿÿÿÿ   $  ÿÿÿÿÿÿÿÿ    L  ÿÿÿÿÿÿÿÿ
    ÿÿÿÿ    ÿÿÿÿ     ÿÿÿÿÿÿÿÿ
 L  ÿÿÿÿÿÿÿÿ
     ÿÿÿÿ    ÿÿÿÿ     ÿÿÿÿÿÿÿÿ
 L  ÿÿÿÿÿÿÿÿ
     ÿÿÿÿ ÿÿÿÿ  ÿÿÿÿ "    ÿÿÿÿÿÿÿÿ
 L  ÿÿÿÿÿÿÿÿ
     ÿÿÿÿ ÿÿÿÿ  ÿÿÿÿ "    ÿÿÿÿÿÿÿÿ
 L  ÿÿÿÿÿÿÿÿ
     ÿÿÿÿ "   ÿÿÿÿ ÿÿÿÿ   ÿÿÿÿÿÿÿÿ
 8 ÿÿÿÿÿÿÿÿ
     ÿÿÿÿ    ÿÿÿÿÿÿÿÿ
 
ÿÿÿÿÿÿÿÿ  
ÿÿÿÿ 


Edit 1: Wow :shock: je viens de comprendre que tout ce qui est dans le téléphone n'est qu'un grand assemblage d'images et non du code que l'on peut modifier comme on veut!!!!
 
A

Anonymous

  • #10
Merci pour le tuto.. C'est pas du gateau.. :roll:

:lol: :lol: :lol:​
 
P

pika25

Membre
Inscrit
11 Février 2013
Messages
18
Points
0
  • #11
je n'arrive pas a editer ce foutu fichier xml aiider moi svppp
 
lord-ralf-adolf

lord-ralf-adolf

Membre VIP
Inscrit
15 Janvier 2012
Messages
1 023
Points
36
  • #12
pika25 a dit:
je n'arrive pas a editer ce foutu fichier xml aiider moi svppp

Salut

Tu as decompiler l'apk ?

Merci
 
P

pika25

Membre
Inscrit
11 Février 2013
Messages
18
Points
0
  • #13
Ca va j'ai trouvé il fallait apk-Manager
 
lord-ralf-adolf

lord-ralf-adolf

Membre VIP
Inscrit
15 Janvier 2012
Messages
1 023
Points
36
  • #14
salut

oui apk-manager /ou apk-multi-tool ou bien la source Apktool ==>android open source projects !

merci
 
Haut Bas