i decided to make my taskbar and tasktray transparent so i pulled framework-res from my phone, extracted and modified the images, and then made a flashable zip and reflashed it (i used the update-script from a theme i have that replaces the framework-res so i know it works). it flashes and boots fine and doesnt bootloop or anything but any app i open whether it be settings or gmail or root explorer force closes and theres no way to do anything but scroll on my home screen. the only thing that works is the usb connection type picker.
images i modified:
activity_title_bar.9.png
status_bar_background.png
status_bar_close_on.9.png
status_bar_header_background.9.png
status_bar_item_app_background_normal.9.png
status_bar_item_background_focus.9.png
status_bar_item_background_normal.9.png
status_bar_item_background_pressed.9.png
title_bar_portrait.9.png
i have a sneaking suspicion that its either the title_bar_portrait.9.png and/or the activity_title_bar.9.png
or just *.9.png files in general. all are rgb color and between 50% and 75% opacity if it matters
please help
edit- i took out the title_bar_portrait.9.png and the activity_title_bar.9.png and it works now so it was one or both of them. does anyone know why they broke everything and how to make it so they dont?
Id carry this over to the Q & A forum cause u gonna get told lol
Sent from my phone... I think using Tapatalk??
Patch9 files are not normal png files. You may have destroyed the .9 data by editing it. Also, take a clean copy of your original framework-res.apk off your phone and then using 7zip just open the file (don't unzip), and then drag and drop your modified images into the appropriate folders in the apk. Don't try and resign or make a new framework file.
nukedukem said:
Also, take a clean copy of your original framework-res.apk off your phone and then using 7zip just open the file (don't unzip), and then drag and drop your modified images into the appropriate folders in the apk. Don't try and resign or make a new framework file.
Click to expand...
Click to collapse
thats what i did when i broke it but i fixed it doing that too
nukedukem said:
Patch9 files are not normal png files. You may have destroyed the .9 data by editing it.
Click to expand...
Click to collapse
how can i modify them and restore the data? right now though i have the .9 images from above minus activity_title and title_bar modified and the system seems to be working like a charm. all i did was change the opacity in gimp aside from the background which i changed to a digi camo pattern
daktah said:
how can i modify them and restore the data? right now though i have the .9 images from above minus activity_title and title_bar modified and the system seems to be working like a charm. all i did was change the opacity in gimp aside from the background which i changed to a digi camo pattern
Click to expand...
Click to collapse
You could open the images with the 9patch tool in the sdk and double check them. Then save it using the tool.
Sent from your mom's phone.
i never noticed that before
so just open them with it and save them and i should be all good?
You could try just re-saving them. If that doesn't work, you can use the tool to check for problems. Maybe the easiest way to make sure everything is ok would be to open the original 9patch image and look at how the borders are drawn, then make sure you have the same borders in your image. I'm not an expert on 9patch files, but hopefully that will help you.
hey guys.
i'm having a frustrating issue when editing framework-res.apk to include the rectangle battery mod.
this is a long post...please DO NOT POST GENERIC ANSWERS WITHOUT READING THE POST FIRST!!!
i'm used to editing framework-res.apk and all other .apks on my phone for various purposes. i use a combination of 7zip and apkmanager 4.9 to extract, replace, decompile/recompile, etc. depending on what i'm doing.
at this point here's what i'm trying to do:
DaGunn provided me with a modified framework-res.apk which includes a buttonized power control widget (from JsChiSurf's thread). this is v2.0 (on the 3.29 ota). previously i had v1.0 which I had fully customized to my liking.
the file provided to me by DaGunn has the buttonized look, and some smooth sense elements, as well as the super circle battery meter.
i opened framework-res.apk he provided with 7zip and replaced all the 901 images in res/drawable-hdpi with my own 901 image files from my existing framework. these files all have the same exact name and same exact extensions. (hence when I drag and drop into the new framework-res.apk in 7zip i get a direct replacement rather than having extra files).
this has worked countless times in the past. as a matter of fact, it worked 99% of the way this time. all the framework images went back to my customized images. except the battery disappeared.
i narrowed it down to the battery images. if i leave his 101 circle battery .pngs and replace every other file in framework-res, it works just fine. all my images show and the battery shows up in the circle style. if i then just replace his 101 circle battery .pngs with my 101 matted blues rectangle battery .pngs, which are the same exact names (i checked!) and extension, and after I optimized them almost exactly the same file size as well, everything goes to crap. the battery doesn't show up at all in the title bar.
if i plug in the phone, the rectangle charging animation works, the download animation works, all other smooth sense animations that I have replaced with the mattedblues files from my previous framework work. except for the battery.
now, if his .pngs work, and mine replace his directly with the same exact name and extension, why would the battery display suddenly disappear?!
I'm being told it has to do with resource IDs, but here's the problem. I was provided a "guide" on how to properly modify framework-res by one of the guys involved in MattedBlues (beatblaster). in it I was told that I only need to recompile framework-res after adding NEW .pngs, that if the .pngs were already accounted for in resources.arsc then trying to recompile would throw errors and instead I should replace those .pngs with 7zip. that's what i'm trying to do but as I said, then the battery meter doesn't work.
if i decompile DaGunn's original file, I'm able to recompile it just fine. keep in mind this file already has a lot of modifications on it as it is. but if i decompile his framework, and I replace his .pngs with mine, and try to recompile, I get thousands of lines of error in the log. all having to do with public.xml, which I'm being told goes back to resource IDs.
what am i missing here? i know how to remove the battery display from the title bar so I dont have that empty space, but I do enjoy my percentage battery and I would like to get this to work!
any input will be greatly appreciated...
+5 points for you if you read this far!
I'm not clear if you are recompiling or just dropping the images in, but if you are recompiling try making all your xml changes without adding the new images. Then after its compiled drop your new images in.
Sent from my PC36100 using XDA App
i'm not modifying any xmls. only replacing .pngs. it's specifically clarified in the OP.
the existing framework, with its modified .xmls and .pngs as given to me decompiles and recompiles just fine. if i decompile, then replace the .pngs with my own, and try to recompile, then it gives error. if i just open it in 7zip and replace the .pngs with my own, the battery disappears, but no force closes or error messages.
anyone else?
Are any of the .png files you are replacing have the 9.png extension? I know modifying these is very tedious and requires a more difficult process. Also can u post the errors in the apkmanager log?
Sent from my DROIDX using XDA App
nope. the files are stat_sys_battery_0 through stat_sys_battery_100. all .png not a single one in any other extension.
i can't post the apk manager log because it is literally thousands of lines of errors.
what I can do is give you the framework as I have it, working with his battery .pngs and a separate .zip with my battery .pngs, so you can try to do it yourself and see the problem/compile errors.
it really is weird...or stupidly simple!
Firstly you SHOULD NOT be decompiling just to swap images, even .9 pngs. You only need to decompile if you are editing xml files which by reading your post you aren't. To change pngs only, you should use option 1 (extract) in apk manager. Then change all your pngs you want changed. Use option 3 to recompress your framework. Make sure to tell it that it is a system apk, and then use option 12 to resign. You should be good to go.
t3project said:
Firstly you SHOULD NOT be decompiling just to swap images, even .9 pngs. You only need to decompile if you are editing xml files which by reading your post you aren't. To change pngs only, you should use option 1 (extract) in apk manager. Then change all your pngs you want changed. Use option 3 to recompress your framework. Make sure to tell it that it is a system apk, and then use option 12 to resign. You should be good to go.
Click to expand...
Click to collapse
+1
The reason I was confused about what you were trying to accomplish is because you don't need to decompile unless changing xml's.
Thats what I do for non system apps. I'll give it a try in the morning and see if it makes a difference.
Swyped from my HTC Evo 4G on the MetroPCS 1X network!
Ok first if you go to recompile something and you get errors usally the first error is the one causing the problem. Look and see what the first error is and fix it, like has been said what you are trying to do using 7 zip is a good way to do it, not decompiling. You said this is how you prefer way to do it anyway so that's good.
Second I have found at times that 7 zip does not properly replace threw images so weird things happen, only happens sometimes. With that said try using apk manager to unzip the apk replace the images and rezip it do not sign it. See if that works
Third. If all else fails download nijamorph from the market. Put the images you want on your scard where I can find them easy. Open nijamorph and start a new project navigate to your framework-res.apk.from here you can do two things first you can press existing project and find what you are looking for and change one at a time or the easy way. Close the app open your favorite file manager find the pngs you are going to use, copy them, then navigate to android themes/workspace in there you will find the framework-resapk folder, in there is everything just like the apk so paste the files were they go (that last step can all be done on the computer if that is easier for you.) Next open your nijamorph app and press finish project follow the prompts and let it do its thing. If your phone does not reboot reboot it.you should be good to go.
Like always do a backup before doing these steps
Good luck
Sent from my unrEVOked using xda app
Max_Pain said:
Thats what I do for non system apps. I'll give it a try in the morning and see if it makes a difference.
Swyped from my HTC Evo 4G on the MetroPCS 1X network!
Click to expand...
Click to collapse
it works the same way when replacing pngs. compiling and recompiling is only needed if making xml/code changes. i had to learn this the hard way too. just make sure you sign system apps with option 12 instead of option 4 like you would with a non-system app.
t3project said:
To change pngs only, you should use option 1 (extract) in apk manager. Then change all your pngs you want changed. Use option 3 to recompress your framework. Make sure to tell it that it is a system apk, and then use option 12 to resign. You should be good to go.
Click to expand...
Click to collapse
this worked!
dont know why I would have to extract, replace, compress, as I've NEVER done that with framework-res.apk, only when editing apps that need to be resigned. oh well, it worked
I think you misunderstood what I told you in the guide I gave you which is you only need to decompile/recompile when you are making XML code changes as stated above in a previous post. When I wrote that guide for you I wrote it thinking you wanted to add more features to the original power control widgets (such as smooth mods). If you want to simply replace PNGs, as stated previously, all you need to do is replace the PNGs without decompiling and recompiling.
In this instance, the problem you're running into is that you're trying to compile the framework using already-customized PNGs which will not work (another point that was stated in the guide as well )
So, in conclusion, if all you want to do is change the PNGs all you gotta do is (and you probably already know this but I'm including it to be thorough):
- Open archive (framework) in 7-zip
- Navigate to framework-res/res/drawable-hdpi
- Add your desired PNGs into the 7-zip window
- Close the 7-zip window and answer yes when 7zip asks if you want to update the archive
- Flash framework onto your phone
- All should be well
- When using this method there is no signing necessary!
Again, as stated previously, the only time you need to decompile/recompile is when you're going to edit an XML (or make any other code changes). So, for a final example of this, let's say you wanted to take DaGunn's power widgets framework but you wanted to change the "text highlight" color. What you would do then is this:
- Decompile DaGunn's framework in APK manager (option 9)
- Navigate to /projects/framework-res.apk/values/styles..xml
- Search for for "<item name="textColorHighlight">" and change the color HEX code
- Save the changes to styles.xml
- Compile the framework in APK manager (option 11)
- When asked if this is a system apk answer Y for yes
- When asked if you want to copy additional files to reduce the amount of errors answer Y for yes
- When prompted about the "keep" folder, open a file manager and navigate to /<apk_manager_folder>/keep and DELETE the resources.arsc file
- Go back to the APK manager window and press any button to finish the compile process
- Back in your file manager, go back to /<apk_manager_folder>/place-apk-here-for-modding/ folder, grab the unsignedFramework-res.apk, rename it to framework-res.apk and flash it however you flash it.
- Test your changes (in this example, the text highlight color)
This concludes my post.
thanks for the clarification beat.
but the problem was I was just opening framework-res.apk with 7zip, doing it like you're saying to do in the first part of your post above, and the battery meter would disappear instead of showing the mattedblues battery images instead of the circle ones.
if i left his .pngs in, the battery would show. if i replaced his with mine using 7zip, the battery would disappear.
this confused me because this is exactly the way that I've been integrating mattedblues into every framework i get. i open in 7zip, replace existing files with my own, and bam, everything works. this time it didnt!
this got fixed by extracting, replacing, and compressing again in apk manager 4.9.
i tried decompiling/recompiling simply because I was so out of ideas as to how else to go about it. I don't need to make any .xml changes to DaGunn's file because he had already integrated most of smooth sense with the percentage battery and v2 of the power widgets
anyways, thanks for the clarification.
beatblaster said:
So, in conclusion, if all you want to do is change the PNGs all you gotta do is (and you probably already know this but I'm including it to be thorough):
- Open archive (framework) in 7-zip
- Navigate to framework-res/res/drawable-hdpi
- Add your desired PNGs into the 7-zip window
- Close the 7-zip window and answer yes when 7zip asks if you want to update the archive
- Flash framework onto your phone
- All should be well
- When using this method there is no signing necessary!
Click to expand...
Click to collapse
max, not sure why this wouldnt work for you.
t3project said:
max, not sure why this wouldnt work for you.
Click to expand...
Click to collapse
no. this method is SUPPOSED TO WORK, as I said in the original post. this is how I've done every single change to framework-res.apk in the past. that is why I felt the need to ask for help. because the same thing that has always worked, suddenly wasn't working anymore!
for some reason, using 7zip WAS NOT WORKING to replace the battery .pngs....but ONLY those files. every other file was replaced using 7zip and they all worked. the only files I ended up having to replace through apk manager extract/compress method you gave me were the battery images.
thanks everyone
Max_Pain said:
no. this method is SUPPOSED TO WORK, as I said in the original post. this is how I've done every single change to framework-res.apk in the past. that is why I felt the need to ask for help. because the same thing that has always worked, suddenly wasn't working anymore!
for some reason, using 7zip WAS NOT WORKING to replace the battery .pngs....but ONLY those files. every other file was replaced using 7zip and they all worked. the only files I ended up having to replace through apk manager extract/compress method you gave me were the battery images.
thanks everyone
Click to expand...
Click to collapse
ohh i know. i use the way i told you because i just like to see the images while im playing with them. that way i know for sure whats up.
Hi all I need help I want to start building roms.But I need a good guide for themeing if any one can help me or just show me where to start that would be great ..
Thank you
Sent from my PC36100 using XDA App
There aren't any, try asking this question in the theming section and somebody might be kind enough to help you out...
Are you trying to build a rom or are you trying to theme an existing rom? if you are just trying to change the theme and arent doing any development work it will be much easier on you if you just learn how to make/edit a theme. In fact it can be relatively simple (though very very time consuming) to make your own basic theme.
To start with you will want to get your framework-res.apk file and you will want to decompile it. once you do this you will see several folders in the res folder you should see a drawable folder. this holds all your xml files. These are the actual "code" for a good part of the framework. you should see several other folders drawable-hdpi is the folder that will hold most of your images (in .png or .9.png) these can be replaced with the images you want (keep them same name and same format for .png for .9 it is not suggested that you mess witht hem till you do research and learn how specifically to edit them .once done recompile the framework-res.apk file and put it in your rom or into a flashable zip.
this will let you change a large portion of the framework theme of your phone. it takes a little practice and patients. Obviously there are many other things you an do that are much more difficult but this should get you started at least.
DO NOT EDIT .9s IF YOU DON'T KNOW HOW YET!!
Stick to regular pngs as a starting point.
When decompiling existing themes I have seen them throw errors left and right because of badly edited .9s. These errors won't allow the framework to recompile correctly.
Grab some themes you want to play with and pull the drawable-hdpi folders out of the apk then mix and match the images you want into the apk you are going to use.
Once you get an idea of which images change what in the system then you can start looking at editing .9s. When you get to that point you will see just how amazing it is that themes even work with badly compiled .9s.
I know first hand. I literally had to fix .9 pngs in an entire theme just to be able to edit the xmls myself and have it recompile.
very true i dont sugest editing .9s unless you know how. Most basic icon changes can be made without editing them however if you mess them up it can be a huge pain to get the theme going. Another tip always make a back up of your default untouched framework. this can help save you if you mess something up and need to replace the files.
omegasun18 said:
very true i dont sugest editing .9s unless you know how. Most basic icon changes can be made without editing them however if you mess them up it can be a huge pain to get the theme going. Another tip always make a back up of your default untouched framework. this can help save you if you mess something up and need to replace the files.
Click to expand...
Click to collapse
Another good suggestion.
To add to this, op you should learn to use adb.
It will save you ALOT of time when testing the icon changes.
Instead of having to make a flashable zip file, when you learn adb you can push the one file you are testing and if it bootloops your device guess what, just adb push the original back and your system will boot again.
This prevents you from having to nand restore everytime you boot loop your device.
At this point, the only thing I flash via zips are full roms (mine at least). Everything else I either adb push/pull or fastboot flash it.
Thanks for all your help...I will try to figure this thing out
my first attempt into creating a new theme it's just a swype keyboard however i get fc when i try to open it. i am on starburst 1.95 i wipe after applying before launching. i modded png files compressed them originally i thought the apk being 6 megs was my issue but i have the same issue after compressing them. I didn't know if the apk needed to be resigned so i first tried without signing then with signing with the same result. can someone help me find what i screwed up.
didn't download your file to look but did you change any .9.png's ?
if all you changed were png's the .9.are probably causing your problems.
try this.
if just changing normal pngs just unzip the .apk (its a zip file) edit your png files and zip it back up.
see if that works.
once you get that going there are quite a few good tutorials out there on modding .9 files.
they take a few extra steps.
they are all .png
i have noticed swype themes for other phones don't completely work or they don't swype at least, but they do work for standard typing. my failed theme however just force closes so i am thinking this is a different issue not necessarily compatibility. the swype i modded was pulled from starburst, my current rom.
their is a com.swypeinputmethod file under data/data i am not sure if or how this effects the swupe.apk in system/app. thanks for the reply
try replacing the png files without decompiling the .apk first
just rename .apk to .zip and extract to a folder then rezip and change back to .apk
or easier just open the zip without extracting and copy the files to thier spots and close.
this way you don't have to worry about all the decompiling and signing.
it works
i got it
since it is a no install system app i just put it into the rom and installed the rom, i also got a fresh apk to dump the png's into not sure what did it but it is now working and i can look for something else to theme, skin or play with.
thanks guys
I was looking to theming some of my apps & thought I'd start out simple. So I decomipiled my LGDownloadsUi.apk (pull from decompiled system.img) & copied the necessary framework files, installed them, and decompiled.
I looked in the res/values directory found the colors xml & changed the text color hex code.
Upon recompiling the values folder is not in the new apk. (Since it's a system app I need to copy the new xml from the newly compiled apk to the original to maintain the sig.) I tried simply deleting everything except for meta folder & moving everything over, but that result s in getting stuck in tmo splash screen. Am I missing something? Is editing the values xml files only viable in non system apk's? Do they get compiled into another file perhaps?
My device is a LG G3 D851 running MM 6.0
For decompiling I'm using the latest version of apktool.
Also I created a custom zip containing app & priv-app no framework, as my phone already has the framework files. Do I need to flash the same framework files from the decompiled system.img as well over my current ones? Thanks for any help.
TheLogicalGamer said:
I was looking to theming some of my apps & thought I'd start out simple. So I decomipiled my LGDownloadsUi.apk (pull from decompiled system.img) & copied the necessary framework files, installed them, and decompiled.
I looked in the res/values directory found the colors xml & changed the text color hex code.
Upon recompiling the values folder is not in the new apk. (Since it's a system app I need to copy the new xml from the newly compiled apk to the original to maintain the sig.) I tried simply deleting everything except for meta folder & moving everything over, but that result s in getting stuck in tmo splash screen. Am I missing something? Is editing the values xml files only viable in non system apk's? Do they get compiled into another file perhaps?
My device is a LG G3 D851 running MM 6.0
For decompiling I'm using the latest version of apktool.
Also I created a custom zip containing app & priv-app no framework, as my phone already has the framework files. Do I need to flash the same framework files from the decompiled system.img as well over my current ones? Thanks for any help.
Click to expand...
Click to collapse
I discovered that you can edit those xml's build the apk, the copy android manifest.xml and meta folder into the build folder. Then rebuild the apk to avoid signature issues. Instead coping the edit xml's into the new apk.