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

Search This thread

balamu96m

Senior Member
May 2, 2011
1,216
1,304
Chennai
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 !!
 

Attachments

  • Icons.zip
    528.7 KB · Views: 6,577
  • Pre-scripted-update.zip
    254.7 KB · Views: 4,826
Last edited:

Perry977

Senior Member
Jun 19, 2010
743
191
Oklahoma City
hmm


i get

C:\Users\robin\Downloads\ICS_Settings_Froyo_v1\system\app>cd\Users\RoBiN-b
ArRy\Music

C:\Users\robin\Music>apktool d C:\Users\robin\Music\Settings.apk
I: Baksmaling...
testI: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\robin\apktool\framework\1.ap
k
I: Loaded.
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\robin\apktool\framework\2.ap
k
I: Loaded.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...

C:\Users\robin\Music>apktool b C:\Users\robin\Music\Settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
C:\Users\robin\Music\Settings\res\values\styles.xml:59: error: Error retri
eving parent for item: No resource found that matches the given name '@android:s
tyle/Widget.TextView.ListSeparator'.
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\ROBIN-~1\AppData\Local\Tem
p\APKTOOL6269797135419968898.tmp, -I, C:\Users\robin\apktool\framework\1.a
pk, -I, C:\Users\robin\apktool\framework\2.apk, -S, C:\Users\robin\M
usic\Settings\res, -M, C:\Users\robin\Music\Settings\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a: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:\U
sers\robin-~1\AppData\Local\Temp\APKTOOL6269797135419968898.tmp, -I, C:\Users\robin\apktool\framework\1.apk, -I, C:\Users\robin\apktool\framework\2.
apk, -S, C:\Users\robin\Music\Settings\res, -M, C:\Users\robin\Music
\Settings\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more

C:\Users\robin\Music>


its really annoying

ive tried to update

java

apktool

aapt
exe
:(

can u help me ?


i will attache my framewok-res.apk
twframework-res.apk
and settings.apk


1.apk = framework-res.apk
2.apk = twframework-res.apk
settings.apk


thank you any ways :D

even for trying it :D


thank you

did you install your framework apk?
 

balamu96m

Senior Member
May 2, 2011
1,216
1,304
Chennai
First, Try re-compiling it without any changes.............

Even when doing that, if you get that error, then you won't be able to compile it even after modding.....
so follow this:

Download my ICS Settings for FROYO (without unlock settings) from my signature.

Try decompiling and recompiling it (install both frameworks fr0m attachments). You should not get any error......

Now go to the folder where you've decomiled your settings.apk. There, after making necessary changes in the xml files(strings.xml & settings.xml) and saving them:

1. copy ALL files under res/values of YOUR decompiled settings folder and replace them in that of mine.

2. Similarly, now copy & replace settings.xml from your folder in mine.

Now compile MY settings folder.
You should not get any error.

After compilation, copy resources.arsc from build/apk of MY folder.

2. Extract (not decompile) YOUR stock settings.apk. Paste & replace resources.arsc there.
Like wise replace settings.xml from build/apk/res/xml of my folder.
Also place/replace icons like that.

Now make a zip of all the contents (in the folder where you EXTRACTED) as said in first post.

Now your apk is ready.....try n reply !!!:D:D
 

Attachments

  • twframework-res.apk
    404.9 KB · Views: 96
  • framework-res.apk
    5.5 MB · Views: 103
Last edited:
  • Like
Reactions: shahharis

SpaceCaker

Senior Member
Mar 26, 2011
13,545
10,904
netherlands
www.youtube.com
First, Try re-compiling it without any changes.............

Even when doing that, if you get that error, then you won't be able to compile it even after modding.....
so follow this:

Download my ICS Settings for FROYO (without unlock settings) from my signature.

Try decompiling and recompiling it (install both frameworks fr0m attachments). You should not get any error......

Now go to the folder where you've decomiled your settings.apk. There, after making necessary changes in the xml files(strings.xml & settings.xml) and saving them:

1. copy ALL files under res/values of YOUR decompiled settings folder and replace them in that of mine.

2. Similarly, now copy & replace settings.xml from your folder in mine.

Now compile MY settings folder.
You should not get any error.

After compilation, copy resources.arsc from build/apk of MY folder.

2. Extract (not decompile) YOUR stock settings.apk. Paste & replace resources.arsc there.
Like wise replace settings.xml from build/apk/res/xml of my folder.
Also place/replace icons like that.

Now make a zip of all the contents (in the folder where you EXTRACTED) as said in first post.

Now your apk is ready.....try n reply !!!:D:D



nope still not working :(
my pc is just **** -_-

ive updated apktool etc

ive downgraded it
etc

and still not working

( Galaxy ace + GB )
 

balamu96m

Senior Member
May 2, 2011
1,216
1,304
Chennai
Yes

I think my pc is mad at me -_-

I can only decompile framework res apk and some other apps but those not

herpderp © aint got money to pay to my fish



one thing that u can try is, download all apktool files again (.jar file, aapt and the script) and place it in a new location in the root of your windows drive (mostly C:\)......and also try deleting the folder apktool under C:\users\*username*\
 

SpaceCaker

Senior Member
Mar 26, 2011
13,545
10,904
netherlands
www.youtube.com
one thing that u can try is, download all apktool files again (.jar file, aapt and the script) and place it in a new location in the root of your windows drive (mostly C:\)......and also try deleting the folder apktool under C:\users\*username*\

Did that :(

Ivetried to find solutions

But i think i need to buy better pc

herpderp © aint got money to pay to my fish
 

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!