Post Reply

[tutorial]**Fix for recompiling framework-res with apktool** 4/15/2012

OP fernando sor

15th April 2012, 08:46 PM   |  #1  
fernando sor's Avatar
OP Recognized Themer
Flag north of the wall
Thanks Meter: 5,481
 
9,461 posts
Join Date:Joined: Sep 2010
More
Greetings

i do not have have a one x but i have come up with a solution for the errors in apktool when recompiling framework-res.

i have a rezound and have run sense 4.0 on my phone. the screen res is also very similar to the one x.

there are four xmls in values that need to be rewritten.

anims.xml
layout.xml
a small change in plurals.xml
and raw.xml

the change made in plurals has to be made in all the foreign language plurals if you want to keep the languages. you can however delete them if you like. the framework i am posting has the plurals fixed for all languages though.

i am posting also my version of apktool which i have modified to properly smali htc apks.

to begin.

download the apktool linked here
unzip and place the folder wherever you want on your computer.
pull framework-res.apk and com.htc.resources.apk from your rom and place in the apktool folder

open a command window to apktool. (right click on your apktool folder and hit shift at the same time. one of the options will be to open a command window.)

type apktool if framework-res.apk hit enter
then type apktool if com.htc.resources.apk hit enter

now your needed dependencies are installed.

type apktool d framework-res.apk framework hit enter.

note im naming the out folder framework. you can name it anything you like.

this will create a decompiled framework-res. i named the folder framework so there will be a framework folder in your apktool folder now.

go to res/values anims.xml

change this

<anim name="htc_ime_decelerate_interpolator">@anim/zzz_htc_ime_decelerate_interpolator</anim>

to this

<item type="anim" name="htc_ime_decelerate_interpolator">@anim/zzz_htc_ime_decelerate_interpolator</item>

go to res/values layout.xml

change this

Code:
<layout name="htc_list_item_2text_2stamp">@layout/zzzz_htc_list_item_2text_2stamp</layout>
    <layout name="htc_list_item_2text_bright">@layout/zzzz_htc_list_item_2text_bright</layout>
    <layout name="htc_list_item_image_2text_image_bright">@layout/zzzz_htc_list_item_image_2text_image_bright</layout>
    <layout name="htc_list_item_imageicon_2text_2stamp">@layout/zzzz_htc_list_item_imageicon_2text_2stamp</layout>
    <layout name="htc_list_item_imageicon_text">@layout/zzzz_htc_list_item_imageicon_text</layout>
    <layout name="htc_list_item_separator">@layout/zzzz_htc_list_item_separator</layout>
    <layout name="keyguard_screen_device_unlock">@layout/zzzz_keyguard_screen_device_unlock</layout>
    <layout name="pin_keyboard">@layout/zzzz_pin_keyboard</layout>

to this


Code:
<item type="layout" name="htc_list_item_2text_2stamp">@layout/zzzz_htc_list_item_2text_2stamp</item>
    <item type="layout" name="htc_list_item_2text_bright">@layout/zzzz_htc_list_item_2text_bright</item>
    <item type="layout" name="htc_list_item_image_2text_image_bright">@layout/zzzz_htc_list_item_image_2text_image_bright</item>
    <item type="layout" name="htc_list_item_imageicon_2text_2stamp">@layout/zzzz_htc_list_item_imageicon_2text_2stamp</item>
    <item type="layout" name="htc_list_item_imageicon_text">@layout/zzzz_htc_list_item_imageicon_text</item>
    <item type="layout" name="htc_list_item_separator">@layout/zzzz_htc_list_item_separator</item>
    <item type="layout" name="keyguard_screen_device_unlock">@layout/zzzz_keyguard_screen_device_unlock</item>
    <item type="layout" name="pin_keyboard">@layout/zzzz_pin_keyboard</item>
go to res/values plurals.xml

go to line 79

change this

%d of %d

to this

%1$d of %2$d

now remember every foreign language plural needs that change or just delete them.

go to res/values raws.xml

change this

<raw name="fallbackring_htc">@raw/zzzz_fallbackring_htc</raw>

to this

<item type="raw" name="fallbackring_htc">@raw/zzzz_fallbackring_htc</item>

now when all of the plurals are changed or deleted ( do NOT delete the plurals in res/values. that has to be changed.)
type apktool b framework hit enter. this will build your apk.

here are the res/values xmls modded already to make this easy.

download here replace the existing decompiled xmls with these.

now when you decompile to make further changes you will find that three of the xmls

anims.xml
layout.xml
raws.xml
compile back to their original format so save the modified decompiled xmls

this is the modified framework

framework-res

please post any issues
Last edited by fernando sor; 9th September 2013 at 05:39 AM.
The Following 43 Users Say Thank You to fernando sor For This Useful Post: [ View ]
15th April 2012, 08:54 PM   |  #2  
Senior Member
Flag Istanbul
Thanks Meter: 428
 
776 posts
Join Date:Joined: Jan 2011
More
For compile I'm using apktool b <directory>. I got http://pastebin.com/quWsK7mP
The Following User Says Thank You to leventccc For This Useful Post: [ View ]
15th April 2012, 09:06 PM   |  #3  
fernando sor's Avatar
OP Recognized Themer
Flag north of the wall
Thanks Meter: 5,481
 
9,461 posts
Join Date:Joined: Sep 2010
More
i just finished the tutorial which addresses those errors
The Following User Says Thank You to fernando sor For This Useful Post: [ View ]
15th April 2012, 09:10 PM   |  #4  
rayford85's Avatar
Recognized Themer
Thanks Meter: 5,227
 
4,260 posts
Join Date:Joined: May 2011
Donate to Me
Nice to see you here Fern I did the same as your guide yesterday. Very simple fix. Now if we can solve resources....
The Following User Says Thank You to rayford85 For This Useful Post: [ View ]
15th April 2012, 09:12 PM   |  #5  
fernando sor's Avatar
OP Recognized Themer
Flag north of the wall
Thanks Meter: 5,481
 
9,461 posts
Join Date:Joined: Sep 2010
More
Quote:
Originally Posted by rayford85

Nice to see you here Fern I did the same as your guide yesterday. Very simple fix. Now if we can solve resources....

i believe it is along the same lines. ill take a look at it
15th April 2012, 09:22 PM   |  #6  
Senior Member
Flag Istanbul
Thanks Meter: 428
 
776 posts
Join Date:Joined: Jan 2011
More
Quote:
Originally Posted by fernando sor

i just finished the tutorial which addresses those errors

Thanks now trying it
The Following User Says Thank You to leventccc For This Useful Post: [ View ]
15th April 2012, 10:47 PM   |  #7  
pstevep's Avatar
Senior Moderator / Developer Committee / XDA Portal Team / Recognized Themer / Teh Pony Overlord
Flag A place just beyond throwing distance
Thanks Meter: 6,191
 
5,534 posts
Join Date:Joined: Aug 2010
Donate to Me
More
I need a place here.
The Following User Says Thank You to pstevep For This Useful Post: [ View ]
16th April 2012, 04:41 AM   |  #8  
Onepagebook's Avatar
Recognized Themer
Flag Land of Buckeye & Formosa
Thanks Meter: 2,312
 
1,895 posts
Join Date:Joined: Dec 2010
Donate to Me
More
Thanks very much for the heads up, good to see this fix
16th April 2012, 11:38 AM   |  #9  
mike1986.'s Avatar
Senior Member
XDA-Developers
Thanks Meter: 70,871
 
37,199 posts
Join Date:Joined: Mar 2009
Donate to Me
More
@fernando if you don't decompile .apk with -t then you don't need to install framework. To decompile framework-res.apk no dependencies are needed.
16th April 2012, 11:51 AM   |  #10  
LeeDroid's Avatar
Retired Recognized Developer
Flag Darlington
Thanks Meter: 11,509
 
12,458 posts
Join Date:Joined: Jan 2007
Donate to Me
More
+1 ...

Been using this exact method since first deodexing the build.. htc-resources is unfortunately a very different story

Sent from my One Xtreme LeeDrOiD loaded Beast

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in One X Android Development by ThreadRank