Related
Figured we might need a help thread for metamorph and since I need help here goes the first question
So I took part of my theme and made it Metamorph compatible with the guide here:
http://forum.xda-developers.com/showthread.php?t=591329
Now MM opens the zip fine, starts to install it, asks permission to edit framework-res.apk then after about 1 minute it asks for a reboot and then before I can answer it just reboots. At this point it gets stuck in a boot loop and I have to nandroid.
Never really messed with MM so it could be something I am doing wrong or I did read this:
Depending on the device you have you may need a different SPL to be able to apply themes.
Click to expand...
Click to collapse
Anyways I attached my test theme (no where complete, just wanted to test it). Is the issue with me, the phones spl or metamorph not ready for the incredible yet?
ps: If your going to test my theme uploaded here, be smart, do a backup, this is just a test and not a full theme and I just told you it is causing boot loops
test file download
I wonder if the SPL will be the roadblock until Froyo is officially released. Of course I know nothing of these things...
*Sent via Tapatalk on my Incredible
running latest leak 8/1/10 new radio 2.15 busybox all set up. tried to installed metamorph and ninjamorph, gives /system error about space and then my root is broken ?!? any ideas folks, so lost on this one. thank god for nandroid restore
icedmayhem said:
running latest leak 8/1/10 new radio 2.15 busybox all set up. tried to installed metamorph and ninjamorph, gives /system error about space and then my root is broken ?!? any ideas folks, so lost on this one. thank god for nandroid restore
Click to expand...
Click to collapse
Did you run the unrevoked forever to unlock the nand
I'm having mixed results with metamorph. I was able to do everything I wanted on CM6. I actually ported this over for us and it works great on metamorph not problems, check it out: http://androidforums.com/roms-incredible/149055-theme-vatsense-cm6port.html
now I tried porting one of my themes over to skyraider2.2 and I can get framework-res and com.htc.resources to work fine, but when i tried to add in my themed apps, I get a f/c and have to pull battery. http://androidforums.com/roms-incredible/148221-theme-do-bluev1.html
Ran the unrevoked tool so give me s off as well...
I had somebody in the nexus forum metamorph the weather channel widget but I cant get it to install, anyone game to take a look? I would love this to be transparent.
I have ran unrevoked forever and installe the latest metamorph.
Thanks
Im running (latest) stock 2.2 leak, and i cant get metamorph or NinjaMorph to make ANYthing stick. (YES I HAVE S-OFF) Both run as if they are making the changes, No diff than they did with the Moto Droid. MM reboots after ANY package, not just framework, with out asking to reboot. Ninja will usually break the app (app is no longer installed)
ANY IDEAS?
EDIT: just for kicks i installed a Deodexed Stock ROM, and still the same results... It says its doing it, but i the end it makes NO changes to the APK files.
see if you can manually (adb) replace the files and see if it sticks..... if not then the issue is not metemporph.... it's a rooting/nand issue.
R1lover said:
see if you can manually (adb) replace the files and see if it sticks..... if not then the issue is not metemporph.... it's a rooting/nand issue.
Click to expand...
Click to collapse
Manually replacing the entire APK... work just like it did when we needed recovery. Just now you type ADB remount, then push it.
If you mean manually replacing the edited files within the apk, thats not directly possible via adb. you have to PULL, EDIT,PUSH.
The problem here is metaMorph is supposed to open the apk replace just the edited files then close it up right on the phone, and its just not doing that!
what i did that fixed all my issues was install busybox from market. its odd but it all works perfect now even though i though it had been prebuilt into the rom. strange but ill take it
icedmayhem said:
what i did that fixed all my issues was install busybox from market. its odd but it all works perfect now even though i though it had been prebuilt into the rom. strange but ill take it
Click to expand...
Click to collapse
Yea, I just did what you said, before Metamorph would say not enough free space in /system/
I was using the 8/1/10 Froyo leak and I guess that one didn't have busybox, weird I was able to use Titanium Backup and I though that required busybox as well...
everytime you switch a rom, you should download busybox and let it update, it changes per rom.
Welp , Im still at a loss... I updated busybox, using the market app... and it still gives me the same results...
It takes 2-3 min to "apply theme" then reboots... and NO changes !
My theme contains ONLY the folders and files that need to be replaced, and my xml is copied from an existing theme, then edited. So i dont know wtf is goin on with this ****.
try making it into a file that can be flashed from recovery, then ull know for sure u made it correct....
Not sure this will help but I just installed Metamorph today and was getting the "system memory" error. To fix the problem I just used Root Explorer to mount /system as rw. Could the problems be related to write permissions?
I'm new to this...
I'm running SkyRaider's 2.5.2. Sense ROM. Just downloaded MM & BusyBox via market. When I start MM I select "Start Checks" or whatever. It then either forces my phone into reboot or gives me the "not enough memory in /system" error.
I did not install unrevoked forever. Is that my problem?
ksidirt said:
I'm new to this...
I'm running SkyRaider's 2.5.2. Sense ROM. Just downloaded MM & BusyBox via market. When I start MM I select "Start Checks" or whatever. It then either forces my phone into reboot or gives me the "not enough memory in /system" error.
I did not install unrevoked forever. Is that my problem?
Click to expand...
Click to collapse
Uh yea, it needs to write to system, you need S-off to use it.
I'm reviving this thread so as to not clutter up the Metamorph Themes Master List thread
This quote is from the other thread, I just thought it would be more appropriate to answer here instead.
mikesincredible said:
Wow. What you just told me is like trying to learn chinese...lol I see there's more involved...any good articles to point out so I can learn. I just know rom manager and adb push code... ::
Sent from my ADR6300 using XDA App
Click to expand...
Click to collapse
I'm sure there are some guides floating around XDA, but I mostly learned MM just by messing with it and learning from trial and error.
Basically, metamorph just opens up an .apk file, replaces any of the files it finds in the folders specified by a theme's .xml file, then closes/re-signs the apk.
This is much better than flashing themes from the recovery menu or rom manager because doing so replaces the entire framework-res.apk, overwriting any themes you had previously installed. Since metamorph only replaces the files you want, any theme you already had will be preserved.
Here's an example to get a quick overview of how it works. Say you've already applied my black rotary lockscreen mod (found here) and you want to use some of the elements from SoCalMiles' Incredible rEVOlution theme.
First you should download his file, and inside the .zip find "\Incredible_Revolution_Original_Theme.zip\system\framework\framework-res.apk" and extract it somewhere.
Then rename "framework-res.apk" to "framework-res.apk.zip" or something similar. Now you can browse/unzip the files just like you would any other folder.
In your new .zip navigate to \framework-res.apk.zip\res\drawable-hdpi-v4, most of a rom's theme will be in that folder.
Now, if you've applied my theme through metamorph (or any theme, for that matter) you should have the directory "\sdcard\AndroidThemes\BlackRotary-hdpi-v4\framework-res\res\drawable-hdpi-v4\" on your sdcard.
Choose any of the files you want to apply to your phone from the extracted Incredible rEVOlution drawable-hdpi-v4 folder and copy them from to the \sdcard\AndroidThemes\BlackRotary-hdpi-v4\framework-res\res\drawable-hdpi-v4\ folder. Now when you run the metamorph it should copy the files you added as well as the ones that were previously there.
If you want to copy files that are not in the drawable-hdpi-v4 folder, simply make a new folder for the containing folder. Basically just make sure the \sdcard\AndroidThemes\whatevs\framework-res\ directories match the directories in the framework-res.apk file you're pulling from.
That's the easiest way to combine two themes, if you're looking to make you're own metamorph theme to post on xda you'll need to learn to edit the .xml file which directs metamorph to which files to modify, but that isn't too hard either, and there's no need to do this if you're just making metamorphs for your own personal use.
mixedlemon said:
I'm reviving this thread so as to not clutter up the Metamorph Themes Master List thread
This quote is from the other thread, I just thought it would be more appropriate to answer here instead.
I'm sure there are some guides floating around XDA, but I mostly learned MM just by messing with it and learning from trial and error.
Basically, metamorph just opens up an .apk file, replaces any of the files it finds in the folders specified by a theme's .xml file, then closes/re-signs the apk.
This is much better than flashing themes from the recovery menu or rom manager because doing so replaces the entire framework-res.apk, overwriting any themes you had previously installed. Since metamorph only replaces the files you want, any theme you already had will be preserved.
Here's an example to get a quick overview of how it works. Say you've already applied my black rotary lockscreen mod (found here) and you want to use some of the elements from SoCalMiles' Incredible rEVOlution theme.
First you should download his file, and inside the .zip find "\Incredible_Revolution_Original_Theme.zip\system\framework\framework-res.apk" and extract it somewhere.
Then rename "framework-res.apk" to "framework-res.apk.zip" or something similar. Now you can browse/unzip the files just like you would any other folder.
In your new .zip navigate to \framework-res.apk.zip\res\drawable-hdpi-v4, most of a rom's theme will be in that folder.
Now, if you've applied my theme through metamorph (or any theme, for that matter) you should have the directory "\sdcard\AndroidThemes\BlackRotary-hdpi-v4\framework-res\res\drawable-hdpi-v4\" on your sdcard.
Choose any of the files you want to apply to your phone from the extracted Incredible rEVOlution drawable-hdpi-v4 folder and copy them from to the \sdcard\AndroidThemes\BlackRotary-hdpi-v4\framework-res\res\drawable-hdpi-v4\ folder. Now when you run the metamorph it should copy the files you added as well as the ones that were previously there.
If you want to copy files that are not in the drawable-hdpi-v4 folder, simply make a new folder for the containing folder. Basically just make sure the \sdcard\AndroidThemes\whatevs\framework-res\ directories match the directories in the framework-res.apk file you're pulling from.
That's the easiest way to combine two themes, if you're looking to make you're own metamorph theme to post on xda you'll need to learn to edit the .xml file which directs metamorph to which files to modify, but that isn't too hard either, and there's no need to do this if you're just making metamorphs for your own personal use.
Click to expand...
Click to collapse
What other folders contain the status icons? I'm looking to restore the circle battery and alarm from the incredible revolution theme, I found the battery.pngs..but no alarm..so if I copy and paste them to the blackrotary folder in androidthemes and metamorph, I should have the battery back
I installed the stock MMS.apk file on my de'odexed stock rom (rooted of course). Everything worked well and the app runs, but when reading text threads there is an ugly white border around the edge of the screen, its strange. Its not present when viewing the list of conversations, only in the thread view. I'm not sure if that's how its supposed to look or not, but if not, anyone have any idea how to fix this?
I'll get a screenshot up as soon as I get home.
I first obtained the MMS.apk from the cyanogen rom, then thinking that it might be modified and thus creating my problem, I grabbed the AOSP version from this thread:
http://forum.xda-developers.com/showthread.php?t=789493
Any help will be greatly appreciated.
UPDATE:
Found another thread where people are experiencing the same issue, apparently its a problem with how sense handles the application:
http://forum.xda-developers.com/showthread.php?t=752604
I attempted to open up the Mms.apk (AOSP version) with APKtool and play around with the xml files for the UI, but wasn't able to get it to recompile and test any changes I made, the app would just crash on launch. I simply made a few changes to the colors, but I admittedly don't really know what I'm doing and it wouldn't run. If anyone who's more experienced in this area could offer some advice I'll try again.
That's a picture of the issue, it appears in both landscape and portrait mode.
Texts were blacked out just for privacy sake.
Well after a few hours of messing around in the XML files for the AOSP messaging app, I was able to find a solution to this issue. I modified the XML file to have it correctly display the black color background when using the black theme. I was not able to eliminate the border entirely, but by changing the scrollbar type from Inset to Overlay I was able to make it uniform and far more visually pleasing.
I have attached my modified Mms.apk file, feel free to test it out.
For the specifics of what I did for those who are interested:
Two files were modified in the apk
- /res/layout/compose_message_activity.xml
- /res/layout/compose_message_activity_black.xml
In both files I changed the scrollbarStyle propery to "insideOverlay", in addition to removing the reference to always show the scrollbar track.
In the black xml file I changed the background color to "@android:color/black".
The original XML files were extracted using APKTool and Recompiled to their binary format, then reinserted into the original apk without resigning.
This is awesome! ... Except it doesn't filter out the VVM message streams that come through. :|
I haven't encountered this problem though I use google voice so I'm not really sure what it is you're referring to.
Sent from my PC36100 using XDA App
ty!
beautiful ty!!!!!!!!!
Imma cry
I cant send mms!
Try turning off wifi while sending/receiving mms
no wifi
i don't have wifi on when i do this i just have 3g on so i can send mms!
i zipped the file with the one that had the white outline .is there a way to make this new apk. file into a .zip file for me ?
I'd imagine you could simply replace the APK file in your zip with my modified one and install that way. Use a program like winrar or 7zip to replace the apk within the zip.
tehpsyc said:
I'd imagine you could simply replace the APK file in your zip with my modified one and install that way. Use a program like winrar or 7zip to replace the apk within the zip.
Click to expand...
Click to collapse
sorry but i cant find either of thoses programs u mention to replace the APK file in my zip with your modified version .is there another program or a manual way of doing this process ?
how do i install this? since it's an APK, i thought i'd just install it from Astro but it says it's already installed and asked if i wanted to uninstall.
To install this you need to either delete or rename the Mms.apk that's already on your phone in the /system/app directory (I just rename to Mms.apk.bak) and then copy the modified one into that same directory followed by a restart of the phone. Because its a system app you cant install it the same way you would a regular apk, at least from my understanding.
You will need to get write access to the system directory to accomplish this (I used an app on the market called root explorer, though you can also do all this through the ADB shell)
So I'm a bit of a noob. I'm attempting to create a theme and I cannot figure out where to edit the noti bar as well as the lockscreen image. For the lockscreen, I just want to keep the same tw lockscreen, but I want to change the padlock/background. Any help would be amazing as I am truely stumped.
If this needs to be in general, please move me
The file(s) that you are looking for are located in the framework-res.apk package located in a ROM/Theme. Inside of the .apk is a folder called res, and inside it is a folder called drawable-hdpi. This folder contains the majority of images used to make a theme look a certain way. In order to change the status bar, you need to edit the file statusbar_background.png. The lock screen one is in this folder too.
Nice. Thank you sir
Sent from my SPH-D700 using XDA App
I figured since the question has been answered I could just hijack this thread instead of making a new one. I am pretty new on modifying Android ROMs and would like to know where I should start first if I wanted to create my own theme? I would like to do some simple modifications first like icons and colors. Where can I find the necessary materials to get started? Like a fresh Touchwiz 2.5 template from the epic? Or do I just extract them from the stock ROM, if so, how? Thanks.
The files are accessible from the ROM if you open the zip and go to /system/framework then extract framework-res.apk
From there, you can open the apk with a tool like WinRAR and navigate to /res/drawable-hdpi as thomasskull666 mentioned. You can extract the png files from there and then just drag them back in once modified. Then just drag the framework-res.apk back into the ROM zip and flash it and bask in the glory of your handiwork.
Best advice is organize your workspace. You will have so many folders in folders your head is going to spin! What I do is copy the framework-res.apk, twframework-res.apk into a folder on your PC called STOCK DI18 Theme. *Make sure you pull these files from a deodexed rom or you'll have issues! Drawable-hdpi folder inside of both framework-res.apk files is where the brunt of you mods will be. If you are feeling daring, after changing the images in there you can begin to pull the drawable-hdpi from apps as well as long as you drag out the drawable folder, make your edits, then drag the edited folder right back in the zip, you'll be fine. Don't touch .9.png files if you don't know how to program them, I'm guessing you don't. Don't worry, edit everything else first to get that "feel" for what you are getting into. From there then research the .9.png files.
I highly recommend using 7zip for all of this, it is less of a headache. This is the basics of what you'll be doing to everything. Lets say you were going to do all this right off of your desktop. Make a folder on your desktop called STOCK DI18 Theme. Copy your framework-res.apk and twframework-res.apk into that folder from your deodexed rom. ANY TIME YOU NEED TO TAKE THESE FILES TO EDIT FOR YOUR THEME, COPY THEM FROM THIS FOLDER, NEVER SAVE THE CHANGES BACK INTO THIS FOLDER. This is important because you want easy access to all your stock files. Copy your system/framework and system/apps in here.
Now if you want to work on the framework-res.apk first. copy it to the desktop. Right click and choose 7zip-open archive. You can see the file structure of the apk. Click twice on res and you will see all the folders including drawable, drawable-hdpi, etc. Drag and drop drawable-hdpi to your desktop. Edit anything you want in there except a .9.png. Save the files into that same folder. Then drag and drop the folder right back into the archive where you got it in the first place. Then say your all done. Drag framework-res.apk back into the zip your going to flash on your phone in the same method.
Another quick tip, if you don't have an update zip and you have no idea what you are doing, download any working theme from here. Grab one of mine, and copy your framework-res.apk, twframework-res.apk, apps, etc over what in there. Make sure not to leave nothing it will show up in your theme! Any thing you need clearing up on, PM me, this should be plenty to get you started. To theme an app, right click say alarmclock.apk choose 7zip-open archive and do your magic again. As long as you only change the pictures in there you won't alter the signature on them so don't be afraid to mess with it.
Lastly, the Epic's framework is LOADED with files that it doesn't even use so be careful you not spending too much time editing a file you never seen on your phone before!
dreamsforgotten said:
Lastly, the Epic's framework is LOADED with files that it doesn't even use so be careful you not spending too much time editing a file you never seen on your phone before!
Click to expand...
Click to collapse
Excellent tip, this is especially helpful if you are trying to port a theme as not all of the .png's will match up. Make sure you know what you NEED to be replacing as opposed to what is optional. Also I don't know if it was mentioned before but there are some files (especially in twframework-res) that have a .9 before the .png. These are not your run-of-the-mill png files, and they need to be specially edited to preserve their formatting. I recommend avoiding these if at all possible, but there is a way to edit them if you are feeling really adventurous. Here is the link to that post:
http://forum.xda-developers.com/showthread.php?p=5206698
My suggestions for success: If you really want to make sure you are editing only the files that you need to edit in framework-res.apk, download a few custom themes or ROMs and extract the framework-res.apk from them. Then use a program such as UltraCompare to compare the files and folders inside each to find common files. This will help you pinpoint exactly what needs to be edited and what needs to be left alone. Lastly, like dreamsforgotten stated, be sure to have a good work directory from which to edit these .apks, as you will be working with folder after folder after folder. Organization is key, and patience is required
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.