Related
I've looked through many posts. I am very new to creating my own Rom's, and I am having a problem after editing framework-res.apk. I started by downloading a popular rom for the Evo 3D, and decompiled it, edited framework-res, and after flashing the rom it wouldn't boot past the startup animation. The screen just remained black, but the capacitive buttons remained lit. Heres my process:
1.) Download the rom I desired.
2.) Extract zip
3.) Locate Framework-res.apk, copy, paste on desktop.
4.)Extract framework-res.apk, edited icons to my liking.
5.) Delete Meta-inf.
6.) Compress framework-res back to .zip, then to .apk.
7.)Sign Framework-res.apk.
8.) Replace framework-res.apk in my desired rom.
9.) Go into Meta-inf, delete Cert.RSA, Cert.SF, Manifest.MF (everything but the com folder)
10.) Re-sign .zip
11.) Flash via CWM, reboot, see Android startup animation, black screen?!!?!?
I am 99% I didn't change any dimensions of any of the images, and I re-signed everything perfectly. I know my mistake(s) are probably very noob, but as of now, I can't figure out what I am doing wrong. Any help would be greatly appreciated!
(Before you say anything, I have searched the forums several times, with no luck. I also tried this process several times, only editing one.png in framework-res, and I still get the same result.)
ellisperkins said:
I've looked through many posts. I am very new to creating my own Rom's, and I am having a problem after editing framework-res.apk. I started by downloading a popular rom for the Evo 3D, and decompiled it, edited framework-res, and after flashing the rom it wouldn't boot past the startup animation. The screen just remained black, but the capacitive buttons remained lit. Heres my process:
1.) Download the rom I desired.
2.) Extract zip
3.) Locate Framework-res.apk, copy, paste on desktop.
4.)Extract framework-res.apk, edited icons to my liking.
5.) Delete Meta-inf.
6.) Compress framework-res back to .zip, then to .apk.
7.)Sign Framework-res.apk.
8.) Replace framework-res.apk in my desired rom.
9.) Go into Meta-inf, delete Cert.RSA, Cert.SF, Manifest.MF (everything but the com folder)
10.) Re-sign .zip
11.) Flash via CWM, reboot, see Android startup animation, black screen?!!?!?
I am 99% I didn't change any dimensions of any of the images, and I re-signed everything perfectly. I know my mistake(s) are probably very noob, but as of now, I can't figure out what I am doing wrong. Any help would be greatly appreciated!
(Before you say anything, I have searched the forums several times, with no luck. I also tried this process several times, only editing one.png in framework-res, and I still get the same result.)
Click to expand...
Click to collapse
Are you editing .9.pngs? If you are then you can't edit them the normal way. Also you don't sign anything that goes into the system folder.
Hey you can't do apk editing that way it wont work. You have to decompile the apk use apktool. Then make changes and recompile back.
Sent from my LG-P500 using XDA Premium App
I tryed with the apk tool and gave all green icons a blue color with gimp but after recompiling the framework-res.apk and uploading it to the phone it won't boot anymore. (bootloop)
Does anybody know if I have to sign the apk or do I have to do something different to make this work? (I did'n't change the size of the pictures, only recolored it.)
It's about the png files in the "drawable-hdpi" folder.
I followed the instructions from this site: http://www.miui-au.com/add-ons/apktool/)
Nemesco said:
I tryed with the apk tool and gave all green icons a blue color with gimp but after recompiling the framework-res.apk and uploading it to the phone it won't boot anymore. (bootloop)
Does anybody know if I have to sign the apk or do I have to do something different to make this work? (I did'n't change the size of the pictures, only recolored it.)
It's about the png files in the "drawable-hdpi" folder.
I followed the instructions from this site: http://www.miui-au.com/add-ons/apktool/)
Click to expand...
Click to collapse
You never sign a system apk. You main issue may be your trying to edit a .9.png if that is the case then you can't just recolor them in Gimp. They have to be decompiled and edited a certan way, then ran threw the draw9patch tool from the android sdk.
I believe the framework.apk and rom have to be deoxed to make these modifications
Sent from my HTC HD2 using XDA Premium App
Problemen is half solved. I re-colored all green icons to blue, exept the .9.png
Tryed the .9 patch tool but didn'd manage to change the .9.png without problems.
My ROM is deodexed, so this couldn'd be the problem.
When uploading the framework without recolored .9.png files the ROM works well.
Sent from my HTC Desire using Tapatalk
Nemesco said:
Problemen is half solved. I re-colored all green icons to blue, exept the .9.png
Tryed the .9 patch tool but didn'd manage to change the .9.png without problems.
My ROM is deodexed, so this couldn'd be the problem.
When uploading the framework without recolored .9.png files the ROM works well.
Sent from my HTC Desire using Tapatalk
Click to expand...
Click to collapse
If you're only changing colors you can modify a .9 with PhotoShop or Gimp just do not touch the black patch lines around the edges and they have to be decompiled then recompiled in order for it to work properly. The way I personally do theming of system apks is as follows:
Decompile apk with apktool.
Modify the images I want to change. Compile with apktool.
Copy the new images from newly compiled apk to original apk.
Push apk to proper location to test.
If you make xml changes you will need to copy those as well as the newly compiled resources.arsc file. You only need the resources file if you change xml files though.
Sent from my ADR6300 using XDA App
ellisperkins said:
I've looked through many posts. I am very new to creating my own Rom's, and I am having a problem after editing framework-res.apk. I started by downloading a popular rom for the Evo 3D, and decompiled it, edited framework-res, and after flashing the rom it wouldn't boot past the startup animation. The screen just remained black, but the capacitive buttons remained lit. Heres my process:
1.) Download the rom I desired.
2.) Extract zip
3.) Locate Framework-res.apk, copy, paste on desktop.
4.)Extract framework-res.apk, edited icons to my liking.
5.) Delete Meta-inf.
6.) Compress framework-res back to .zip, then to .apk.
7.)Sign Framework-res.apk.
8.) Replace framework-res.apk in my desired rom.
9.) Go into Meta-inf, delete Cert.RSA, Cert.SF, Manifest.MF (everything but the com folder)
10.) Re-sign .zip
11.) Flash via CWM, reboot, see Android startup animation, black screen?!!?!?
I am 99% I didn't change any dimensions of any of the images, and I re-signed everything perfectly. I know my mistake(s) are probably very noob, but as of now, I can't figure out what I am doing wrong. Any help would be greatly appreciated!
(Before you say anything, I have searched the forums several times, with no luck. I also tried this process several times, only editing one.png in framework-res, and I still get the same result.)
Click to expand...
Click to collapse
Without signing and deleting meta-inf. Just extract it with winzip, past ur png s then rezip it. It should work.
Sent from my GT-I9100 using xda premium
Open rom with 7-zip, open framework inside 7-zip, pull the folder to your desktop and keep 7-zip open, edit your pngs, drag folder back into 7-zip, accept changes, press back til it asks you if you wanna update framework inside the zip, select yes. Flash rom. Profit.
.9 editing (assuming you have eclipse set up, google how to)
Same steps as above until where you edit the pngs, copy the .9 files to a new folder on the desktop, name it 9pngs (or whatever), remove the .9 just make it a png (background.9.png to background.png), edit the colors, open draw9patch, color in the whole right side and bottom all black, then place one black dot in the middle of the top and one black dot in the middle on the left side (this might not work on every one, but it has worked fine on every one ive edited, theres more info on how to use draw9, google is your friend), save the image, this will make it a .9 but it wont be recognized by android til putting it thru eclipse, do the same with all of the images, open Eclipse, start new android project, name it whatever you want, open the project folder, go to res, drag all images to appropriate folder, right click on the project folder, choose android tools, extract unsigned application, open the application you made with 7-zip, drag out the images into your drawable folder, insert folder into framework inside of 7-zip, back out of 7-zip until it asks if you want to update framework inside of zip, select yes, flash rom, profit.
I am trying to make some minor changes to framework-res.apk in /res/values/bools.xml
I used apktool to decompile and make my changes but I am not sure how to properly re-compile.
Just "apktool b framework-res" errors out with invalid resource names.
Finally got it to re-compile by pasting the resource.arsc. from original apk(Dunno if this is correct way)
Then, after re-compile I paste the META-INF from the original apk.
I am hesitant to push this onto my phone now because to file sizes of the modified and original .apk differ by like 2mb. And theres 100 more files in /res of the modified .apk. (Now shows file I was trying to access by decompiling before)
Can I safely push the .apk? or am I doing it completly wrong?
Thanks!
( I did search forums and web before, but did not find anyone having to copy resource.arsc before re-compiling)
trailblazerz11 said:
I am trying to make some minor changes to framework-res.apk in /res/values/bools.xml
I used apktool to decompile and make my changes but I am not sure how to properly re-compile.
Just "apktool b framework-res" errors out with invalid resource names.
Finally got it to re-compile by pasting the resource.arsc. from original apk(Dunno if this is correct way)
Then, after re-compile I paste the META-INF from the original apk.
I am hesitant to push this onto my phone now because to file sizes of the modified and original .apk differ by like 2mb. And theres 100 more files in /res of the modified .apk. (Now shows file I was trying to access by decompiling before)
Can I safely push the .apk? or am I doing it completly wrong?
Thanks!
( I did search forums and web before, but did not find anyone having to copy resource.arsc before re-compiling)
Click to expand...
Click to collapse
FOr me, APKtool works as ****...
What you can do: pull /system/framework/framework-res.apk ~/backup
and then you can push. If it doesn't work, then boot into recovery, select mount system and push back the old one.
OT: I don't get why you should use original resources.arsc...
offtopic: when I decompile framework-res using apktool, I get other file structure then normal extract. example: my framework-res doenst have a raw-folder, but apktool decompiled has...
mDroidd said:
FOr me, APKtool works as ****...
What you can do: pull /system/framework/framework-res.apk ~/backup
and then you can push. If it doesn't work, then boot into recovery, select mount system and push back the old one.
OT: I don't get why you should use original resources.arsc...
offtopic: when I decompile framework-res using apktool, I get other file structure then normal extract. example: my framework-res doenst have a raw-folder, but apktool decompiled has...
Click to expand...
Click to collapse
This is due to the raw folder being combined into the resources file. Search for apkmultitool it is a far easier tool to use and will do everything you need. That goes for both posts
Before doing that, create a flashable zip containing the framework-res.apk file which you can use in case you get a black screen or something.
So that you don't have to restore.
You do realize that resources.arsc, aka resources directory is the collection of xml and other data. You take it from another ROM, how on earth will your xml edits be preserved?
Sent from my HTC Desire using Tapatalk
I need to edit the bools.xml file in framework-res.apk and an a bit stuck on the apktool. I used the APK Multitool to decompile the framework-res.apk file. I then used notepad++ to edit the bools.xml file. I then recompiled it using the APK Multitool and pushed it to /system/framework overwriting the original (after first making a copy of the original). On reboot the phone is stuck in a boot loop.
I managed to use ADB shell to restore the original file and it now boots (I lost all the synchronise stuff but not a big deal). So I have been searching and have found various posts about the later versions of apktool not working very well.
I have a fairly clean Windows 7 x86 installation with Java 1.6 and am using this to do the work on. Can someone point me in the right direction as to how to edit/recompile the framework-res.apk file?
Andy
I actually also trying to edit bools.xml located in framework-res.apk
I'm using Apk Changer it may be easier.
after some tries (and bootloops) I've managed to do some changes in framework-res : replacing pictures -> It works
after decompiling the apk, when I edit values within bools.xml , & then choose to compile, it creates a folder called "keep" and i have to delete edited files in that folder so as to replace them by my customized files.
BUT I don't find the folder "values" that contains bools.xml . Therefore, the generated apk will not make changes done in bools.xml .
Does anyone has any idea about Editing that xml ?
More details & Tuto :
http://forum.xda-developers.com/showthread.php?t=916814
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
@ADB100
Advanced Decompiling
Sometimes, you have that pesky app that just won't decompile correctly. Usually, it's an app related to others, like a proprietary system app based off framework-res.apks.
When this happens, you need to ensure that the frameworks are there to have the app's recourse tables properly compile.
For either apktool or apk manager, find a folder on your computer called "apktool."
The should be a folder in here called "framework," and inside that, a 1.apk.
For an app that is dependent on the framework-res.apk in a specific phone/rom, take the framework-res.apk for that rom and rename it 1.apk.
Replace the default one in the folder with yours.
If there's a second one, like the twframework-res.apk for Samsung phones, rename it 2.apk and place it in the "framework" folder.
Now, decompile like normal, and everything should be good
//By theimpaler747
Click to expand...
Click to collapse
-Yasser-
-yasser- said:
I actually also trying to edit bools.xml located in framework-res.apk
I'm using Apk Changer it may be easier.
after some tries (and bootloops) I've managed to do some changes in framework-res : replacing pictures -> It works
after decompiling the apk, when I edit values within bools.xml , & then choose to compile, it creates a folder called "keep" and i have to delete edited files in that folder so as to replace them by my customized files.
BUT I don't find the folder "values" that contains bools.xml . Therefore, the generated apk will not make changes done in bools.xml .
Does anyone has any idea about Editing that xml ?
More details & Tuto :
http://forum.xda-developers.com/showthread.php?t=916814
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
@ADB100
-Yasser-
Click to expand...
Click to collapse
The values folders get compressed into the resources.arsc file so in the keep folder delete this file and your changes will stick
not sure if you got this figured out yet but if not heres how the whole process should go.
Code:
apktool if framework-res.apk
if on a sense based rom do this too
Code:
apktool if com.htc.resources.apk
change to the directory where your framework-res.apk is
Code:
apktool d -f framework-res.apk out
or something like this if apktool is not in your path
Code:
apktool d -f ~/Desktop/framework-res.apk ~/Desktop/out
easy way to build is to cd to out folder
Code:
cd ~/Desktop/out
to build apk
Code:
apktool b
then just sign apk if needed
if you are on linux you can try this:
http://forum.xda-developers.com/showthread.php?t=1446233
wes342 said:
not sure if you got this figured out yet but if not heres how the whole process should go.
Code:
apktool if framework-res.apk
if on a sense based rom do this too
Code:
apktool if com.htc.resources.apk
change to the directory where your framework-res.apk is
Code:
apktool d -f framework-res.apk out
or something like this if apktool is not in your path
Code:
apktool d -f ~/Desktop/framework-res.apk ~/Desktop/out
easy way to build is to cd to out folder
Code:
cd ~/Desktop/out
to build apk
Code:
apktool b
then just sign apk if needed
if you are on linux you can try this:
http://forum.xda-developers.com/showthread.php?t=1446233
Click to expand...
Click to collapse
Thanks for this. This is what I have done but it hasn't worked for me so far. I am not sure whether I need to sign the file or not - I suspect I do?
Apart from the boot-loop another thing that worries me is the file sizes - the original framework-res.apk is 6,135,120-bytes whilst the new one is 3,319,608-bytes.
My ROM is based on the stock rooted 3.12.405.1 by nitro. The framework-res.apk already had a modification (the default wallpaper was changed) and I changed this back by just replacing the image in the .apk from WinRar and this worked fine. I want to edit the bools.xml file and get it back into the resources.arsc file.
Andy
ADB100 said:
Thanks for this. This is what I have done but it hasn't worked for me so far. I am not sure whether I need to sign the file or not - I suspect I do?
Apart from the boot-loop another thing that worries me is the file sizes - the original framework-res.apk is 6,135,120-bytes whilst the new one is 3,319,608-bytes.
My ROM is based on the stock rooted 3.12.405.1 by nitro. The framework-res.apk already had a modification (the default wallpaper was changed) and I changed this back by just replacing the image in the .apk from WinRar and this worked fine. I want to edit the bools.xml file and get it back into the resources.arsc file.
Andy
Click to expand...
Click to collapse
No you don't have to sign the framework API. System apks are signed. What edits are you trying to do?
zelendel said:
No you don't have to sign the framework API. System apks are signed. What edits are you trying to do?
Click to expand...
Click to collapse
All I want to edit is the bools.xml file so I can enable the SIP client to work over 3G: i.e. change this line in the file and re-cook it
Code:
<bool name="config_sip_wifi_only">true</bool>
This is potentially the 1st step though. If I can sucessfully edit this then I will probably try other things.
Andy
ADB100 said:
All I want to edit is the bools.xml file so I can enable the SIP client to work over 3G: i.e. change this line in the file and re-cook it
Code:
<bool name="config_sip_wifi_only">true</bool>
This is potentially the 1st step though. If I can sucessfully edit this then I will probably try other things.
Andy
Click to expand...
Click to collapse
Ok so here is a step by step that I have used to make just this edit.
Apkmultitool is the one I use.
1. Decompile the apk
2. Change the false to true
3. Compile with option 11
4. In the keep folder delete the resource.asc file and then finish compiling.
5. Put New apk in zip removing the unsigned so it is named properly
6. Flash
zelendel said:
Ok so here is a step by step that I have used to make just this edit.
Apkmultitool is the one I use.
1. Decompile the apk
2. Change the false to true
3. Compile with option 11
4. In the keep folder delete the resource.asc file and then finish compiling.
5. Put New apk in zip removing the unsigned so it is named properly
6. Flash
Click to expand...
Click to collapse
OK - just removed and reinstalled APK Multitool, verified the path environment variable and followed these steps - Step 3 where it asks whether this is a system apk I said yes and when it asks about copying files I said yes. The resulting file is now 5,653KB compared to the original that is 5,992KB. I assume the difference is the lack of signing?
Does this sound right?
Andy
ADB100 said:
OK - just removed and reinstalled APK Multitool, verified the path environment variable and followed these steps - Step 3 where it asks whether this is a system apk I said yes and when it asks about copying files I said yes. The resulting file is now 5,653KB compared to the original that is 5,992KB. I assume the difference is the lack of signing?
Does this sound right?
Andy
Click to expand...
Click to collapse
That and the compression level that is used. It will also change if you optimize the pngs. Nothing to really worry about
I am obviously doing something fundamentally wrong
I followed the instructions to the letter, created the unsignedframework-res.apk, renamed it, pushed it to to my device (adb remount, adb push framework-res.apk system/framework/framework-res.apk) and rebooted - boot loop. Tried signing it with APK Multitool and then pushing this file. This time it booted but I had forced close on all sorts of things. Restored the original file and it is working again but all the sync stuff has screwed up meaning I need to re-flash as my ROM has stuff in /data that will get wiped if I do a factory reset.
Any other pointers or do you want to try editing the file for me and I'll see if yours works? I have attached the original file.
Andy
ADB100 said:
I am obviously doing something fundamentally wrong
I followed the instructions to the letter, created the unsignedframework-res.apk, renamed it, pushed it to to my device (adb remount, adb push framework-res.apk system/framework/framework-res.apk) and rebooted - boot loop. Tried signing it with APK Multitool and then pushing this file. This time it booted but I had forced close on all sorts of things. Restored the original file and it is working again but all the sync stuff has screwed up meaning I need to re-flash as my ROM has stuff in /data that will get wiped if I do a factory reset.
Any other pointers or do you want to try editing the file for me and I'll see if yours works? I have attached the original file.
Andy
Click to expand...
Click to collapse
I've tried to change it for you,
Code:
<bool name="config_sip_wifi_only">false</bool>
The file size is reduced to 3.23 Mb maybe it's bcz of optimizing effect..
check if it works .
-Yasser-
-yasser- said:
I've tried to change it for you,
Code:
<bool name="config_sip_wifi_only">false</bool>
The file size is reduced to 3.23 Mb maybe it's bcz of optimizing effect..
check if it works .
-Yasser-
Click to expand...
Click to collapse
Hi
Thanks for this. Just renamed this and pushed it to my DHD, rebooted and yep it works. I haven't built a ROM with it yet but this tells me something is wrong at my end....
I have a fairly vanilla Dell PC with Windows 7 Ultimate x86 OEM. I have installed the DSIXDA kitchen and have been building ROMs for my DHD for a while. I have some of the Android SDK installed but maybe not all or updated (not sure if this is a problem?) but enough for adb.exe to work? I have installed the APK Multitool (obviously) and some other utilities (Ultimate Multi Tool, HTC Sync)
Other than that its a pretty clean machine - Microsoft Security Essentials and WinRar is all that's installed. This is a spare PC that I wiped recently and installed Windows 7 on and all I am really using it for is making android ROMs.
EDIT: Just built a ROM with this framework-res.apk as swapping this after I have configured account sync seems to screw the accounts up (they sync but aren't displayed in Settings, Accounts & Sync). Anyway the ROM built OK and its all working. I'd really like to know what I am doing wrong with editing the APK?
Andy
OK.
I don't really know what's wrong with your PC, or procedure ..
I'll tell you what I am doing, that may helps.
I'm using apk changer . download it from here
I think It's nearly the same as other tools, although you can try it.
For editing framework-res.apk,
first open cmd : cd <..>\apk_changer\other (folder containing apktool.jar)
then type : java -jar apktool.jar if <PATH To>\framework-res.apk
It should tell you that "framework installed to ..."
Now put your framework-res.apk in "place-files-here-for-modding"
and run apkchanger.bat choose 1 (decompile) and 3 (for sources & resources)
Do your modifications.
then return to bat, type 3 (compile). yes for system apk & yes for replacing original files.
a 'keep' folder will be created, delete resources.asc inside it.
type enter within cmd & you're done . check the new file in "place-files-here-for-modding" (unsignedframework-res.apk)
Yasser
-yasser- said:
OK.
I don't really know what's wrong with your PC, or procedure ..
I'll tell you what I am doing, that may helps.
I'm using apk changer . download it from here
I think It's nearly the same as other tools, although you can try it.
For editing framework-res.apk,
first open cmd : cd <..>\apk_changer\other (folder containing apktool.jar)
then type : java -jar apktool.jar if <PATH To>\framework-res.apk
It should tell you that "framework installed to ..."
Now put your framework-res.apk in "place-files-here-for-modding"
and run apkchanger.bat choose 1 (decompile) and 3 (for sources & resources)
Do your modifications.
then return to bat, type 3 (compile). yes for system apk & yes for replacing original files.
a 'keep' folder will be created, delete resources.asc inside it.
type enter within cmd & you're done . check the new file in "place-files-here-for-modding" (unsignedframework-res.apk)
Yasser
Click to expand...
Click to collapse
Hi
Thanks for replying. I am going to wipe and reinstall Windows 7. I know it seems a bit drastic but its the only way I can eliminate it - plus its just a PC in the corner that has no important stuff (apart from the android stuff) on it.
Andy
Trying to modify contacts.apk to make the dialer multi-dpi compatible. Did that and it works.
My issue is recompiling the apk. Everytime I recompile the apk with apktool it looses over a megabyte in size. In my case went from 4.49MB to 3.19MB after rebuilding. Only file modified was dialer_app.xml and it's size stayed about the same.
I've brought framework-res.apk and twframework.apk into apktool. After copying the resulting contacts.apk back to the device it is not recognized.
I've also tried copying the META-INF directory from the original apk over to the new one. Still no luck. I'm new to this and if anyone has some help for me it would be greatly appreciated!
Did you sign your new apk after recompiling it ?
Do you have classes.dex and resources.arsc files in your new apk ?
since its a system apk I've read it shouldn't be signed. Only thing I did was copy the META-INF folder to the new apk. In the new apk I do see classes.dex and resources.arsc. All the files appear to be there but the apk has shrunken in size.
I'm guessing I'm missing something simple here. But I'm new to this. Been at it for a few hours haven't had any luck.
I am new in development field. I have two questions 1. Is there same meaning for building and recompiling using apk tool? 2. I know framework-res.apk is needed for apktool d com, but where and the what is the use of twframework.apk file. Please explain anyone .
Recompiled apks will be quite a bit smaller as they will have more compression applied, this is normal, just be careful as if the tool compresses it to much you will get fc's. But it should work fine.
idhbar said:
I am new in development field. I have two questions 1. Is there same meaning for building and recompiling using apk tool? 2. I know framework-res.apk is needed for apktool d com, but where and the what is the use of twframework.apk file. Please explain anyone .
Click to expand...
Click to collapse
Read the apktool website for info about framework files, as far as which one to use, if you are decompiling a la2 or la4 base use a kl2 or kk5 framework without jkays built in as the laX frameworks are kinda buggy.
Sent from my GT-I9100 using Tapatalk
I tried to decompile, modify 1 xml file and recompile the framework-res.apk.
But everytime I do it, I either get into a boot loop, or when In succeed it displays glitches (like notification bar, and messed up lock screen, and settings)
This is for AURORA ICS 4.0.3 and I do have the latest aapt.exe file .. so I don't know what is wrong!
I tried to use the original framework-res but replace the resources file inside, stored and compressed methods.
Tried to get the compiled framework-res but add the META-INF and Manifest file (again, both with compressed and stored resources file) and always.. it just glitches or bootloops.. and the mod that I tried (ICS on screen buttons or the CRT effect when you switch off the screen, mainly used in Oxygen roms, but it's available in all ROMs).. it never works.. only glitches the lock screen, notification bar etc..
Any help?
Thanks.
I might know the answer to this..
Which files are you modifying in framework-res? And how are you pushing it back to your phone?
Sent from my U20i using xda premium
Would be great
I am modifying some files in the values folder, bools.xml, arrays.xml .. but even if I edit bools.xml alone, it still glitches.
To push it back: I go to recovery mode on my phone, plug it into my linux machine (the system partition mounts), paste the new framework-res.apk to replace the old one, fix permissions (otherwise it boot loops), and restart the phone. This method works for other files and never had any problems, like the android.policy.jar
Would be great if you can help me. Thanks
Well, the XML files you're editing are all part of resources.arsc so it's something to do with that which is causing the problem. I used to get all sorts of annoying bugs when I edited anything in resources.arsc and I eventually found out that I was pushing the final apk back to the phone incorrectly.
I use a Windows PC, not Linux, so I might not be that helpful but this is what I do to modify and replace framework-res.apk. Hopefully it'll help. What I do is..
Decompile framework-res.apk
Make my changes
Recompile the file
Use a program like 7zip to open the old and the new files
Drag and drop the "res" folder from the new file into the old
Extract resources.arsc from the new framework-res.apk and add it to the old one in "STORE" mode, so it's not actually compressed
Go into recovery, mount the system partition and push the old file
..and that's it. Works a charm every time.
I would have thought that you would need to do the same thing on Linux but with the additional step of correcting the permissions. If you do all that and it still doesn't work, then there has to be a problem with the actual mod you're trying to do.
Thank you very much, I actually tried that method. It sort of worked, but everytime it breaks the notification bar. It becomes like double the size and I'm not sure why.
Thanks.
Then the issue must be with the modification itself. What exactly are you changing to what?
Sent from my U20i using xda premium
I tried different ones.. but even a simple one.. enable CRT animation.. which is pretty much open bools.xml and edit one true to false.. it breaks it :/
After reading from articles , now more or less I got some idea on how to create a theme for a custom rom , but still there's something I don't know .
1) First , I extract files from a rom using 7zip . Then , I extract out the content of framework-res.apk and make some modifies / changes to those .png files . So , after completed those modifies , I just open archieve on the original framework-res.apk , drag and drop the one I modified to replace the original one ? After that , how do I pack it in .zip file that can be updated in open recovery ? .xml file shouldn't be modified right ?
2) What if I do this , I get a theme.zip made for the rom , and then I extract the contents of the theme.zip using 7zip , then again I modify the .png files and after completed , I packed it again by open archieve on the original theme.zip , drag and drop the one I modified to replace the original one ? Does this works ?
3) What if I modify other system apps such as calender.apk ? Using the same method , extract , modify , drag and drop , replace , then again how do I pack it in .zip file that can be updated in open recovery ? Is there any "bond" between those system apps and framework-res.apk ? Can I just modify anyone of both ? Or I have to modify both system apps and framework-res.apk to get it works ?
Thanks
nikctsh said:
After reading from articles , now more or less I got some idea on how to create a theme for a custom rom , but still there's something I don't know .
1) First , I extract files from a rom using 7zip . Then , I extract out the content of framework-res.apk and make some modifies / changes to those .png files . So , after completed those modifies , I just open archieve on the original framework-res.apk , drag and drop the one I modified to replace the original one ? After that , how do I pack it in .zip file that can be updated in open recovery ? .xml file shouldn't be modified right ?
2) What if I do this , I get a theme.zip made for the rom , and then I extract the contents of the theme.zip using 7zip , then again I modify the .png files and after completed , I packed it again by open archieve on the original theme.zip , drag and drop the one I modified to replace the original one ? Does this works ?
3) What if I modify other system apps such as calender.apk ? Using the same method , extract , modify , drag and drop , replace , then again how do I pack it in .zip file that can be updated in open recovery ? Is there any "bond" between those system apps and framework-res.apk ? Can I just modify anyone of both ? Or I have to modify both system apps and framework-res.apk to get it works ?
Thanks
Click to expand...
Click to collapse
Here's what I know so far. I'm still trying to learn as much as I can:
1) If you are making a theme by trying to replace pngs in an existing framework-res.apk file, you can do this: open the apk file within your zip program, and edit the apk there (so you'll have two zip windows open. Once the apk is updated, close the most recent zip window. The first zip window should recognize that you've updated the apk file, and ask you to update the first zip window.
I've been playing around with this: http://forum.xda-developers.com/showthread.php?t=1432152
What it allows you to do is modify the files in Windows Explorer (or whatever file explorer you're using), and then let the script do the rest of the work for you. The actions it can do are: decompile apk, recompile apk, sign apk, created update.zip.
The xml files need to be edited if you want to achieve certain effects. For example, in the Gingerbread theme there are some edits that have to be made to a few xml files in order to achieve white text on black backgrounds on the popup menus. The nice thing about the framework flasher link from above is that it 'compiles' the files (meaning it will check if the .9.pngs are correct, and if your xml files point to correct assets), so you can go about doing xml edits and stuff without fear of bootlooping.
2) Yes, this should work.
3) If the updater script is a generic script (that is, it moves everything from the /system folder to /system, and /data to /data), then you can create directories in the update.zip that refer to whatever apk you want to replace, with the same structure as in Android. The cool thing about Metamorph, from what I gather, is that you can create folder structures with just the assets you want to replace, rather than the entire apk. This means that if you want to replace just a few images in Phone.apk, for example, you create a directory in the Metamorph script under /system/app/Phone/res/drawable-hdpi and add the images you want to replace in there. I think that's the way I want to create my themes from now on, I just need to figure out how to do it correctly
I tried the framework flasher , after located the framework-res.apk and run RunMe , it shows echo is off , the log process shows 'java' is not recognized as an internal or external command,
operable program or batch file.
Do you have Java installed?
Mioze7Ae said:
Do you have Java installed?
Click to expand...
Click to collapse
No , I have no Java installed . Tried to install before but couldn't get the right version .
Java
I've yet to find one all inclusive theming reference. Just a lot of searching & reading & trial & error. This might be a good place to get started.
Edit: You'll also want to get the Android SDK
3rdstring said:
Java
I've yet to find one all inclusive theming reference. Just a lot of searching & reading & trial & error. This might be a good place to get started.
Edit: You'll also want to get the Android SDK
Click to expand...
Click to collapse
BTW , since I'm still too new to theming , I'm thinking of making my first step by changing the colour of a completed theme . This is what I'm currently doing : I extracted the files content of your DarkFroyo.zip and then extracted it's framework-res.apk . ( IT'S YOUR THEME , CAN YOU GIVE ME THE PERMISSION TO DO THIS ? ) I'm changing the original orange colour of all those icon to light pink using photoshop , then replace the original one . The files type are .png . Also , I changed the battery status icon and status bar background . However , I haven't touch those .xml files , I just leave it there . So after I complete , do I just flash it right away in my phone or I need to doing something like "sign" ? As for now , I don't have any idea about "sign" .
nikctsh said:
BTW , since I'm still too new to theming , I'm thinking of making my first step by changing the colour of a completed theme . This is what I'm currently doing : I extracted the files content of your DarkFroyo.zip and then extracted it's framework-res.apk . ( IT'S YOUR THEME , CAN YOU GIVE ME THE PERMISSION TO DO THIS ? ) I'm changing the original orange colour of all those icon to light pink using photoshop , then replace the original one . The files type are .png . Also , I changed the battery status icon and status bar background . However , I haven't touch those .xml files , I just leave it there . So after I complete , do I just flash it right away in my phone or I need to doing something like "sign" ? As for now , I don't have any idea about "sign" .
Click to expand...
Click to collapse
Changing the color in Photoshop is fine for normal ".png"s but ".9.png"s are special, they have a 1 pixel border with guides that define how they are stretched to fill a space (& are only visible is a decompiled state). Just editing a .9.png in Photoshop might break the .9 patch. Since you are trying to modify my theme it might also be wise to grab the "undo.zip" so if (when) something you try bootloops the phone you can flash the undo to get back to stock. I know had numerous bootloops when I was first starting out (still do occasionally).
3rdstring said:
Changing the color in Photoshop is fine for normal ".png"s but ".9.png"s are special, they have a 1 pixel border with guides that define how they are stretched to fill a space (& are only visible is a decompiled state). Just editing a .9.png in Photoshop might break the .9 patch. Since you are trying to modify my theme it might also be wise to grab the "undo.zip" so if (when) something you try bootloops the phone you can flash the undo to get back to stock. I know had numerous bootloops when I was first starting out (still do occasionally).
Click to expand...
Click to collapse
Hey 3rdstring. I noticed you release a new version of your theme for the ODEXED version of CM6. For APKs that have ODEX files (such as Phone), are you deodexing them using apktool, then reodexing them? A brief pointer would be nice!
molohov said:
Hey 3rdstring. I noticed you release a new version of your theme for the ODEXED version of CM6. For APKs that have ODEX files (such as Phone), are you deodexing them using apktool, then reodexing them? A brief pointer would be nice!
Click to expand...
Click to collapse
No the only thing I'm changing in any of the odexed apks are images. I use a Metamorph file with ZipThemer to build the update.zip (& undo) after I've decompiled / recomfiled framework-res for the white menu text & 10% battery increments.
3rdstring said:
No the only thing I'm changing in any of the odexed apks are images. I use a Metamorph file with ZipThemer to build the update.zip (& undo) after I've decompiled / recomfiled framework-res for the white menu text & 10% battery increments.
Click to expand...
Click to collapse
The reason I ask is b/c I tried pushing a modified Phone.apk to CM6, but it didn't pick up any of the changes I added (images only). It made me think that the assets were already prebuilt in the odex file, so changing the apk wouldn't do anything unless the odex file was changed too.
I also tried applying a metamorph script on top of the odex ROM, but it caused a lot of fcs. I think it's b/c of the ODEXing too.
EDIT: My bad. Phone.apk is the calling screen, Contacts.apk is the dialer + contacts. DOH!!!
My edits are pushed correctly