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"
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
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
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
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_"
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/drawablefonds 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-landminiatures des wallpaper = "wallpaper_[...]_small.jpg"
fond du launcher = "pattern_carbon_fiber_dark.png"
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)
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
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)
(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)
(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
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:
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
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 :
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++
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 :
En modifiez le comme cela
Nous venons d’éditer le fichier les fichier de class.dex
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 allons le mettre en forme : dans l'invite de commande (celle du fichier Baksmali.jar et du dossier classout)
Faire la commande suivante:
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 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.
ce tuto fonctionne mais il est basé sur un exemple et il y a beaucoup plus à explorer alors à vous de jouer.