Related
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've been getting into modding apps to match my liking. i've modded widgetlocker, sms unread count, ported the cm6 mail app and modded it, and also lookout. pretty much what i'm doing is changing .png's. i've done it by openining the .apks with apk manager, editing the .pngs, zipping and then signing it. then i install and bam, everything works.
however, now i'm trying to mod MixZing and i'm having an issue. bear with the long explanation:
tried the regular method using .apk manager. if i unzip/edit/zip/sign and try to install, i get "Application not installed"...if i do unzip/edit/zip as system app (no signature) and try to install, same message. if i do unzip/edit/zip as regular app but dont sign it, same message. if i edit the file with 7Zip and try to install, also get the same message...
if i unzip/edit/zip/sign and try to copy/paste over the existing .apk in /data/app i get force closes when i try to open the app.
now, if i edit the .apk with 7-zip and i copy it over the existing .com.mixzing.basic-1.apk in /data/app then it works! the widgets work, the app works. all is well....until i reboot the phone. then i come back and the app wont launch, as if it wasn't there.
i go to /data/app/ the .apk is there, but it wont launch. if i try to install it from there, it also gives me "Application not installed"...interestingly enough, when i try to install it, it tells me it would overwrite an existing application. yet when i go to the Market, it shows as Mixzing NOT being installed and lets me install a new copy just fine.
if i install again from the market, and copy/paste my copy over it in /data/app, it works again...until I reboot...and the cycle repeats.
what am i doing wrong here?
I am also trying to theme/mod apks to my liking. I am also getting the same errors as you are"application not installed ". I posted the same questions, yours are more detailed, on Riptides theme thread. Riptide has themed several add-ons that are flashed via recovery. I am waiting on a reply. Maybe check his thread and see if your questions are answered on there also...
Sent from my PC36100
No help or suggestions???
Sent from my PC36100
What files are you modifying? Are they *.9.png files? If so, they need to be decompiled, not just extracted so you can see the borders.
Sent from my PC36100 using Tapatalk
yeah the majority of the images edited are the buttons, all of which are .9.pngs. would that make a difference as to the app not installing? or the fact that it's recognized prior to boot but not after boot?
EDIT: i decompiled the .apk with APK Manager. replaced the .9.pngs with my own. tried to recompile and when it was about done it gave an error. after that it allowed me zip the apk. when i went to install, got the same message..."application not installed"...
why this issue with MixZing and not Lookout, SMS Unread Count, CM6 Email, WidgetLocker???
Max_Pain said:
yeah the majority of the images edited are the buttons, all of which are .9.pngs. would that make a difference as to the app not installing? or the fact that it's recognized prior to boot but not after boot?
EDIT: i decompiled the .apk with APK Manager. replaced the .9.pngs with my own. tried to recompile and when it was about done it gave an error. after that it allowed me zip the apk. when i went to install, got the same message..."application not installed"...
why this issue with MixZing and not Lookout, SMS Unread Count, CM6 Email, WidgetLocker???
Click to expand...
Click to collapse
Ok, .9 png files are not normal image files. To make a long story short, they are special image files that contain meta-data. Usually this meta-data is used to tell the widget where to stop and start (basically borders). Developers use .9 png files instead of hard-coding the borders to make it easier and more flexible for widgets and other images to display on a wide variety of devices.
When you extract .9 files, you will not see the meta-data. Chances are what is happening is when you are modifying the .9 files, you are also erasing the metadata. All .9 png files must have either a black border on the edge to tell the application where the border is, or it must have a white (blank) border surrounding the image. When you decompile the images, you should see some black lines on the edges of the .9 image files (make sure you are using APKManager 4.9).
So, when editing .9 png files, you have 3 options:
1. The easiest is to simply edit it the way you have been and remove the .9 filename. So for example, if the file is called background.9.png, rename it to background.png. This works about 50% of the time.
2. Decompile the .9 png file to see the borders, edit the image file and either keep the existing border or make your own black border on the edge (it doesn't need to be thick, just a small black line will do). The only problem with this is that sometimes you can see the black lines after it is compiled again.
3. The best way, IMHO, is to make a blank edge on the border of the background. This will avoid any compiling errors and eliminates the chance of seeing the black border. It doesn't need to be thick, just as long as the app can distinguish the border.
thanks for detailed post. will look at it with more time tonight or tomorrow.
i tried quickly now but didnt work.
i decompiled the apk using apk manager 4.9, i was able to see the .9.pngs with the black border. i changed all the extensions to just be .png for all of them. then edited them all in photoshop (make them clear is all i want), saved, and recompiled. for the first time APK Manager didn't give me an error. got all the way to asking me if it was a system app. i chose no. then i signed the app. again, no errors from apk manager. but when i tried installing, again got "application not installed"
ahhh...
will try other methods from your post later. if you have an idea as to why my first attempt didnt work i'm all ears.
Max_Pain said:
thanks for detailed post. will look at it with more time tonight or tomorrow.
i tried quickly now but didnt work.
i decompiled the apk using apk manager 4.9, i was able to see the .9.pngs with the black border. i changed all the extensions to just be .png for all of them. then edited them all in photoshop (make them clear is all i want), saved, and recompiled. for the first time APK Manager didn't give me an error. got all the way to asking me if it was a system app. i chose no. then i signed the app. again, no errors from apk manager. but when i tried installing, again got "application not installed"
ahhh...
will try other methods from your post later. if you have an idea as to why my first attempt didnt work i'm all ears.
Click to expand...
Click to collapse
I know what the problem is. You need to uninstall the previous version before installing the modified version. Even though they are the same app, the signatures are different, so they won't overwrite. I make that mistake a lot too.
uninstalled mixzing, tried installing my signed copy and again, application not installed.
does it matter that i mixed the renaming of the 9.pngs to just .png from step 1 to the decompilation of the .apk from steps 2 and 3? maybe i should just rename the .9.pngs through 7zip without decompiling?
any more suggestions?
to test out a theory, i did the following:
1) extracted .apk with apk manager, changed 4 .png files that were not stretchable .9.pngs. zipped .apk, option 2, then signed .apk.
i uninstalled my working version of mixzing, tried to install this one, and got application not installed.
2) i decompiled .apk with apk manager, changed the same 4 .png files, recompiled apk, non-system app option, signed .apk.
mixzing was still uninstalled, tried to install this version, got same application not installed message.
neither of these tries including any .9.png modifications and still failed?
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.
Draw9Patch is my worst enemy. It's the only thing keeping me from releasing my theme.
I'm doing this to each image. (see image)
http://i642.photobucket.com/albums/uu150/Deflectant/Draw9patcherror.png
That's what I'm supposed to do right? I took ALL of the .9 images from drawable-hdpi in framework-res.apk, removed the .9 from each of them, then did what I have in the picture to each of them, saved them as normal png files (Draw9patch automatically adds the extention .9), packed them back into framework-res.apk, then tried flashing my theme and the same errors still stick out.
This thread goes into more detail with the issues I'm having. It's 100% corrupt .9 pngs but I just need to know how to fix them!!!!
http://forum.xda-developers.com/showthread.php?t=1065937
EDIT: Figured it out.
For the record, when you figure it out you should post for others knowledge... but it sounds like you were placing uncompiled patch9s directly into the apk with 7zip. After the drawpatch9 step you either need to recompile it with the apk or compile it seperately with xultimate9 and put it into the already compiled apk using 7zip...
Sent from my SPH-D700 using XDA App
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