[Updated] - How-to Theme Development - G1 Themes and Wallpapers

To create themes, or to edit themes to your liking, you will need a working knowledge of android, adb, how to resign apk's, knowledge of your own O/S.
Before you start be aware that you will may end up wiping your phone once, if not more. So lets go over the things that you will need.
You will need JF's RC30, RC8, or ADP1 V1.3, depending on what version you intend to create for.
Here is the link to these: http://forum.xda-developers.com/showthread.php?t=466174
You will also want to get the dev bootloader installed on your phone and to HIGHLY suggest everyone trying your theme to install it as well.
Link to dev bootloader: http://forum.xda-developers.com/showthread.php?t=455860
You will also need to resign all the apks located in /system/app and framework-res.apk located in /system/framework. When you push all of these to your phone.
JesusFreke was kind enough to build a custom signing tool for me that would allow me to right click on an apk and resign it from there. I am posting it here for others to use as well. Note that this is a courtesy of JF, so thank him for it. I cannot stress how much time this has saved me and will save you.
Here is the link: Http://www.FightForthePits.com/testsign(2).zip
Before using this you need to know how to set this up:
I will assume that you have the sdk downloaded and extracted somewhere(if not, do that now), extract both files to the tools directory of your sdk.
Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.(This is for XP, Vista coming soon)
To do this, right click on My Computer click properties, then choose the tab that says advanced. Click the button that says environmental variables. Go to system variables find the one that says CLASSPATH, double click it, go to the end of variable value. There should be a semicolon ; at the end. type in the path to the testsign.jar located in the tools directory of your SDK, for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar If CLASSPATH is not in your system variables then create it. Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory. For example, mine was c:\sdk\android-sdk-windows-1.0_r2\tools
Now right click the reg file that you extracted and choose to install it, or merge.
Now, right click an apk, do you see an option that says ResignApk? That's how you will resign your .apks and .zips.
If you find the right click menu not working for some reason you can type the following in cmd to sign your files: java testsign whateverfiletosign
Now through doing this you have done two things, first off you have made the resigning process extremely easy, secondly you will not have to cd to the tools dir of the sdk to use adb or any other tool in the sdk.
You will also need a version of linux installed or running vmware with linux, if you want to create, or edit, an update script, which will install the theme onto the users phone.
You will need to be specific in addressing what version your theme is for, RC8, RC30, or ADP1. Make sure every file gets signed. Make sure you test the update.zip before you release it.
Every .apk contains the images relating to itself. However, every apk has the ability to use the images in framework-res.apk. The images for every apk is located inside of itself. To find these images open up the apk, you can rename it to .zip or open it with an archiver of your choice, winrar, winace, etc. Then after opening the apk open the folder called res and inside of that there are folders that are named Drawable, drawable-land, drawable-port, etc. This is where the images are stored.
Ther are some things you cannot edit unless you rebuild the entire apk from source, which we will not go into here.(another tutorial, another time) Just know that at this time you SHOULD NOT edit, or even open images with the extension .9.png. If you do you will have problems...Trust me. These are special images called ninepatch images and android resizes these images to fit wherever android, or any other apk, needs it to. if you do open them or edit them they will no longer render correctly when resized. I believe that in order to edit these you must do so and then put them into the source and rebuild the entire apk.
Before getting started you must also realize that you cannot simply resign one or two apk's and stick them in your phone and expect them to work. You must resign every apk inside of /system/app and framework-res.apk and put them on your phone at the same time.
To simplify this process for you though, I have provided an empty update.zip which you can place all of your resigned apps into and use to update your phone to your custom theme. You can also download someonelses theme and use there files, since they are resigned already. It may also be easier to see what files do what and go where since they have already been edited and are easy to point out.
Now, your ready to start changing things up.
You will now need to open the apk, which you can do by adding .zip after .apk, effectively changing it to a zip. Note that if you are using windows you will need to unhide known file extension types. you can also use your favorite archiver such as winrar, winzip, etc.
See here to unhide known file extension types for Xp: http://www.mediacollege.com/microsoft/windows/extension-change.html
See here to unhide file extension types for Vista: http://maximumpcguides.com/windows-vista/how-to-change-a-file-extension/
After opening the apk go to res and copy the folders that have drawable in their name. Go to your desktop, or wherever, create a new folder called Images, or whatever. Open the folder, paste the drawable folders in there. Now you can see what the files look like without opening them. Btw, you may also want to add -frame, or -launcher, to the end of the folders you cope over to keep them separated from others.
Finally, you've edited the images put them all in the apk renamed it back to an apk and resigned it. Now it's time to push it to your phone and see the changes you've made.
Important! : Whenever pushing files to the phone NEVER do it while the phone is running. Do this in recovery mode! If you do this while the phone is running normally you will begin to lose space in /system.
So, boot into recovery plug your phone in and open a cmd prompt. From the cmd prompt type adb shell mount /system then type the following: adb push c:\whereveryourfileis\whateveryourpushing.apk /system/app (system/framework if your pushing framework-res.apk)
Now reboot your phone. If it doesn't boot, try doing a wipe, if that doesn't work reinstall an update and try again. There are alot of things people can do wrong, I can't explain them all here. If you get real stuck, you can ask for help here or contact me on Gtalk [email protected].
So now your theme is done and your ready to make an update.zip for others to install your theme.
I have created a template for you to make your own update.zip. Just download, add the system apps to app, and framework to framework. Zip it up, SIGN IT, TEST IT YOURSELF, and then distribute it!
Empty update.zip template: Http://www.FightForthePits.com/Androidstuff/update_empty.zip
If anyone has any questions please try asking for help in this thread before emailing me for help Usually I will respond to questions in this forum.
I hope this Tutorial has been helpful. I will add on to it as needed.
Stericson
Links of interest:
Downloading SDK: http://code.google.com/android/intro/installing.html
Using ADB: http://code.google.com/android/reference/adb.html

Working with ninepatch should be straightforward if you use the draw9patch tool included in the SDK. Documentation on usage here:
http://code.google.com/android/reference/draw9patch.html
JF could also save theme users a wipe by resigning /system/app/* and /system/framework/framework-res.apk in his builds with the test keys. Nice tutorial, btw.

However it doesn't. I have used that to no avail. I believe you need to edit the images, put them in the source then rebuild the apks from the source.
As for JF's update, it does not currently wipe your phone after install. So, for him to do this he would have to have his update do a wipe. So technically, they would still have to do this initial wipe.
Stericson

Stericson said:
However it doesn't. I have used that to no avail. I believe you need to edit the images, put them in the source then rebuild the apks from the source.
Click to expand...
Click to collapse
Good point. I thought you could simply drop a similarly dimensioned PNG in but apparently there is some metadata that only the android tool can create.
As for JF's update, it does not currently wipe your phone after install. So, for him to do this he would have to have his update do a wipe. So technically, they would still have to do this initial wipe.
Click to expand...
Click to collapse
True, but a user who is upgrading to a JF update after having put in customized (and test-key signed) system apps will have to wipe again anyway =) Anyone using custom themes will have to wipe every time a JF update (or any update) comes out. However if JF resigns, custom theme users would not have to wipe and stock theme users only have to wipe once. (Nevermind the fact I think everyone should wipe when updating...)

thx stericson this will help big time how long before I can get resigned rc30 last night when you said all the apk. need to be resigned I was like this is going to be a long night but I see jf hooked you up save some big time with his resigning tool

jashsu said:
Good point. I thought you could simply drop a similarly dimensioned PNG in but apparently there is some metadata that only the android tool can create.
True, but a user who is upgrading to a JF update after having put in customized (and test-key signed) system apps will have to wipe again anyway =) Anyone using custom themes will have to wipe every time a JF update (or any update) comes out. However if JF resigns, custom theme users would not have to wipe and stock theme users only have to wipe once. (Nevermind the fact I think everyone should wipe when updating...)
Click to expand...
Click to collapse
Ah, good point
The resigned apps will be released maybye sometime tonight...I had them done but ran into a script problem on adp1 and I have yet to try the rc30 and rc8 ones yet. so I won't release those until I've tested them. If you want to be a Guinea pig however, just let me know
Stericson

Stericson said:
Ah, good point
The resigned apps will be released maybye sometime tonight...I had them done but ran into a script problem on adp1 and I have yet to try the rc30 and rc8 ones yet. so I won't release those until I've tested them. If you want to be a Guinea pig however, just let me know
Stericson
Click to expand...
Click to collapse
The resigned apps have been released, each update file will resign all of apps in /system/app and framework-res.apk. However, these updates make no changes to them whatsoever...Meaning your phone will look just like a brand new phone without any modifications.

rc30 works thx Stericson made it easy for use

Issues with using the update.zip above
Hi all,
I just wanted to point out that after I applied the update.zip above and rebooted applications kept force closing randomly and constantly even through the initial setup (where you have to click the green android to start).
Prior to this, I had JF's RC30 1.3, and the engineering bootloader V2 no sigcheck.
First I did just a alt+s then a alt-w and alt+s. And still nothing.
I'm new to all this so I'm not even sure where to begin troubleshooting. Should I be using the HardSPL?
Thanks in advance and I appologize if this isn't the right place for this post.
Update:
After reflashing with JF's 1.3 RC30 and the problem persisted I noticed that there was a new release 1.31 and this has fixed the problem. I hope this helps anyone else who runs into the same problem.
I still don't know what went wrong though, can anyone shed some light on this? thanks.

Truly there's no telling, sounds like J'f's update fixed it. Can I ask what version you tested?
I would also like to announce that now, thanks to JF, again, you do not have to wipe your phone completely to apply the resigned app updates. However, you will have to re-enter your google info and your call history and other minor things will be gone, but all of your apps will be retained.
Stericson

Alright, I am a little confused........
So I downloaded testsign.zip and extracted it to the tools folder. Then I went into environmental variables and added CLASSPATH with the value D:\Android\tools\testsign.jar and now I am not sure what to do next. Can someone give me some clarification. And btw I am on XP but I can get on linux at home if I need it, but I am a total noob to all this stuff so be gentle.

I'm using http://www.fightforthepits.com/Androidstuff/update_Rc30.zip and have been encountering issues when the phone boots up. As soon as the initial phone setup comes up I get process force close errors, I extracted launcher.apk, edited the files I wanted, repacked it, signed it and then resigned the update.zip. Any ideas what I'm doing wrong? I'm already running JF's RC30 1.31

Did you repack it in linux? Did you resign Launcher.apk? Also, that update file was never meant to be used as a template for an update since it kind of wipes your phone. You should be using update_empy, to push your own theme.
If you want to do only one file at a time, flash that update(update_rc30) then adb push your file into system/app. There are lots of things that you can mess up, most of them are hard to catch too. At any rate, everyone who has made a theme can tell you it's not just a straight forward process, expect errors. I've had more than I count I know....
Trial and error is your best teacher
Stericson

Stericson said:
Did you repack it in linux? Did you resign Launcher.apk? Also, that update file was never meant to be used as a template for an update since it kind of wipes your phone. You should be using update_empy, to push your own theme.
If you want to do only one file at a time, flash that update(update_rc30) then adb push your file into system/app. There are lots of things that you can mess up, most of them are hard to catch too. At any rate, everyone who has made a theme can tell you it's not just a straight forward process, expect errors. I've had more than I count I know....
Trial and error is your best teacher
Stericson
Click to expand...
Click to collapse
Must .apk's be signed if they're pushed over ADB? I'm not running Linux, I'm repacking/signing in windows.

I also had the issue with force close when installing the resigned update from the first post, apps that shouldn't even run on start up were force closing.
Also the IM application was gone, had to do a wipe and go back to jf 1.31 to correct it

I will take another look at the update I provided...
Stericson

did you ever figure out how to change the text on the status bar from black to white?

to do that you have to rebuiuld the entire apk from source and edit an xml document
Stericson

has anyone tried making the icons bigger? I noticed they are 48x48 if we go bigger will that affect anything? Also has anyone been able to remove the text below the icons on the home screen? Oh and where is the tab located that has been made invisible?
*edit
well I tried making the icons bigger and it doesn't really do anything, they don't show up bigger on the screen. Might have something to do with the text underneath, not sure.

Kyeld said:
Must .apk's be signed if they're pushed over ADB? I'm not running Linux, I'm repacking/signing in windows.
Click to expand...
Click to collapse
yes they must be signed.

Related

[Q!]Bootloop after changing framework-res.apk

Ok, so i modded about 6 png's that are for the notification bar.
However, when i add them to my used framework-res (no problems at all) my phone get's stuck in a bootloop.
After a quick question in the ROM threat, brady1uk mentioned the file size.
so i checked them, and before i modded them they were a total of 43kb, but now they are 143kb!
Could this be the problem of my bootloop, and if yes, how do i reduce the file size?
*added the status_bar png's*
I don't think it's the file size. Let me ask, when you "add them to your used framework-res" how do you do it? Did you extract the .apk then re-archive?
ephumuris said:
I don't think it's the file size. Let me ask, when you "add them to your used framework-res" how do you do it? Did you extract the .apk then re-archive?
Click to expand...
Click to collapse
I open the framework-res whit winrar, and i just drag and drop my custom files in there with out extracting it.
ok, so i replaced my new png's whit the old ones in the hope my phone would work again, but it didn't
Now i'm totaly clueless...
If someone could take a look at what i have combined and why it doesn't work it would love it (using lee droid 1.9A)
*sleeping*
dragonithe said:
ok, so i replaced my new png's whit the old ones in the hope my phone would work again, but it didn't
Now i'm totaly clueless...
If someone could take a look at what i have combined and why it doesn't work it would love it (using lee droid 1.9A)
*sleeping*
Click to expand...
Click to collapse
as all is failing i would suggest getting the original framework-res.apk - before u ever touched it (download leedroid rom again if you didnt back it up). And then use either APK Manager or Theme Pro to decompile the apk, then mod away and change everything you want then use APK Manager or Theme Pro to compile it back up. Thats how I do it. I think there is a chance using Winrar to just pull out the files and add them back in has currupted it somehow
brady1uk said:
as all is failing i would suggest getting the original framework-res.apk - before u ever touched it (download leedroid rom again if you didnt back it up). And then use either APK Manager or Theme Pro to decompile the apk, then mod away and change everything you want then use APK Manager or Theme Pro to compile it back up. Thats how I do it. I think there is a chance using Winrar to just pull out the files and add them back in has currupted it somehow
Click to expand...
Click to collapse
ok, so i did this, but now when i flash the .zip i get a error [ E:Failure at line 9: run_program PACKAGE:check_data_app instalation aborted.]
Ok, so after failing to create my own apk file i pulled it from my desire and added the 6 files to it.
adb push, reboot.
And it gets stuck in a bootloop...
So ok, that failed, but i had the pulled framework still on my computer, so i decided to push this file back to make it work again.
But now it's still stuck in a bootloop....
seems like my adb corupts the .apk or what could be the problem?
You shouldnt need to decompile it if your only making a few changes to the framework.
I use 7-zip to open the rom, navigate to the required apk, and open that archive then swap the images over, no need to delete the original, they will just get over written. Then press up or back within 7-zip. when you navigate out of the apk you were in 7-zip will say it has been changed, carry on, pressing back untill you are all the way out of the rom. Then resign the rom and flash it.
Ive never used apk tool to change images in the htc resources or the framework res and never had a problem.
dragonithe said:
ok, so i replaced my new png's whit the old ones in the hope my phone would work again, but it didn't
Now i'm totaly clueless...
If someone could take a look at what i have combined and why it doesn't work it would love it (using lee droid 1.9A)
*sleeping*
Click to expand...
Click to collapse
I pretty sure the framework in the zip you posted is not from Leedroid so theres your 1st problem. Unless you made more than just 6 png changes.
djmace said:
You shouldnt need to decompile it if your only making a few changes to the framework.
I use 7-zip to open the rom, navigate to the required apk, and open that archive then swap the images over, no need to delete the original, they will just get over written. Then press up or back within 7-zip. when you navigate out of the apk you were in 7-zip will say it has been changed, carry on, pressing back untill you are all the way out of the rom. Then resign the rom and flash it.
Ive never used apk tool to change images in the htc resources or the framework res and never had a problem.
Click to expand...
Click to collapse
I also sort of use your described methode, but istead of using 7-zip, i use winzip.
djmace said:
I pretty sure the framework in the zip you posted is not from Leedroid so theres your 1st problem. Unless you made more than just 6 png changes.
Click to expand...
Click to collapse
It could be that the base of the framework is from leedroid, but i added a theme to it (think it is NexTang-DJDroid).
used it for about a month w/o problems, then i changed 6 files in the framework. And nothing works anymore ._.
can you try flashing the stock leedroid fw-res.apk to see if you get out of the bootloop? if you can do that, then at least you have a fallback plan.
and instead of flashing it, try using:
Code:
adb mount
adb push framework-res.apk /system/framework/framework-res.apk
I have never had any problems doing it that way.
I had the same problems. But i tried to make a flashable zip file and this work very fine..
And remeber you can not just replace a 9.png file maybe this is your fault?
mista1982 said:
I had the same problems. But i tried to make a flashable zip file and this work very fine..
And remeber you can not just replace a 9.png file maybe this is your fault?
Click to expand...
Click to collapse
hmm,
could you tell me a bit more about that?
[GUIDE] how to make a flashable package (update.zip)
How to edit .9.pngs
nzdcoy said:
can you try flashing the stock leedroid fw-res.apk to see if you get out of the bootloop? if you can do that, then at least you have a fallback plan.
and instead of flashing it, try using:
Code:
adb mount
adb push framework-res.apk /system/framework/framework-res.apk
I have never had any problems doing it that way.
Click to expand...
Click to collapse
I have the same problem, could you tell me how to push the framework-res.apk step by step ( just press the power button --> ) . Sorry ....
dragonithe said:
Ok, so i modded about 6 png's that are for the notification bar.
However, when i add them to my used framework-res (no problems at all) my phone get's stuck in a bootloop.
After a quick question in the ROM threat, brady1uk mentioned the file size.
so i checked them, and before i modded them they were a total of 43kb, but now they are 143kb!
Could this be the problem of my bootloop, and if yes, how do i reduce the file size?
*added the status_bar png's*
Click to expand...
Click to collapse
Same thing happened to me!
I Wiped Cache, Dalvik Cache, but nothing happened!
I had to flash 2.3.6 Stock ROM via Odin, to make my phone work!

[Q] Create flashable .zip?

Hi im working on creating some boot animations. Ive got the files ready, but i cant figure out how to put them into a flashable .zip.
I flashed this file thunderbolt boot animation and it worked so i figured if i just replaced my animation and audio it would work but i get an error saying "e:update script not found" or something along those lines.
Id like to know if there is an easy way to create a "template" were i just copy my animation into a folder and zip it, or if there is a program that will package it for me including the script/etc.
Any input or guide on how to make these boot animations flashable .zip's would be great, thanks.
Eat it iPhone said:
Hi im working on creating some boot animations. Ive got the files ready, but i cant figure out how to put them into a flashable .zip.
I flashed this file thunderbolt boot animation and it worked so i figured if i just replaced my animation and audio it would work but i get an error saying "e:update script not found" or something along those lines.
Id like to know if there is an easy way to create a "template" were i just copy my animation into a folder and zip it, or if there is a program that will package it for me including the script/etc.
Any input or guide on how to make these boot animations flashable .zip's would be great, thanks.
Click to expand...
Click to collapse
Thats weird it didn't work. Should. Maybe it wasn't re-packaged correctly.
Try the one attached.
CCallahan said:
Thats weird it didn't work. Should. Maybe it wasn't re-packaged correctly.
Try the one attached.
Click to expand...
Click to collapse
Thanks ill try it out, just dont have the time right now.
If you cant figure it out i'll give you a guide tomorrow when i'm off my iPad .
did you rezip it correctly?
I ran into this trouble, I forget what it is, but you have to zip the files a certain way or they will not work. I don't remember the settings anymore, but just creating a regular zip file won't work.
There is a good guide to making your own update script on xda somewhere. Just search the entire site. If i'm just flashing something simple like a theme or boot animation sometimes I just use someone else's flashable zip and replace the necessary files. I can't remember off the top of my head, but iirc there are two folders you want to keep from someone else's zip. Meta-inf which is basically the signature files and something else which contains the script. If you dissect someone's zip it should be obvious what the other folder you want to keep is. You will find the update script in one of the sub folders, and if you want you can open it with a text editor and get an idea of how the script works.
If you need more info I can help you more when I get to my computer.
Sent from my PC36100 using XDA App
dkdude36 said:
If you cant figure it out i'll give you a guide tomorrow when i'm off my iPad .
Click to expand...
Click to collapse
Id appreciate a guide either way, id rather learn to do it myself than use someone else's. No rush as i cant really approach this til the weekend.
Eat it iPhone said:
Id appreciate a guide either way, id rather learn to do it myself than use someone else's. No rush as i cant really approach this til the weekend.
Click to expand...
Click to collapse
ok, here it goes.
first, figure out where you want to push your file. i'd reccomend pushing manually in recovery to make sure the file itself works. then, using a tool like 7zip (pc) or betterzip (mac) create a file structure that matches the one on the phone. for example, if you wanted a boot animation to be put in system/customize/resource, make a folder system, customize in that, resource in that, and the bootanimation.zip inside that. now you have the main part. next, make a folder in the root of the zip called META-INF (caps counts) inside that, com, inside that, google, and inside that, android. thats /META-INF/com/google/android/. inside android, you need to place in an update-script. i'd reccomend taking one from another zip and just editing it becasue i still have not figured out a way to make that type of file (unix exec) from scratch. open it up in a .txt editor like notepad++ (pc) or coda (mac) and write your script. here is the baisic script for copying the directory system on the zip to system on the phone (like flashing a boot animation).
copy_dir PACKAGE:system SYSTEM:
CAPS COUNT AND MAKE SURE YOU HAVE AN ENTER AT THE END. IF YOU DO NOT HAVE AN ENTER AT THE END (TO MAKE IT TWO LINES INSTEAD OF ONE, LIKE ISSUEING A COMMAND) THEN IT WILL NOT WORK AT ALL ( E:SYNTAX ERROR IN UPDATE-SCRIPT IS THE ERROR YOU WILL GET)
so put this file into the folder android, and zip it. make sure it is in store only, compatibility mode, if you have such options. then, use an auto signer (or just say zip is not signed and make sure to put sig verification off) to sign the zip. flash, and watch your work magically appear.
the update-script i showed is written in amend. i have no idea how to write in edify bcuz it is much more complicated with the binary and stuff. so dont flash with cwm 3.0+.
good luck. ask if you have any questions.
hello will this methed work on like adding some personal apps you want to be on your rom?

[Q] How to modify and replace framework-res.apk

Hello
I changed some png images with 7zip and copied back to system/framework/ but i got boot loop.
I would like to know how to modify and replace .apk that will work normal?
Thanks
How exactly did you replace the png's? Because the 'normal' proces of unzip-replace-rezip doesn't work.
The most easy way to changes png's:
1. Open framework-res.apk in 7-zip
2. Search for the files you want to change and copy them to your hard disk (do not unzip!!)
3. change the files. Make sure the name stays EXACT the same.
4. Open framework-res.apk and copy your new files in the desired place. By doing so, the original files will be replaced by your files. DO NOT USE ANY COMPRESSION (if asked select 'store').
5. Go into recovery, mount /system and replace the framework-res.apk by the new one. Reboot phone.
Take home message: never unzip
Hope it works now!
Erwin
i went to recovery and hit mount/system. But how can i replace it?
Thanks
urkotheone said:
i went to recovery and hit mount/system. But how can i replace it?
Thanks
Click to expand...
Click to collapse
You have to use adb to do is. I assume you know how to work with it. If not, you have to search for a little tutorial (can't link you right now because I'm using the xda app)
Put the new framework-res.apk in the same folder as adb.exe. Open the command prompt and brows to that same folder. Type in your command prompt:
Code:
adb shell mv system/framework/framework-res.apk system/framework/framework-res.old
adb push framework-res.apk system/framework
adb reboot
Due to the first command, you have a backup of your original framework-res.apk. To restore it, you have to boot in recovery, mount /system and again by the use of the command prompt, type:
Code:
adb shell rm system/framework/framework-res.apk
adb shell mv system/framework/framework-res.old system/framework/framework-res.apk
adb reboot
Erwin
Yeeeeey i did it
Thank you
One more problem
When discharging it's working, but when I charge phone i don't get no battery icon. I believe it's because in original framework i had 100 png animations for charging and now i have only 20. Is there a way to fix this?
urkotheone said:
One more problem
When discharging it's working, but when I charge phone i don't get no battery icon. I believe it's because in original framework i had 100 png animations for charging and now i have only 20. Is there a way to fix this?
Click to expand...
Click to collapse
Then it is going to be much more complicated than that. Perhaps I can explain you in more detail tomorrow, but you will have to look up some things for yourself.
First, you should decompile the framework-res.apk first using apktool. You will notice that it almost looks like it just dezips your apk, but when you look closely, you will see now that you can open and read the xml files.
Second, you have to open res\drawable\stat_sys_battery.xml (or something similar, perhaps it depends on your ROM). Try to understand what is written and make some changes (it is really not that hard) so that your system shows only 20 different images, in stead of 100.
Third, you have to recompile your modified framework-res.apk. Then pull stat_sys_battery.xml out of "your" framework-res.apk into the original framework-res.apk, but again, without unzipping one of them. Do, of course, the same thing with your images.
I must admit, I've been busy with the battery icons myself. It was my plan to do something similar like you did, but I didn't do it yet. So all the things I've written above where the things I was planing to do, but I don't know if it will work, as I never tried it myself. So please, keep me/us informed ;-)
Good luck!
EDIT: I used this site to know how to decompile apk's.
This is an old thread but I wanted to edit my systemUI.apk file with changing out a couple images... if I was to upload the file I edited (by just swapping out the images) to the UOT kitchen and use a mod, say the battery mod, would it make the file usable on my phone or would I get a bootloop or worse?
Basically what I did was opened up the SystemUI.apk file using 7zip and just swapped out the images I wanted (making sure I saved the original ones of course). I didn't unzip/zip anything.. I just opened it using 7zip and then closed it. It didn't ask me if I wanted to save anything though??
Sorry for the stupid question... but I thought it would be an idea as I want to use the UOT to make a mod to the theme I have anyways.
crazy_dragonlady said:
This is an old thread but I wanted to edit my systemUI.apk file with changing out a couple images... if I was to upload the file I edited (by just swapping out the images) to the UOT kitchen and use a mod, say the battery mod, would it make the file usable on my phone or would I get a bootloop or worse?
Basically what I did was opened up the SystemUI.apk file using 7zip and just swapped out the images I wanted (making sure I saved the original ones of course). I didn't unzip/zip anything.. I just opened it using 7zip and then closed it. It didn't ask me if I wanted to save anything though??
Sorry for the stupid question... but I thought it would be an idea as I want to use the UOT to make a mod to the theme I have anyways.
Click to expand...
Click to collapse
I don't know if I understand you fully, but I believe it would: only if the UOT changed the images that you have changed, you will not see the things you have changed.
What I did some time ago was upload my framework en systemui to the UOT, apply the battery mod and than change the battery images with my own. I did that just by opening the apk in WinRAR and adding my images, just like you did.
But if you only want to swapp some images, there is no need for uploading it to the UTO. Just continue as you did. Just make sure that you keep the original systemui.apk on your hdd. In case of a bootloop, you can easely revert.
Is that een answer to your question?
Erwin
Yes, it does.. and thanks. I ended up following the instructions on another thread I found on here... don't remember exactly which one but it basically omitted uploading the files to the UOT. It was a guide on how to theme your phone... sorry but I didn't save the link.
thanks again!
CDL.
urkotheone said:
Hello
I changed some png images with 7zip and copied back to system/framework/ but i got boot loop.
I would like to know how to modify and replace .apk that will work normal?
Thanks
Click to expand...
Click to collapse
Same thing happened to me!
I Wiped Cache, Dalvik Cache, but nothing happened!
I had to flash 2.3.6 Stock ROM via Odin, to make my phone work!
I always work with Winrar, and in there you have the option for compression, which is selected at "medium compression" by default, and that causes bootloops.
So make sure that you don't compress your apk when adding your new png, or it will not work.
Erwin
I change my framework-res.apk from another rom. the problem is when I push long power button, my device going to BOOTANIMATION with out I choose shutdown, restart n etc.. what's wrong with my device??
sorry for my bad eng..
The problem is its another roms framework so things are in different places and some things will be missing, put the framework-res.apk from your rom back and things should go back to normal, mind me asking what tweak or mod you are after using?
Sent from my HTC Wildfire using xda premium
first time I must say sorry, I know this not my device place on XDA, I use MB525.. but I see the same problem here..
I use Ms3ginger mod rom by walter, n I take framework-res.apk from 2.3.6_4.5.2-109 DHT25_themed MultiLanguage, I try to change battery sys-stat but I get bootloop..
once again sorry for my bad eng
If not possible try
Adb remount
First

[MOD] Batch to modify MMS.apk for softbank users [v0.2]

Hello everyone !
As some of you probably know, to be able to send and receive mms in japan (sms are not used most of the time, lots of phone are not even able to use them), you need to modify the mms.apk, to make your phone a fake iphone.
After some research and tests, I have been able to find a way to modify any mms.apk of any rom, as long as the phone is rooted.
But as I update my phone really often with CM, I didn't wanted to do the all process over and over again.
Then I created some little batch files, which I share to you now, for the ones who want the same things.
Those batch files should work on any rom and phones, as long as they are rooted, with adb right.
I have no credit for the tools used by those scripts, I only created the batch files which use them.
And I am not responsible of any damage those scripts could do to your phone !!
/!\ This script is available for windows only /!\
Installation process :
1.unzip the file somewhere (if updating, delete everything and unzip again)
2.connect your phone to your computer and check if you can access to your phone in adb root mode. For JB roms, I saw that changing the usb mode to PTP helps sometime.
3.launch "mms_mod.bat" in admin mode
4.if at the end of the process your phone doesn't reboot and you sms icon doesn't disappear from your android home, which happens most of the time, launch the "put_mms_again.bat" in admin mode.
5(a).if everything work, your phone should reboot, and your sms icon should disappear from your android home. It is normal, don't panic, just take it back from your applications launcher.
5(b).if everything work except pushing the file inside your phone (inside /system/app), do it manually with root explorer for example (don't forget to change the Mms.apk file permission after copying it), you can find the modded Mms.apk in "Output\[device model]\[date&time]\Modded_file\". Then reboot your phone.
Now it's ok, your phone should now works on softbank network!!
Don't forget to use mms mode when you want to send something to a japanese phone!
Please note that if anything goes wrong, you can find a backup of your Mms.apk in "Output\[device model]\[date&time]\Backup_file\"
Oh, and if it is not done already, don't forget to setup the softbank's APN.
For that, just download the program named "Tweakker" on google play, it is perfect for that. But be careful, the default APN to use depends of your phone plan.
Tell me if you have any suggestion or bug !
Change log :
2013/09/20 - release 0.2
- cleaning code and adding a backup feature which keeps the original and modded Mms.apk for each operation
2013/09/20 - initial release
Stremon said:
Hello everyone !
As some of you probably know, to be able to send and receive mms in japan (sms are not used most of the time, lots of phone are not even able to use them), you need to modify the mms.apk, to make your phone a fake iphone.
After some research and tests, I have been able to find a way to modify any mms.apk of any rom, as long as the phone is rooted.
But as I update my phone really often with CM, I didn't wanted to do the all process over and over again.
Then I created some little batch files, which I share to you now, for the ones who want the same things.
Those batch files should work on any rom and phones, as long as they are rooted, with adb right.
I have no credit for the tools used by those scripts, I only created the batch files which use them.
And I am not responsible of any damage those scripts could do to your phone !!
/!\ This script is available for windows only /!\
Installation process :
1.unzip the file somewhere
2.connect your phone to your computer and check if you can access to your phone in adb root mode. For JB roms, I saw that changing the usb mode to PTP helps sometime.
3.launch "mms_mod.bat" in admin mode
4.if at the end of the process your phone doesn't reboot and you sms icon doesn't disappear from your android home, which happens most of the time, launch the "put_mms_again.bat" in admin mode.
5.if everything work, your phone should reboot, and your sms icon should disappear from your android home. It is normal, don't panic, just take it back from your applications launcher.
Now it's ok, your phone should now works on softbank network!!
Don't forget to use mms mode when you want to send something to a japanese phone!
Oh, and if it is not done already, don't forget to setup the softbank's APN.
For that, just download the program named "Tweakker" on google play, it is perfect for that. But be careful, the default APN to use depends of your phone plan.
Tell me if you have any suggestion or bug !
Click to expand...
Click to collapse
I get the error message "adbd cannot run as root in production builds" on step after I run adb root.
Doug_74 said:
I get the error message "adbd cannot run as root in production builds" on step after I run adb root.
Click to expand...
Click to collapse
this is because your rom doesn't allow adb to run in root mode
was the Mms-signed.apk created successfully inside the script folder ?
if there was no error before, it should be the case.
in that case, rename Mms-signed.apk to Mms.apk, and put it manually to your /system/app/ phone folder.
Don't forget to save your Mms.apk before, and to change the access rights of Mms.apk after copying it to system folder.
Stremon said:
this is because your rom doesn't allow adb to run in root mode
was the Mms-signed.apk created successfully inside the script folder ?
if there was no error before, it should be the case.
in that case, rename Mms-signed.apk to Mms.apk, and put it manually to your /system/app/ phone folder.
Don't forget to save your Mms.apk before, and to change the access rights of Mms.apk after copying it to system folder.
Click to expand...
Click to collapse
No error and the file shows up, but is very small only 1.69kb. Shouldn't the file be closer to the original which is 8.56mb? I have s Samsung GS4 and the original file is SecMms.apk. I noticed the twframework-res did not run on the script just framework-res does this matter?
After messing with this for sometime I can see where the script is looking for Mmm.apk, but since I have a Samsung phone the file is SecMms.apk, so this is the problem I believe. Looks like you would need to have additional script just for Samsung to include twframework-res and framework-res, also to look for SecMms.apk. This is a nice script you built, BTW.
Doug_74 said:
No error and the file shows up, but is very small only 1.69kb. Shouldn't the file be closer to the original which is 8.56mb? I have s Samsung GS4 and the original file is SecMms.apk. I noticed the twframework-res did not run on the script just framework-res does this matter?
After messing with this for sometime I can see where the script is looking for Mmm.apk, but since I have a Samsung phone the file is SecMms.apk, so this is the problem I believe. Looks like you would need to have additional script just for Samsung to include twframework-res and framework-res, also to look for SecMms.apk. This is a nice script you built, BTW.
Click to expand...
Click to collapse
Be careful, if your GS4 use a special samsung mms program, this script will not work with it anyway, because the script modify some file inside the Mm.apk, which are probably not the same inside your SecMms.apk.

[FAQ] Frequently asked question concerning VTS

How to properly install framework apks and use tags
ApkTool (and therefore VTS) needs framework apks to properly de- & recompile Android resources.
Framework tags are used to differentiate between multiple sets of framework apks.
You are usually going to have one set (ie. multiple apks) per device and base/rom version.
When installing frameworks it's very important to install all frameworks from the same device/rom with the same tag.
Have a look at this tutorial to learn more about installing frameworks with VTS.
Click to expand...
Click to collapse
How to completely reset the VTS layout
VTS has a "Reset layout" button, but sometimes this can't repair all problems with a broken window layout.
To fix such persistent problems, open the settings and untick the "Save dock layout" checkbox.
Now restart VTS, the layout should be reset to the default layout.
You can enable layout saving again.
Click to expand...
Click to collapse
How to manually edit VTS settings
Since VTS 2.6.12 you can easily change these settings with the "Advanced settings" window inside VTS.
Open the settings window and click on the "Advanced" button at the bottom.
VTS stores its settings easily accessible in XML files. They are stored in a folder (normally) located here:
C:\Users\<your user>\Documents\Virtuous Ten Studio\Settings\
You can easily open and edit these settings files, just make sure VTS is closed before doing so.
Note: Some settings only exist after VTS used them for the first time.
Click to expand...
Click to collapse
VTS can't find the Java binary
Make sure to add the location of your Java.exe to your PATH variable and reboot after doing so.
VTS should be able to find your java binary now.
If it still doesn't work, you can manually specify the java path in the VTS settings.
Click to expand...
Click to collapse
Something else went wrong and I need help
Editing apks and other Android related files can be a highly complex task.
There are many possible error sources. If something goes wrong nobody can help you unless you provide some important things: (if applicable)
The VTS logs. Without these it's pretty impossible to troubleshoot problems that occured while using VTS.
Have a look at this tutorial, it explains you how to use the Log Viewer.
Make sure all checkboxes on top are checked and copy all the log text from the textbox.
When asking for help, make sure to include all the text in [CODE]<log text>[/CODE] tags.
A logcat of your device, the packagename (if applicable) and filename of the file you are working on.
If something goes wrong or doesn't work on the device you are working with, it's absolutely required to get a logcat before asking for help.
You can use the Logcat viewer of VTS to get a copy of the so called Logcat. It's the internal log of your device and usually helps revealing and solving all kinds of problems occuring on the device.
As with the VTS logs, please include the Logcat in [CODE]<logcat text>[/CODE] tags.
Your Operating System version (eg. Windows 8, Windows Vista etc)
General information:
Can you reproduce the issue?
Did you try to restart your computer/your device first?
Click to expand...
Click to collapse
Feel free to propose me any new entries for this post
Something is badly messed up..
I used VTS v2.6.12 .. Until then everything was alright.. I used to decompile framework-res.apk, framework.jar, systemui.apk..
I never got any boot loop..
I downloaded and installed the latest version and ..
Whatever projects I made in v2.6.12 .. Were not recompiling.. May be because there was an update to apktool..
I had to make all new projects.. .
SystemUI.apk of my stock ROM is ~2.5mb.. After I decompile and recompile its size is like 5mb .. Why so??
I have to do everything manually ..
It never shows any error while decompiling or compiling..
How can i figure out where the problem is??
rkharat98 said:
Something is badly messed up..
I used VTS v2.6.12 .. Until then everything was alright.. I used to decompile framework-res.apk, framework.jar, systemui.apk..
I never got any boot loop..
I downloaded and installed the latest version and ..
Whatever projects I made in v2.6.12 .. Were not recompiling.. May be because there was an update to apktool..
I had to make all new projects.. .
SystemUI.apk of my stock ROM is ~2.5mb.. After I decompile and recompile its size is like 5mb .. Why so??
I have to do everything manually ..
It never shows any error while decompiling or compiling..
How can i figure out where the problem is??
Click to expand...
Click to collapse
You made a pretty big jump in versions there, I suspect the changes in the file formats prevented a proper loading of your old files.
Sorry for that, I never expected such large version jumps.
As for the size, in its default configuration VTS builds all binaries with no compression, whereas most binaries come with some compression. You can set the compression level in the settings of the zip module yourself. In any case, the size difference does no harm, you can leave it either way.
@Diamondback, great work.
Can I compile Apk via VTS? Example: I have sources and want to compile it with my drawables,XML,values. Thanks in Advance

Categories

Resources