S
s3l3ct4
Guest
Excellent Guide, helped me theme my SystemUI.apk. Pretty incredible what you can do when you decompile an apk's .xml files!
<CheckBoxPreference android:persistent="false" android:title="@string/wifi_quick_toggle_title" settings:icon="@drawable/ic_settings_wireless" android:key="toggle_wifi" android:summary="@string/wifi_quick_toggle_summary" />
<CheckBoxPreference android:persistent="false" android:title="@string/bluetooth_quick_toggle_title" settings:icon="@drawable/ic_settings_bluetooth2" android:key="toggle_bluetooth" android:summary="@string/bluetooth_quick_toggle_summary" />
for the toggles remove the both wifi and bluetooth lines
and add
HTML:<CheckBoxPreference android:persistent="false" android:title="@string/wifi_quick_toggle_title" settings:icon="@drawable/ic_settings_wireless" android:key="toggle_wifi" android:summary="@string/wifi_quick_toggle_summary" /> <CheckBoxPreference android:persistent="false" android:title="@string/bluetooth_quick_toggle_title" settings:icon="@drawable/ic_settings_bluetooth2" android:key="toggle_bluetooth" android:summary="@string/bluetooth_quick_toggle_summary" />
tried that.......but that isn't working..........need to edit some smali.............
C:\>apktool b C:\Settings
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
C:\Settings\res\xml\settings.xml:8: error: Error: No resource found that matches
the given name (at 'icon' with value '@drawable/ic_settings_bluetooth2').
C:\Settings\res\xml\settings.xml:11: error: Error: No resource found that matche
s the given name (at 'icon' with value '@drawable/ic_settings_more').
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\MARVIN~1\AppData\Local\Tem
p\APKTOOL4619853779678069497.tmp, -I, C:\Users\Marvin Bermudez\apktool\framework
\1.apk, -S, C:\Settings\res, -M, C:\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:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\MARVIN~1\AppData\Local\Temp\APKTOOL4619853779678069497.tmp, -I, C:\Users\Ma
rvin Bermudez\apktool\framework\1.apk, -S, C:\Settings\res, -M, C:\Settings\Andr
oidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
--------------------------------------------------------------------------
|Sun 07/01/2012 -- 16:03:02.06|
--------------------------------------------------------------------------
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)
Could Not Find C:\Program Files\Android SDK\android-sdk_r12-windows\android-sdk-windows\platform-tools\place-apk-here-for-modding\../place-apk-here-for-modding/signedSettings.apk
Could Not Find C:\Program Files\Android SDK\android-sdk_r12-windows\android-sdk-windows\platform-tools\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSettings.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\Ukky\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 23
at java.lang.String.charAt(Unknown Source)
at brut.androlib.res.xml.ResXmlEncoders.findNonPositionalSubstitutions(ResXmlEncoders.java:165)
at brut.androlib.res.xml.ResXmlEncoders.enumerateNonPositionalSubstitutions(ResXmlEncoders.java:142)
at brut.androlib.res.data.value.ResStringValue.encodeAsResXmlValue(ResStringValue.java:45)
at brut.androlib.res.data.value.ResArrayValue.serializeToResValuesXml(ResArrayValue.java:55)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:264)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:120)
at brut.apktool.Main.main(Main.java:57)
Need your help.
I want to try decompile settings.apk but always got error.
Code:-------------------------------------------------------------------------- |Sun 07/01/2012 -- 16:03:02.06| -------------------------------------------------------------------------- java version "1.6.0_27" Java(TM) SE Runtime Environment (build 1.6.0_27-b07) Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing) Could Not Find C:\Program Files\Android SDK\android-sdk_r12-windows\android-sdk-windows\platform-tools\place-apk-here-for-modding\../place-apk-here-for-modding/signedSettings.apk Could Not Find C:\Program Files\Android SDK\android-sdk_r12-windows\android-sdk-windows\platform-tools\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSettings.apk I: Baksmaling... I: Loading resource table... W: Skipping "android" package group I: Loaded. I: Loading resource table from file: C:\Users\Ukky\apktool\framework\1.apk I: Loaded. I: Decoding file-resources... I: Decoding values*/* XMLs... Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 23 at java.lang.String.charAt(Unknown Source) at brut.androlib.res.xml.ResXmlEncoders.findNonPositionalSubstitutions(ResXmlEncoders.java:165) at brut.androlib.res.xml.ResXmlEncoders.enumerateNonPositionalSubstitutions(ResXmlEncoders.java:142) at brut.androlib.res.data.value.ResStringValue.encodeAsResXmlValue(ResStringValue.java:45) at brut.androlib.res.data.value.ResArrayValue.serializeToResValuesXml(ResArrayValue.java:55) at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:264) at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137) at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93) at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98) at brut.apktool.Main.cmdDecode(Main.java:120) at brut.apktool.Main.main(Main.java:57)
balamu96, how to fix cmparts.apk
urm, when I open sound mode in interface it should multi choose but I can choose only one..
I mean, check box.
how to put multi listpreference on cmparts.apk?
sorry to bother u about this problem, hope U will help me in my problem...
any way thanks for ICS setting step by step guide. very helpful thread.
I do not know how to do that !! You can use google to find any tutorial thread...............
What i know is, it cannot be done with .xml files. We need to edit smali files. To edit smali files, we should know the Dalvik opcodes. These Opcodes & their functions can be found here: http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
Stackoverflow.com will also help you in doing so!
Good luck!
i can't decompile settings.apk even if i don't modify it... i tried this for more than 5 hours nothing works... i post here the problem in more detail
( http://xdaforums.com/showthread.php?p=29218359#post29218359 ) I can compile and decompile other apps but some would cause the apk manager to crash...
apktool if framework-res.apk
<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>
<string name="wifi_quick_toggle_title">Wi-Fi</string>
<PreferenceCategory android:title="@string/settings_ics_radio" />