[Q] Trying to mod framework-res.apk, what am I doing wrong ???

Search This thread

BlueScreenJunky

Senior Member
Feb 25, 2010
264
27
Hello everyone, I hope this belongs to the dev section, if not feel free to move it. Anyway, I'm trying to mod the framework-res.apk in order to include battery percentage and maybe change a few other things. Anyway, I've looked at already modified files and some threads for different phones and thought I knew how to do it, but it doesn't work.
So here's what I'm doing, I hope someone can tell me what's wrong :
1-I installed XKE7 and then flashed the XDDD insecure kernel over it.
2-I got the framework-res.apk through adb pull
3-I decompiled it with apktool d
4-added a bunch of png files in res/drawable-hdpi/ (stat_sys_battery_0.png to stat_sys_battery_100.png)
5-modified the /res/drawable/stat_sys_battery.xml file so that it looks like this :
Code:
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0"/>
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1"/>
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2"/>
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3"/>
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4"/>
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5"/>
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6"/>
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7"/>
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8"/>
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9"/>
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10"/>
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11"/>
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12"/>
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13"/>
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14"/>
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15"/>
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16"/>
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17"/>
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18"/>
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19"/>
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20"/>
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21"/>
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22"/>
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23"/>
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24"/>
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25"/>
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26"/>
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27"/>
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28"/>
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29"/>
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30"/>
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31"/>
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32"/>
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33"/>
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34"/>
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35"/>
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36"/>
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37"/>
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38"/>
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39"/>
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40"/>
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41"/>
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42"/>
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43"/>
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44"/>
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45"/>
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46"/>
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47"/>
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48"/>
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49"/>
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50"/>
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51"/>
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52"/>
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53"/>
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54"/>
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55"/>
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56"/>
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57"/>
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58"/>
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59"/>
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60"/>
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61"/>
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62"/>
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63"/>
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64"/>
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65"/>
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66"/>
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67"/>
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68"/>
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69"/>
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70"/>
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71"/>
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72"/>
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73"/>
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74"/>
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75"/>
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76"/>
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77"/>
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78"/>
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79"/>
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80"/>
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81"/>
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82"/>
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83"/>
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84"/>
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85"/>
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86"/>
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87"/>
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88"/>
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89"/>
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90"/>
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91"/>
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92"/>
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93"/>
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94"/>
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95"/>
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96"/>
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97"/>
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98"/>
<item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99"/>
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100"/>
</level-list>
6-built a new apk from these files with apktool b
7-extracted the content of this new apk and integrated it to my original one
8-pushed with adb push


So the phone boots, but it displays a ? instead of my battery icons.... I've spent a few hours on that already and am really at a loss. Could someone help please ?
 

padlad

Senior Member
Jan 23, 2005
1,239
663
Why don't you just use the UOT kitchen? Its a hell of a lot easier than doing it all yourself.
 

walda

Senior Member
Apr 2, 2010
1,387
249
I would do the following:

* Extract your framework-res.apk
* let UOT cook a new one with Battery Mod
* replace png in the UOT cooked apk

no decompilation and so on needed.
 

walda

Senior Member
Apr 2, 2010
1,387
249
if u only want to change the pictures, yes. UOT does the rest for you. UOT changes the xml files für 1% steps while loading and so on.

you can change every picture, if the pic already exists in the apk by simply copýing another over it. no decompile needed.

Edit:
Same in SysytemUI.apk. So you can simply change to "green google" icons.
 

BlueScreenJunky

Senior Member
Feb 25, 2010
264
27
Thanx, I might do that. I wasn't sure if UOT worked with SGS2.

Although the point of doing it myself was in great part to learn how to do it. So I'm still curious about what I was doing wrong...
 

spline1

Senior Member
Nov 20, 2009
361
48
Thanks,
i test it on the new firmware in future.
I extract the framework, put it on the uot, let's cooking and copy in the phone ;-)
cool
 

BlueScreenJunky

Senior Member
Feb 25, 2010
264
27
haha, sorry I lost mine too :D
I'm using This one at the moment (or at least I got a very similar result to this one using the UOT kitchen). I'll wait for the next update or next time I brick my phone to get the original unmodified apk.

Still don't understand how to manually edit the xml though, and still curious about it.
 
  • Like
Reactions: Aldonski

DruNKfuX

Senior Member
Nov 13, 2009
109
14
Here's mine, (remove spaces in link because i cant post links yet, not enough posts), i hope this breach of user agreement will be tolerated for trying to help someone :)

http :// dl . dropbox . com / u / 7741811 / framework-res.apk
 
  • Like
Reactions: Aldonski

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I would do the following:

    * Extract your framework-res.apk
    * let UOT cook a new one with Battery Mod
    * replace png in the UOT cooked apk

    no decompilation and so on needed.

    That's it?
    No Decompilation, no editing the xml?
    Only UOT Kitchen and ready?
    1
    haha, sorry I lost mine too :D
    I'm using This one at the moment (or at least I got a very similar result to this one using the UOT kitchen). I'll wait for the next update or next time I brick my phone to get the original unmodified apk.

    Still don't understand how to manually edit the xml though, and still curious about it.
    1
    Here's mine, (remove spaces in link because i cant post links yet, not enough posts), i hope this breach of user agreement will be tolerated for trying to help someone :)

    http :// dl . dropbox . com / u / 7741811 / framework-res.apk