[GUIDE] ICS Style 'Settings.apk' - Make it yourself !! !!

Search This thread

wahyupct

Member
Feb 24, 2011
24
3
ask

Hi...do you know how to remove this like in attachment...thank you...
 

Attachments

  • snap20130525_173424.png
    snap20130525_173424.png
    132.2 KB · Views: 691

mikejax

Senior Member
May 23, 2013
121
27
Ranchi
Requesting a tut for Karbonn A7+ !

android_tutorial.jpg

Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!

My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
He hasn't come up with a guide because he doesn't have time . (I think so!)

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.


Pre-requisites:
-7zip
-Notepad++

This guide helps you to mod your settings' main screen only. If you want mod even other screens, then you need to read - why this/that step is done.
If you want to know 'Why is this/that step done?' , then read the post completely !!:D

I'll start from the basics.


Starting with basics:

1. Decompile your Settings.apk with 'apktool' (or) Apk Multi-tool (or) anything like that of your comfort !
Why is this/that step done?: It is done in order to decode .xml files the apk.
I decompiled with apktool.
00.png



2. Now navigate to Decompiled_Folder\res\values

3. There, open 'strings.xml' with notepad++
1.png


4. Go to the very end of the file, there above </resources>, add the following:
Code:
 <string name="location_settings_title">Location service</string>
    <string name="settings_ics_system">SYSTEM</string>
    <string name="settings_ics_radio">WIRELESS & NETWORKS</string>
    <string name="settings_radio_more">More...</string>
    <string name="settings_ics_device">DEVICE</string>
    <string name="settings_ics_personal">PERSONAL</string>
    <string name="settings_ics_system_cap">SYSTEM</string>
    <string name="power_usage_summary_text">Battery</string>

It should look like this:
2.png


Now save the file and close it.

Why is this/that step done?: This is for the 'text' that appear at different places. For example:
txt1.png



5. Now navigate to decompiled_folder\res\xml\

6. There open 'settings.xml' with notepad++
4.png


Any phone's user can follow upto this blindly, but from here you should do similar things for your phone.

HTC users, read this


7. Your 'settings.xml' will look like this (may not be exact)(this is my modded settings.xml - i'll explain what i have modded):
4a.png


Now i have separated different 'things'/tags with an empty line between them, so that you won't get confused:

5aaa.png


Here, i will explain every different 'things'/tags with only one example, other things, you yourself will have try because others will be similar to what i explain.

Preference screen:
From the above picture, i am taking only the circled (can't 'define' its radius lol :D).
mod2.png


Now lets zoom it:
mod1.png


On reading it, you yourself can understand that:

---android:title="@string/wifi_quick_toggle_tittle" refers to a TEXT registered under the string name "wifi_quick_toggle_tittle" in the 'strings.xml'.
Now check in your 'strings.xml', which is located at res/values/, by searching for "wifi_quick_toggle_tittle". There you will find this line/line similar to this:
Code:
 <string name="wifi_quick_toggle_title">Wi-Fi</string>
You can very well understand that the TEXT between the tags here(in strings.xml) will appear on the screen :D:D !!

---settings:icon="@drawable/ic_settings_wireless"> refers to the icon located at res/drawable-ldpi (or) res/drawable-xxxx(that of your phone).

You can leave other things as it is but except for android:targetClass="com.android.settings.wifi.WifiSettings". This is because according to this only, you are directed to another screen on selecting it !!

Here, i need to go to Wi-Fi settings on selecting it directly from the main screen. So i need to change it.
To change, i opened res/xml/wireless_settings.xml

There, like what we have seen earlier, many preference screens will be defined. There i found the preference screen of Wi-Fi settings
I copied the android:targetClass="xxxxxxxxxxxx"(something given there) to Settings.xml file.

If you want to do it for Bluetooth, then copy any of the preference screen completely [from <com.android.settings...... to </com.android.settings.IconPreferenceScreen>
Then make changes in the title , icon, and target classs.

Not yet over, last thing:
Adding custom categories like Device, Personal, System etc.
It is this line that makes it:
Place it anywhere above (or) in-between any two preference screens !!
Code:
<PreferenceCategory android:title="@string/settings_ics_radio" />

6aaa.png


About icons, I'll tell after re-compiling.


8. Re-Compiling it:

After making all necessary changes and saving the 'xml' files, re-compile (or) build the apk. You should not get any error.

9. After building it, you'll find the new 'Settings.apk' in decompiled_folder/dist. Do NOT use it.

Now Go the folder where you have ORIGINAL/STOCK Settings.apk. Now simply extract it to any folder, say "settings-new", using 7zip.

8. Now go to decompiled_folder/build/apk
From there copy the 'resources.arsc' file and paste it in "Settings-new" folder. Replace it.

9. Now again, go to decompiled_folder/build/apk/res/xml. There copy 'settings.xml'
Paste it in Settings-new/res/xml folder. Replace if asked.

10. ICONS:
After downloading the icons.zip, you'll find the icons in 'drawable-ldpi' folder. Copy everything and paste it in Settings-new/res/drawable-xxxx (that of your phone). [If you do not know what is that 'xxxx' for your phone, then paste it in every 'drawable-ldpi/mdpi' folder]
Replace if asked.

11. Now come back and open "Settings-new" folder. You'll find 6 objects there, including folders. Now select them all --> "7zip" --> "Add to archive...". There, select 'Archive format as 'zip'and 'compression level' as 'Store' and then select 'ok'.

12.Now rename the newly formed 'xxxx.zip' file to 'xxxx.apk'.
Before copying to system/app rename it to Settings.apk instead some xxxx.apk !!

Now your apk is ready to be put in system/app !!


If you have completed everything and would like to distribute it, then download the 'Pre-scripted-update.zip' from attachments.
Open the archive with 7zip (no need to extract) go to system/app. Just drag and drop your modded 'Settings.apk'.
Thats all !! Close it and flash it via recovery !!

Thats all....i believe........still can refine it.......!
Icons-uploaded........!!

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.

If you like this thread, the hit THANKS !!

Can u explain this tut for karbonn a7+ ??
 

ahmed_alaa

Senior Member
May 31, 2013
131
5
27
cairo,egypt
ty so much for this guide ....is there one for jb

android_tutorial.jpg

Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!

My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
He hasn't come up with a guide because he doesn't have time . (I think so!)

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.


Pre-requisites:
-7zip
-Notepad++

This guide helps you to mod your settings' main screen only. If you want mod even other screens, then you need to read - why this/that step is done.
If you want to know 'Why is this/that step done?' , then read the post completely !!:D

I'll start from the basics.


Starting with basics:

1. Decompile your Settings.apk with 'apktool' (or) Apk Multi-tool (or) anything like that of your comfort !
Why is this/that step done?: It is done in order to decode .xml files the apk.
I decompiled with apktool.
00.png



2. Now navigate to Decompiled_Folder\res\values

3. There, open 'strings.xml' with notepad++
1.png


4. Go to the very end of the file, there above </resources>, add the following:
Code:
 <string name="location_settings_title">Location service</string>
    <string name="settings_ics_system">SYSTEM</string>
    <string name="settings_ics_radio">WIRELESS & NETWORKS</string>
    <string name="settings_radio_more">More...</string>
    <string name="settings_ics_device">DEVICE</string>
    <string name="settings_ics_personal">PERSONAL</string>
    <string name="settings_ics_system_cap">SYSTEM</string>
    <string name="power_usage_summary_text">Battery</string>

It should look like this:
2.png


Now save the file and close it.

Why is this/that step done?: This is for the 'text' that appear at different places. For example:
txt1.png



5. Now navigate to decompiled_folder\res\xml\

6. There open 'settings.xml' with notepad++
4.png


Any phone's user can follow upto this blindly, but from here you should do similar things for your phone.

HTC users, read this


7. Your 'settings.xml' will look like this (may not be exact)(this is my modded settings.xml - i'll explain what i have modded):
4a.png


Now i have separated different 'things'/tags with an empty line between them, so that you won't get confused:

5aaa.png


Here, i will explain every different 'things'/tags with only one example, other things, you yourself will have try because others will be similar to what i explain.

Preference screen:
From the above picture, i am taking only the circled (can't 'define' its radius lol :D).
mod2.png


Now lets zoom it:
mod1.png


On reading it, you yourself can understand that:

---android:title="@string/wifi_quick_toggle_tittle" refers to a TEXT registered under the string name "wifi_quick_toggle_tittle" in the 'strings.xml'.
Now check in your 'strings.xml', which is located at res/values/, by searching for "wifi_quick_toggle_tittle". There you will find this line/line similar to this:
Code:
 <string name="wifi_quick_toggle_title">Wi-Fi</string>
You can very well understand that the TEXT between the tags here(in strings.xml) will appear on the screen :D:D !!

---settings:icon="@drawable/ic_settings_wireless"> refers to the icon located at res/drawable-ldpi (or) res/drawable-xxxx(that of your phone).

You can leave other things as it is but except for android:targetClass="com.android.settings.wifi.WifiSettings". This is because according to this only, you are directed to another screen on selecting it !!

Here, i need to go to Wi-Fi settings on selecting it directly from the main screen. So i need to change it.
To change, i opened res/xml/wireless_settings.xml

There, like what we have seen earlier, many preference screens will be defined. There i found the preference screen of Wi-Fi settings
I copied the android:targetClass="xxxxxxxxxxxx"(something given there) to Settings.xml file.

If you want to do it for Bluetooth, then copy any of the preference screen completely [from <com.android.settings...... to </com.android.settings.IconPreferenceScreen>
Then make changes in the title , icon, and target classs.

Not yet over, last thing:
Adding custom categories like Device, Personal, System etc.
It is this line that makes it:
Place it anywhere above (or) in-between any two preference screens !!
Code:
<PreferenceCategory android:title="@string/settings_ics_radio" />

6aaa.png


About icons, I'll tell after re-compiling.


8. Re-Compiling it:

After making all necessary changes and saving the 'xml' files, re-compile (or) build the apk. You should not get any error.

9. After building it, you'll find the new 'Settings.apk' in decompiled_folder/dist. Do NOT use it.

Now Go the folder where you have ORIGINAL/STOCK Settings.apk. Now simply extract it to any folder, say "settings-new", using 7zip.

8. Now go to decompiled_folder/build/apk
From there copy the 'resources.arsc' file and paste it in "Settings-new" folder. Replace it.

9. Now again, go to decompiled_folder/build/apk/res/xml. There copy 'settings.xml'
Paste it in Settings-new/res/xml folder. Replace if asked.

10. ICONS:
After downloading the icons.zip, you'll find the icons in 'drawable-ldpi' folder. Copy everything and paste it in Settings-new/res/drawable-xxxx (that of your phone). [If you do not know what is that 'xxxx' for your phone, then paste it in every 'drawable-ldpi/mdpi' folder]
Replace if asked.

11. Now come back and open "Settings-new" folder. You'll find 6 objects there, including folders. Now select them all --> "7zip" --> "Add to archive...". There, select 'Archive format as 'zip'and 'compression level' as 'Store' and then select 'ok'.

12.Now rename the newly formed 'xxxx.zip' file to 'xxxx.apk'.
Before copying to system/app rename it to Settings.apk instead some xxxx.apk !!

Now your apk is ready to be put in system/app !!


If you have completed everything and would like to distribute it, then download the 'Pre-scripted-update.zip' from attachments.
Open the archive with 7zip (no need to extract) go to system/app. Just drag and drop your modded 'Settings.apk'.
Thats all !! Close it and flash it via recovery !!

Thats all....i believe........still can refine it.......!
Icons-uploaded........!!

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.

If you like this thread, the hit THANKS !!
ty so much for that guide ... i did it on my phone ....... but i wander if theres a one for jelly bean (or just tell me what i should write by the same method of ics and the place of the icons.package,zip ) because ics became old any way ty so much :laugh:
 

projectmax

Member
Jan 3, 2013
39
2
hello, just wanna ask if somebody here know how to show WiFi network list and Bluetooth devices list in the main screen of our settings?or maybe showing a Sub Screen of the WiFi network or Bluetooth Devices list once toggles are turned on?please help anyone..thanks..
 

projectmax

Member
Jan 3, 2013
39
2
when using this code and changing it to "com.android.settings.bluetooth.BluetoothSettings" to open bluetooth settings screen..it won't work..getting force close error..Can anyone help me with this problem..thanks..

Code:
const-string v2, "display_settings"

    invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_7

    .line 203
    new-instance v0, Landroid/content/Intent;

    invoke-direct {v0}, Landroid/content/Intent;-><init>()V

    .line 204
    .restart local v0       #intent:Landroid/content/Intent;
    const-string v2, "com.android.settings"

    const-string v2, "com.android.settings.DisplaySettings"

    invoke-virtual {v0, v3, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

    .line 205
    invoke-virtual {p2, v0}, Landroid/preference/Preference;->setIntent(Landroid/content/Intent;)V

    goto/16 :goto_0
 

elotus

Member
Aug 27, 2012
32
7
error

i have try it but error...this is log after recompile apk

C:\Android\apk_manager_5.0.2\keep\res - The directory is not empty.
Could Not Find C:\Android\apk_manager_5.0.2\place-apk-here-for-modding\../place-apk-here-for-modding/signedSettings.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\TOSHIBA\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\TOSHIBA\apktool\framework\2.apk
I: Loaded.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:5: error: No resource identifier found for attribute 'tittle' in package 'android'
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:5: error: Error: No resource found that matches the given name (at 'tittle' with value '@string/settings_ics_radio').
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:12: error: Error: No resource found that matches the given name (at 'title' with value '@string/settings_radio_more').
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:15: error: Error: No resource found that matches the given name (at 'title' with value '@string/settings_ics_device').
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:40: error: Error: No resource found that matches the given name (at 'title' with value '@string/settings_ics_personal').
C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res\xml\settings.xml:56: error: Error: No resource found that matches the given name (at 'title' with value '@string/settings_ics_system_cap').
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\TOSHIBA\AppData\Local\Temp\APKTOOL6432763693998049167.tmp, -I, C:\Users\TOSHIBA\apktool\framework\1.apk, -I, C:\Users\TOSHIBA\apktool\framework\2.apk, -S, C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res, -M, C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\TOSHIBA\AppData\Local\Temp\APKTOOL6432763693998049167.tmp, -I, C:\Users\TOSHIBA\apktool\framework\1.apk, -I, C:\Users\TOSHIBA\apktool\framework\2.apk, -S, C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\res, -M, C:\Android\apk_manager_5.0.2\other\..\projects\Settings.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more

###########

resolved...
any wrong word
resolved...
 
Last edited:

Heatshiver

Senior Member
Dec 29, 2010
555
625
@elotus - It might be that you don't have the correct framework files. Be sure you are using your 1.apk & 2.apk from your framework and res apks.

---------- Post added at 10:59 PM ---------- Previous post was at 10:58 PM ----------

I am attempting to do this mod on a LG G2 customized stock ROM. As soon as I make changes to default_headers.xml and rebuild, I get errors preventing the build... Any thoughts or advice?
 

Varun002

Member
Dec 31, 2013
35
63
Chikmagalur Karnataka
android_tutorial.jpg

Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!

My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
He hasn't come up with a guide because he doesn't have time . (I think so!)

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.


Pre-requisites:
-7zip
-Notepad++

This guide helps you to mod your settings' main screen only. If you want mod even other screens, then you need to read - why this/that step is done.
If you want to know 'Why is this/that step done?' , then read the post completely !!:D

I'll start from the basics.


Starting with basics:

1. Decompile your Settings.apk with 'apktool' (or) Apk Multi-tool (or) anything like that of your comfort !
Why is this/that step done?: It is done in order to decode .xml files the apk.
I decompiled with apktool.
00.png



2. Now navigate to Decompiled_Folder\res\values

3. There, open 'strings.xml' with notepad++
1.png


4. Go to the very end of the file, there above </resources>, add the following:
Code:
 <string name="location_settings_title">Location service</string>
    <string name="settings_ics_system">SYSTEM</string>
    <string name="settings_ics_radio">WIRELESS & NETWORKS</string>
    <string name="settings_radio_more">More...</string>
    <string name="settings_ics_device">DEVICE</string>
    <string name="settings_ics_personal">PERSONAL</string>
    <string name="settings_ics_system_cap">SYSTEM</string>
    <string name="power_usage_summary_text">Battery</string>

It should look like this:
2.png


Now save the file and close it.

Why is this/that step done?: This is for the 'text' that appear at different places. For example:
txt1.png



5. Now navigate to decompiled_folder\res\xml\

6. There open 'settings.xml' with notepad++
4.png


Any phone's user can follow upto this blindly, but from here you should do similar things for your phone.

HTC users, read this


7. Your 'settings.xml' will look like this (may not be exact)(this is my modded settings.xml - i'll explain what i have modded):
4a.png


Now i have separated different 'things'/tags with an empty line between them, so that you won't get confused:

5aaa.png


Here, i will explain every different 'things'/tags with only one example, other things, you yourself will have try because others will be similar to what i explain.

Preference screen:
From the above picture, i am taking only the circled (can't 'define' its radius lol :D).
mod2.png


Now lets zoom it:
mod1.png


On reading it, you yourself can understand that:

---android:title="@string/wifi_quick_toggle_tittle" refers to a TEXT registered under the string name "wifi_quick_toggle_tittle" in the 'strings.xml'.
Now check in your 'strings.xml', which is located at res/values/, by searching for "wifi_quick_toggle_tittle". There you will find this line/line similar to this:
Code:
 <string name="wifi_quick_toggle_title">Wi-Fi</string>
You can very well understand that the TEXT between the tags here(in strings.xml) will appear on the screen :D:D !!

---settings:icon="@drawable/ic_settings_wireless"> refers to the icon located at res/drawable-ldpi (or) res/drawable-xxxx(that of your phone).

You can leave other things as it is but except for android:targetClass="com.android.settings.wifi.WifiSettings". This is because according to this only, you are directed to another screen on selecting it !!

Here, i need to go to Wi-Fi settings on selecting it directly from the main screen. So i need to change it.
To change, i opened res/xml/wireless_settings.xml

There, like what we have seen earlier, many preference screens will be defined. There i found the preference screen of Wi-Fi settings
I copied the android:targetClass="xxxxxxxxxxxx"(something given there) to Settings.xml file.

If you want to do it for Bluetooth, then copy any of the preference screen completely [from <com.android.settings...... to </com.android.settings.IconPreferenceScreen>
Then make changes in the title , icon, and target classs.

Not yet over, last thing:
Adding custom categories like Device, Personal, System etc.
It is this line that makes it:
Place it anywhere above (or) in-between any two preference screens !!
Code:
<PreferenceCategory android:title="@string/settings_ics_radio" />

6aaa.png


About icons, I'll tell after re-compiling.


8. Re-Compiling it:

After making all necessary changes and saving the 'xml' files, re-compile (or) build the apk. You should not get any error.

9. After building it, you'll find the new 'Settings.apk' in decompiled_folder/dist. Do NOT use it.

Now Go the folder where you have ORIGINAL/STOCK Settings.apk. Now simply extract it to any folder, say "settings-new", using 7zip.

8. Now go to decompiled_folder/build/apk
From there copy the 'resources.arsc' file and paste it in "Settings-new" folder. Replace it.

9. Now again, go to decompiled_folder/build/apk/res/xml. There copy 'settings.xml'
Paste it in Settings-new/res/xml folder. Replace if asked.

10. ICONS:
After downloading the icons.zip, you'll find the icons in 'drawable-ldpi' folder. Copy everything and paste it in Settings-new/res/drawable-xxxx (that of your phone). [If you do not know what is that 'xxxx' for your phone, then paste it in every 'drawable-ldpi/mdpi' folder]
Replace if asked.

11. Now come back and open "Settings-new" folder. You'll find 6 objects there, including folders. Now select them all --> "7zip" --> "Add to archive...". There, select 'Archive format as 'zip'and 'compression level' as 'Store' and then select 'ok'.

12.Now rename the newly formed 'xxxx.zip' file to 'xxxx.apk'.
Before copying to system/app rename it to Settings.apk instead some xxxx.apk !!

Now your apk is ready to be put in system/app !!


If you have completed everything and would like to distribute it, then download the 'Pre-scripted-update.zip' from attachments.
Open the archive with 7zip (no need to extract) go to system/app. Just drag and drop your modded 'Settings.apk'.
Thats all !! Close it and flash it via recovery !!

Thats all....i believe........still can refine it.......!
Icons-uploaded........!!

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.

If you like this thread, the hit THANKS !!

You really explained everything clearly. Hoping to see more things like this :D
 

phyoghost

Member
Feb 12, 2013
16
2
Wundwin
android_tutorial.jpg

Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!

My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
He hasn't come up with a guide because he doesn't have time . (I think so!)

If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.

Hi Sir ,
Please you will make It for me.
Huawei U8850
 

noobpremium

Senior Member
May 30, 2013
597
326
About Tabs

hey balamu... :p
i wanna add tabs in my 4.0 isc settings. I found guides fro gb but they don't work I've triedd already....
If you know something more please send me that thread :)
Thanks(did a hit) :p
 

zooperaj

Senior Member
Jan 20, 2014
126
18
Mumbai
Thanks for the guide. Want to try. But the images as examples on the first page are not visible. Could you please update the images?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 252
    android_tutorial.jpg

    Hi all !! This is a guide on how to mod your Settings.apk to make it like an ICS's one !!

    My sincere credits to iiandskater. He is the one who FIRST made MODS like this. I learnt these by comparing his MOD !!
    He hasn't come up with a guide because he doesn't have time . (I think so!)

    If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.


    Pre-requisites:
    -7zip
    -Notepad++

    This guide helps you to mod your settings' main screen only. If you want mod even other screens, then you need to read - why this/that step is done.
    If you want to know 'Why is this/that step done?' , then read the post completely !!:D

    I'll start from the basics.


    Starting with basics:

    1. Decompile your Settings.apk with 'apktool' (or) Apk Multi-tool (or) anything like that of your comfort !
    Why is this/that step done?: It is done in order to decode .xml files the apk.
    I decompiled with apktool.
    00.png



    2. Now navigate to Decompiled_Folder\res\values

    3. There, open 'strings.xml' with notepad++
    1.png


    4. Go to the very end of the file, there above </resources>, add the following:
    Code:
     <string name="location_settings_title">Location service</string>
        <string name="settings_ics_system">SYSTEM</string>
        <string name="settings_ics_radio">WIRELESS & NETWORKS</string>
        <string name="settings_radio_more">More...</string>
        <string name="settings_ics_device">DEVICE</string>
        <string name="settings_ics_personal">PERSONAL</string>
        <string name="settings_ics_system_cap">SYSTEM</string>
        <string name="power_usage_summary_text">Battery</string>

    It should look like this:
    2.png


    Now save the file and close it.

    Why is this/that step done?: This is for the 'text' that appear at different places. For example:
    txt1.png



    5. Now navigate to decompiled_folder\res\xml\

    6. There open 'settings.xml' with notepad++
    4.png


    Any phone's user can follow upto this blindly, but from here you should do similar things for your phone.

    HTC users, read this


    7. Your 'settings.xml' will look like this (may not be exact)(this is my modded settings.xml - i'll explain what i have modded):
    4a.png


    Now i have separated different 'things'/tags with an empty line between them, so that you won't get confused:

    5aaa.png


    Here, i will explain every different 'things'/tags with only one example, other things, you yourself will have try because others will be similar to what i explain.

    Preference screen:
    From the above picture, i am taking only the circled (can't 'define' its radius lol :D).
    mod2.png


    Now lets zoom it:
    mod1.png


    On reading it, you yourself can understand that:

    ---android:title="@string/wifi_quick_toggle_tittle" refers to a TEXT registered under the string name "wifi_quick_toggle_tittle" in the 'strings.xml'.
    Now check in your 'strings.xml', which is located at res/values/, by searching for "wifi_quick_toggle_tittle". There you will find this line/line similar to this:
    Code:
     <string name="wifi_quick_toggle_title">Wi-Fi</string>
    You can very well understand that the TEXT between the tags here(in strings.xml) will appear on the screen :D:D !!

    ---settings:icon="@drawable/ic_settings_wireless"> refers to the icon located at res/drawable-ldpi (or) res/drawable-xxxx(that of your phone).

    You can leave other things as it is but except for android:targetClass="com.android.settings.wifi.WifiSettings". This is because according to this only, you are directed to another screen on selecting it !!

    Here, i need to go to Wi-Fi settings on selecting it directly from the main screen. So i need to change it.
    To change, i opened res/xml/wireless_settings.xml

    There, like what we have seen earlier, many preference screens will be defined. There i found the preference screen of Wi-Fi settings
    I copied the android:targetClass="xxxxxxxxxxxx"(something given there) to Settings.xml file.

    If you want to do it for Bluetooth, then copy any of the preference screen completely [from <com.android.settings...... to </com.android.settings.IconPreferenceScreen>
    Then make changes in the title , icon, and target classs.

    Not yet over, last thing:
    Adding custom categories like Device, Personal, System etc.
    It is this line that makes it:
    Place it anywhere above (or) in-between any two preference screens !!
    Code:
    <PreferenceCategory android:title="@string/settings_ics_radio" />

    6aaa.png


    About icons, I'll tell after re-compiling.


    8. Re-Compiling it:

    After making all necessary changes and saving the 'xml' files, re-compile (or) build the apk. You should not get any error.

    9. After building it, you'll find the new 'Settings.apk' in decompiled_folder/dist. Do NOT use it.

    Now Go the folder where you have ORIGINAL/STOCK Settings.apk. Now simply extract it to any folder, say "settings-new", using 7zip.

    8. Now go to decompiled_folder/build/apk
    From there copy the 'resources.arsc' file and paste it in "Settings-new" folder. Replace it.

    9. Now again, go to decompiled_folder/build/apk/res/xml. There copy 'settings.xml'
    Paste it in Settings-new/res/xml folder. Replace if asked.

    10. ICONS:
    After downloading the icons.zip, you'll find the icons in 'drawable-ldpi' folder. Copy everything and paste it in Settings-new/res/drawable-xxxx (that of your phone). [If you do not know what is that 'xxxx' for your phone, then paste it in every 'drawable-ldpi/mdpi' folder]
    Replace if asked.

    11. Now come back and open "Settings-new" folder. You'll find 6 objects there, including folders. Now select them all --> "7zip" --> "Add to archive...". There, select 'Archive format as 'zip'and 'compression level' as 'Store' and then select 'ok'.

    12.Now rename the newly formed 'xxxx.zip' file to 'xxxx.apk'.
    Before copying to system/app rename it to Settings.apk instead some xxxx.apk !!

    Now your apk is ready to be put in system/app !!


    If you have completed everything and would like to distribute it, then download the 'Pre-scripted-update.zip' from attachments.
    Open the archive with 7zip (no need to extract) go to system/app. Just drag and drop your modded 'Settings.apk'.
    Thats all !! Close it and flash it via recovery !!

    Thats all....i believe........still can refine it.......!
    Icons-uploaded........!!

    If you have completed modding and posting it ( on any website/forum), then please give credits and give a link to this thread !! This helps it reaching more people !! Thanks.

    If you like this thread, the hit THANKS !!
    10
    You're welcome !!
    6
    thanks for this guide i'm searching from 5 days to but i can't find.
    6
    EDIT :::: saw what i did wrong XD

    now working correctly
    5
    great guide!

    balamu96m great guide man, thanks a lot!