Forum Génération mobiles
Le Staff et tous les membres de Génération mobiles sont heureux de vous accueillir.

Toutefois, afin de pouvoir en profiter pleinement, il est fortement conseillé de vous inscrire ou de vous identifier

[GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Voir le sujet précédent Voir le sujet suivant Aller en bas

[GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par Primokorn le Mer 3 Juil 2013 - 16:09

Ajouter des options dans Settings.apk et changer le layout

Préambule


Ce guide vous permet d'ajouter des options et de changer le layout du fichier Settings.apk de votre ROM.
Chaque partie dispose d'un niveau de difficulté ; 5 étoiles étant le plus complexe.

Pré-requis



  • [Vous devez être inscrit et connecté pour voir ce lien] et Java
  • Un éditeur de texte performant comme [Vous devez être inscrit et connecté pour voir ce lien] pour Windows et [Vous devez être inscrit et connecté pour voir ce lien] pour Linux.
  • [Vous devez être inscrit et connecté pour voir ce lien] sur votre appareil Android


Note ADB : si vous êtes sous Linux, lancez à CHAQUE FOIS votre programme (ApkTool et Notepadd++ avec ROOT/SUDO)

Décompilation de Settings.apk

Difficulté : ★★☆☆☆

1/ Ouvrez une invite de commandes dans le répertoire où apktool.jar est stocké.
2/ Récupérez le fichier apk depuis votre appareil. Soit vous transférez le fichier via AirDroid ou en USB classique soit vous passez par une commande ADB :
Code:
adb pull /system/app/Settings.apk

3/ Idem pour le framework et installez-les :
Code:
adb pull /system/framework/framework-res.apk
Puis :
Code:
java -jar apktool.jar if framework-res.apk

4/ Décompilez le fichier Settings.apk :
Code:
java -jar apktool.jar d -s Settings.apk

Editez les "Strings" de votre Settings.apk

Difficulté : ★★☆☆☆

1/ Avec votre gestionnaire de fichiers PC, allez dans le répertoire où Settings.apk a été décompilé.
2/ Recherchez et ouvez le fichier suivant via Notepad++ : res/xml/settings_headers.xml
3/ Maintenant, vous trouvez l'ent-ête que vous voulez éditer. Par exemple, on va changer le "Options de développement/Developer Settings" en "Déconseillé aux noobs".
Pour cela, il faut modifier cette référence string dans ce code :
Code:
<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />
Le android:title correspond à ce qu'on veut modifier donc ouvrez votre fichier Strings.xml (toujours avec Notepad++ les .xml) pour le Français. Si vous le trouvez pas, ouvrez celui par défaut.
Faites un CTRL+F en recherchant development_settings_title
Code:
<string name="development_settings_title">Developer options</string>
Entre les > et < faites vos modifications. Mettez "Déconseillé aux noobs" comme on avait dit par exemple, mais vous pouvez laisser libre court à votre imagination Very Happy
Code:
<string name="development_settings_title">Déconseillé au noobs</string>

4/ Sauvegardez et recompilez le fichier Settings.apk.


Editez les icônes des options de Paramètres

Difficulté : ★★★☆☆
1/ Allez dans le dossier où vous avez décompiler le Settings.apk
2/ Ouvrez le fichier res/xml/settings_headers.xml avec Notepad++
3/ Ici, on va modifier le "Options de développement/Development Settings" pour avoir l'icône "ic_settings_advanced" (inclus dans les ROMs basés CyanogenMod uniquement)
4/ Recherchez le header que vous voulez éditer, soit celui-ci :
Code:
<header android:icon="@drawable/ic_settings_development"  android:id="@id/development_settings"  android:title="@string/development_settings_title"  android:fragment="com.android.settings.DevelopmentSettings" />

5/ Editez l'emplacement de android:icon vers l'icône que vous voulez. Les icônes se trouvent dans différentes dossiers drawable comme le hdpi, mdi, ldpi, xhdpi, etc...
Dans notre exemplen on veut mettre l'icône de "ic_settings_advanced" donc voici ce qu'on doit mettre :
Code:
<header android:icon="@drawable/ic_settings_advanced" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />

6/ Si vous ne voulez pas ajouter d'icônes, il faut maintenant sauvegarder puis recompiler.

7/ Pour ajouter des icônes :
Pour avoir des icônes qui conviennent bien en terme de dimensions, regardez ce fichier de Google : [Vous devez être inscrit et connecté pour voir ce lien]
a/ Recherchez l'icône que vous voulez ajouter. Assurez-vous que cela colle avec la résolution d'icône de votre écran (regardez les icônes "ic_settings" actuels de l'apk utilisé)
b/ Copiez-le dans le bon dossier (hdpi, xhdpi, ldpi....)
c/ Nommez-le de cette manière : "ic_settings_nom_voulu".
d/ Modifiez la référence le fichier xml pour pointer sur votre icône : @drawable/ic_settings_nom_voulu
e/ Recompilez


Ajouter des options dans les en-têtes des paramètres

Difficulté : ★★★★☆
Note : le fait d'ajouter des paramères permet par exemple d'ouvrir Goomanager pour des recherches de mises à jour et facilement depuis le menu "A propos de l'appareil" et "Options de développement".

1/ Ouvrez le fichier settings_headers.xml
2/ Localisez l'endroit où vous voulez ajouter une option puis ajoutez une nouvelle ligne :
Code:
<header android:icon="@drawable/ic_settings_name" android:id="@id/id" android:title="@string/title">
        <intent android:targetPackage="pkgName" android:action="android.intent.action.MAIN" android:targetClass="pkgName.Activity" />
    </header>

3/ Quoi modifier :

  • Modifiez le android:icon pour l'icône de votre choix (cf partie ci-dessus)
  • Changez le android:targetPackage pour le nom de package de l'application que vous voulez ouvrir. Ceci se trouve dans le fichier AndroidManifest.xml de l'application en question. (1ère ligne)
  • Changez le android:targetClass pour le nom de package, suivi de l'activité que vous voulez ouvrir. Idem, regardez dans le AndroidManifest de l'application souhaité.
  • Changez le android:id pour un id que vous pouvez ajouter dans values/ids.xml (ou supprimez si vous voulez).

4/ Recompilez


Ajouter des séparateurs dans les Paramètres

Difficulté : ★★★☆☆
Ajoutez sur l'écran principal des paramètres :
1/ Ouvrez votre settings_headers.xml
2/ Localisez l'endroit où vous voulez ajouter votre séparateur.
3/ Ajoutez cette ligne :
Code:
<header android:id="@id/id" android:title="@string/title" />

Ce qu'il faut modifier :

  • Le android:id par celui que vous avez mis dans values/ids.xml (ou supprimez si vous l'aviez supprimé précédemment)
  • Le android:title pour le titre de votre Strings.xml

4/ Si c'est tout ce que vous voulez faire, vous pouvez recompiler.

Pour ajouter ces sous-menus :
1/ Ouvrez le sous-menu que vous voulez pour éditer les xml (il est assez simple de repérer lequel est-ce)
2/ Localisez l'endroit où vous voulez ajouter un séparateur.
3/ Ajoutez le code suivant : (au début de l'endroit où vous voulez avoir le séparateur)
Code:
<PreferenceScreen android:title="@string/title" android:key="key">

Juste avant le séparateur :
Code:
</PreferenceScreen>

A changer :

  • Le android:title pour le titre de votre Strings.xml
  • Changez la "key" par ce que vous voulez.

4/ Recompilez.


Réordonner les Paramètres

Difficulté : ★★☆☆☆
1/ Ouvrez soit le settings_headers.xml soit un sous-menu, le principe étant le même.
2/ Coupez/Collez les différentes options dans l'ordre de votre choix.
3/ Recompilez.


Ajoutez des options dans les sous-menus

Difficulté : ★★★☆☆
Vous voulez ajouter un menu "Crédits" dans le menu "A propos de l'appareil" ? Voilà ce qu'il faut faire :

1/ Ouvrez votre sous-menu xml (device_info_settings.xml c'est celui pour "A propos de l'appareil" pour info)
2/ Recherchez l'endroit voulu pour votre nouvelle option et ajoutez une nouvelle ligne.
3/ Copiez/collez ce code :
Code:
<Preference android:title="@string/title" android:key="key" android:summary="@string/summary" style="?android:preferenceInformationStyle" />

A changer :

  • Le android:title pour le titre que vous aviez ajouter dans values/strings.xml
  • Le android:key pour ce que vous voulez
  • Le android:summary pour le texte souhaité le plus long que vous avez ajouté dans values/strings.xml

4/ Recompilez.


Bonus : Forcer le menu "Options de développement" affiché par défaut sous JB 4.2

Difficulté : ★★☆☆☆
1/ Ouvrez le settings_headers.xml
2/ Recherchez ce code :
Code:
<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />
3/ Changez le id de "development_settings" en "development_settings_force" :
Code:
<header android:icon="@drawable/ic_settings_development"  android:id="@id/development_settings_force"  android:title="@string/development_settings_title"  android:fragment="com.android.settings.DevelopmentSettings" />
4/ Ouvrez le fichier values/ids.xml
5/ Ajoutez la ligne suivante :
Code:
<item type="id" name="development_settings_force">false</item>
6/ Recompilez.



Dernière étape : Recompiler

Difficulté : ★★☆☆☆
1/ Ouvrez une invite de commande toujours dans le répertoire où il y a apktool.jar
2/ Tapez cette commande :
Code:
java -jar apktool.jar b Settings
3/ Placez le nouveau fichier Settings.apk (mais non signé) dans votre appareil :
Code:
adb push Settings/dist/Settings.apk /sdcard/
4/ Sur votre appareil Android, ouvrez l'application Zipsigner et sélectionnez le fichier Settings.apk via le bouton in/out.


5/ Sélectionnez "platform" dans le menu déroulant.
6/ Appuyez sur "Sign" pour signer l'apk
7/ Une fois fait, lancez les codes suivants dans l'invite de commandes de votre PC (certaines personnes devront peut-être lancer "adb root" au préalable).
Code:
adb remount
Code:
adb shell cp /system/app/Settings.apk /system/app/Settings.bak
Code:
adb shell cp /sdcard/Settings-signed.apk /system/app/Settings.apk

8/ Redémarrez le téléphone.
9/ Dernière étape ultra important : Enjoy ! Very Happy


Autres infos


[Vous devez être inscrit et connecté pour voir ce lien]


[[Vous devez être inscrit et connecté pour voir ce lien]] - [[Vous devez être inscrit et connecté pour voir ce lien]]


Dernière édition par primokorn le Mer 24 Juil 2013 - 10:23, édité 1 fois
avatar
Primokorn
Expert-Staff

Expert-Staff

Appareil principal : OnePlus 3T 64Go Gunmetal
ROMs : Delighted RR // blu_spark
Appareil secondaire : MicroG // MagiskSU
Messages : 10862

https://primokorn.wordpress.com

Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par bzhmobile le Jeu 4 Juil 2013 - 8:12

:merci: 

Voilà qui occupera mes vacances entre 2 flashs Wink
avatar
bzhmobile
VIP

VIP

Appareil principal : HTC ONE M9
ROMs : Leedroid ;)
Appareil secondaire : HTC One Mini2, Stock
: : HTC One m8s s-off

Messages : 38051

Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par DéDuX le Dim 21 Juil 2013 - 10:08

Bon boulot,
Interressant
Merci
avatar
DéDuX
Posteur

Posteur

Appareil principal : Galaxy S6 Edge
ROMs : SimplRom v1, simplkernel 4.1F
Appareil secondaire : HTC one m7
: : nu7sense

Messages : 557

Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par Invité le Ven 26 Juil 2013 - 20:01


Sujet déplacé dans Logiciels et tutoriels nécessaires au développement

:merci: cher primokorn pour ce super tuto

Invité
Invité


Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par jhowlett468 le Dim 22 Sep 2013 - 17:28

Merciiiiiiiiiiiiiiiiiiiiiiiii,grâce à ce topic,j'ai pu virer les options inutiles sur ma Ripper ROM Wink

jhowlett468
Nouveau

Nouveau

ROMs : Ripper ROM 18.5
: : Cyanogen 9.1.0

Messages : 4

https://www.box.com/files/0/f/434511461/Mobiles_devices

Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par Invité le Dim 22 Sep 2013 - 18:45

 Bravo et merci pour ce beau tuto cheers 

Invité
Invité


Revenir en haut Aller en bas

Re: [GUIDE][4.0+] Ajouter des options et changer le layout (disposition) du fichier Settings.apk [03/07/2013]

Message par Idaho le Mar 11 Mar 2014 - 12:42

@PrimoKorn : t'es au top toi,

encore une fois : merci !!
avatar
Idaho
Amateur

Amateur

ROMs : Ma custom NC9
: : Viper3D

Messages : 76

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum