Comment thématiser manuellement l'interface utilisateur du système Android

et d'autres questions similaires liées à l'interface utilisateur Android. Certaines marques le permettent via les magasins à thème, mais le kilométrage peut varier en fonction de ce que les thèmes peuvent changer.



Mais tout cela se résume à SystemUI.apk - et je vais vous montrer étape par étape la modification des ressources à l'intérieur de ce .apk pour personnaliser l'interface utilisateur Android comme vous l'aimez. Veuillez noter que ce guide concerne principalement les ROM basées sur AOSP - et les références aux fichiers dans SystemUI.apk peuvent être différentes de celles que vous avez, selon le fabricant de votre téléphone. Mais si tel est le cas, vous pouvez toujours réaliser ce que nous faisons, avec quelques essais et erreurs.

Étant donné que ce guide tourne autour de la modification des fichiers système Android et de la personnalisation de votre ROM, vous devriez également consulter les guides Appual suivants:



Exigences:

  • Un appareil enraciné ( rechercher Appual pour Guides racine Android )
  • Outils ADB et Fastboot ( voir le guide d'Appual Comment installer ADB sur Windows )
  • SDK Java
  • APKTool ou APKMultiTool
  • NotePad ++ ( ou un autre éditeur de texte convivial pour l'édition de lignes XML et Smali )
  • Logiciel d'édition d'image comme GIMP ou Photoshop
  • 7-Zip ou Winrar

Remarque: Pour ce guide, j'utiliserai APKTool comme référence - si vous avez opté pour APKMultiTool à la place, le processus de configuration initiale et de décompilation / recompilation peut être différent, mais dans l'ensemble, les étapes sont les mêmes.



En outre, vous pouvez envisager d'installer la ROM de votre appareil dans un émulateur Android sur votre ordinateur, afin de pouvoir tester et prévisualiser les modifications de SystemUI avant de les charger sur votre appareil.



APKTool Setup pour Windows

  1. Télécharger Windows script wrapper (Clic droit, Enregistrer le lien sous apktool.bat)
  2. Télécharger apktool-2 ( trouver le plus récent ici )
  3. Renommez le fichier téléchargé en apktool.jar
  4. Déplacez les deux fichiers (apktool.jar & apktool.bat) vers votre répertoire Windows (généralement C: // Windows)
  5. Si vous n'avez pas accès à C: // Windows, vous pouvez placer les deux fichiers n'importe où, puis ajouter ce répertoire à votre variable PATH système des variables d'environnement.
  6. Essayez d'exécuter apktool via l'invite de commande

Configuration d'APKTool pour Linux

  1. Télécharger Linux script wrapper (Clic droit, Enregistrer le lien sous apktool)
  2. Télécharger apktool-2 ( trouver le plus récent ici )
  3. Renommez le fichier téléchargé en apktool.jar
  4. Déplacez les deux fichiers (apktool.jar et apktool) vers / usr / local / bin (racine nécessaire)
  5. Assurez-vous que les deux fichiers sont exécutables (chmod + x)
  6. Essayez d'exécuter apktool via cli

Configuration d'APKTool pour Mac OS X

  1. Télécharger Mac script wrapper (Clic droit, Enregistrer le lien sous apktool)
  2. Télécharger apktool-2 ( trouver le plus récent ici )
  3. Renommez le fichier téléchargé en apktool.jar
  4. Déplacez les deux fichiers (apktool.jar et apktool) vers / usr / local / bin (racine nécessaire)
  5. Assurez-vous que les deux fichiers sont exécutables (chmod + x)
  6. Essayez d'exécuter apktool via cli

Décompiler SystemUI.Apk avec APKTool

  1. Après avoir installé APKTool, nous devons extraire votre fichier de cadre de votre appareil via ADB. le AOSP générique le fichier du framework est nommé ‘ framework-res.apk » trouvé dans / système / cadre chemin sur votre appareil, mais la plupart des fabricants incluent leurs propres fichiers de framework en plus du framework AOSP.
  2. Cela peut être délicat, car vous devrez déterminer que le fabricant a nommé le fichier de ressources du framework sur votre appareil. Ils se trouvent généralement dans / système / cadre , mais parfois ils peuvent être cachés dans / data / système-cadre ou / system / priv-app . Les fichiers eux-mêmes auront généralement ' Ressources' , 'du boeuf' , ou ' cadre' dans les noms de fichiers.
  3. Une fois que vous avez localisé votre fichier de structure, tirez-le avec votre SystemUI.apk via la console ADB. Vous feriez cela avec la commande:
  4. adb pull /system/framework/framework-res.apk (changez le chemin si nécessaire et exécutez la même commande pour SystemUI.apk)
  5. Vous trouverez les fichiers extraits dans le dossier d'installation principal d'ADB sur votre ordinateur.
  6. Nous allons maintenant les installer dans APKTool. Donc, dans une invite de commande, tapez:
  7. Apktool si donc par exemple apktool si C: ADB framework-res.apk
  8. Répétez ce qui précède pour le SystemUI.apk
  9. Maintenant, nous allons décompiler le SystemUI.apk, alors tapez dans la fenêtre de commande: apktool d SystemUI.apk
  10. Cela extraira le SystemUI.apk entier dans une série de dossiers.

Modification des icônes et des couleurs de l'interface utilisateur

Vous devez maintenant déterminer le DPI de votre téléphone, car vous aurez des dossiers comme SystemUI / res / drawable-hdpi, SystemUI / res / xhdpi , etc. Voici comment cela fonctionne:



  • ldpi (faible) ~ 120 dpi
  • mdpi (moyen) ~ 160 dpi
  • hdpi (élevé) ~ 240 dpi
  • xhdpi (extra-élevé) ~ 320 dpi
  • xxhdpi (extra-extra-élevé) ~ 480 dpi
  • xxxhdpi (extra-extra-extra-élevé) ~ 640 dpi

Donc, pour modifier vos ressources SystemUI, vous devrez déterminer dans quelle catégorie votre écran appartient.

Dans le dossier, vous verrez à peu près tous les fichiers .png utilisés pour votre interface utilisateur système - tout, depuis les icônes de la barre de notification, les icônes du panneau de configuration rapide, etc. Les noms de fichiers réels peuvent varier en fonction du fabricant, mais AOSP- Les ROM basées devraient généralement avoir des fichiers nommés comme ceci:

  • Notification_panel_bg.9 ( l'arrière-plan de votre barre d'état)
  • ic_qs _ ####. png ( icônes du panneau des paramètres rapides)
  • stat_syst _ ####. png ( icônes de la barre d'état)

Mais votre fabricant peut ne pas suivre ces conventions de dénomination, il vous suffira donc de regarder attentivement les .png pour savoir exactement à quoi ils servent.

Important: Si vous rencontrez des fichiers .9.png, n'essayez pas de les modifier directement dans GIMP ou Photoshop sans un didacticiel préalable. Ce sont des fichiers .png 9Patch qui ont des bordures visibles lors de l'édition des images, mais ces bordures deviennent invisibles dans l'interface utilisateur Android grâce à une technique spéciale ( trop long à expliquer), et il existe une méthode spéciale pour les manipuler. Vous devez utiliser le Outil de dessin à 9 patchs à partir d'Android Studio, ou apprenez à modifier / créer correctement des images 9Patch dans Photoshop / GIMP.

Pour modifier la couleur d'arrière-plan réelle du panneau des paramètres rapides, vous devez ouvrir /res/values/colors.xml et modifiez les lignes en conséquence. Les lignes devraient en fait être commentées avec des explications ou au moins assez faciles à comprendre les conventions de dénomination. C'est pourquoi j'ai recommandé d'utiliser un émulateur Android, pour prévisualiser et modifier au fur et à mesure.

Modification des couleurs de texte

Archivez /res/layout/tw_statusbar.xml pour ces lignes:

Couleur du texte de l'icône de la batterie ( si votre batterie est affichée sous forme de pourcentage de texte)

Couleur du texte de l'horloge:

Archivez /res/layout/tw_status_bar_expanded_header.xml pour ces lignes:

Couleur de l'horloge déroulante

Couleur de la date

'@ Style / TextAppearance.StatusBar.Expanded.Date' android: textColor = '# quelque chose'

Il y a tellement de choses à personnaliser dans SystemUI, je ne peux pas tout expliquer dans ce guide - vous pouvez trouver un guide de thème SystemUI qui explique chaque ligne dans les fichiers .XML, mais tout ira bien si vous faites simplement prévisualisez vos modifications dans un émulateur Android et ajustez au fur et à mesure.

Recompilation et installation de votre SystemUI.Apk modifié

  1. Dans une fenêtre de commande, tapez: apktool b SystemUI
  2. Cela créera un nouveau dossier .apk dans un Dist dossier dans le répertoire APK décompilé. Alors regarde / systemUI / dist pour le nouveau fichier SystemUI.apk.
  3. Vous devez maintenant utiliser quelque chose comme 7-Zip pour copier et remplacer le dossier META-INF et AndroidManifest.XML à partir du APK d'origine dans le nouveau APK, puis recompilez à nouveau.
  4. Vous pouvez maintenant flasher le nouveau SystemUI.apk sur votre appareil.

Bon modding!

5 minutes de lecture