Skinning question - G1 Android Development

In framework-res.apk, what controls the color of the text for the status bar, such as notifications and the digitial clock? Are these controlled independently by seperate apks?
I'm considering diving in and attempting to skin my android but I want to know what I'm getting into.

I've tried replacing framework.apk that I built from source on a real device and emulator. Only bad things came of it. Had to reflash. Let me know if you have better luck.
I'm pretty sure it failed because a lot of the stuff in framework.apk is stubbed closed source stuff.

Koush,
Have you looked at this post by Living_Sword?
I suggest you enter the following commands using adb, because its faster and reliable than telnet or any other method. If you do not have adb setup, read here, if you do, then just enter adb shell in the console while the phone is connected.
In simple words, you have to re-sign the framework-res.apk with your own key. You should know that you will loose all your data while doing this mod. Here are the steps,
1. Re-sign and re-upload all the .apk files in /system/app with your own key or the test-keys. The command used for signing is included in the readme file alongwith the signing jar here.
2. Take a backup of /system/framework/framework-res.apk. Now, you would want to edit some stuff in framework-res.apk, for that the easiest method is to rename the apk file to .jar/.zip, put in your own files(with same name as original png) and rename it back to .apk. You have to re-sign this apk with the same key like you did in the first step.
3 . Upload the apk file to /system/framework. The phone will hang, and in few secs it will most likely go back to the android robot screen.
4. Take out the battery, then do a data reset by going into recovery mode and pressing ALT+L to see the log text and then ALT+W to wipe out /data. Obviously, you will loose all your apps and settings and will have to re-activate the phone.
5. After the wipe is complete, press HOME + BACK to reboot. The phone should reboot normally now.
I know its a pain to loose all the data and apps, but this is the easiest method until we figure out something more elegant, and its required to be done only once. Also, there is no need to keep the png file size same. And in future, you will be able to replace the framework-res.apk without any hassles.
Also, since each stock app's icon is in its own apk, once you re-sign every apk in /system/app, you can easily replace their icons with your own.
Source: http://www.modmygphone.com/forums/showthread.php?p=16871#post16871

Ok, so I have successfully replaced framework-res.apk with my own build which includes custom icons and things like that. However, I am running into two problems:
1: I keep running out of room in my system folder. Everytime I replace framework-res.apk I am losing space somehow, eventually I have to do the mod rc30 update all over again to get my memory back so I can push this file over, where is this space going? Whats eating it up? Oh, and it isn't the file size growing, this will happen if I pull a file and directly try to push it back onto the phone.
2: I still don't know how to change the default color of the text. I assume it is in one of these xml files but I'm not sure, and I haven't found it yet. Could it be in /res/color/?
If anyone could help me on these two issues I would be so appreciative.
This is what I've done so far, see the status bar and the icons?
Stericson

Stericson said:
Koush,
Have you looked at this post by Living_Sword?
I suggest you enter the following commands using adb, because its faster and reliable than telnet or any other method. If you do not have adb setup, read here, if you do, then just enter adb shell in the console while the phone is connected.
In simple words, you have to re-sign the framework-res.apk with your own key. You should know that you will loose all your data while doing this mod. Here are the steps,
1. Re-sign and re-upload all the .apk files in /system/app with your own key or the test-keys. The command used for signing is included in the readme file alongwith the signing jar here.
2. Take a backup of /system/framework/framework-res.apk. Now, you would want to edit some stuff in framework-res.apk, for that the easiest method is to rename the apk file to .jar/.zip, put in your own files(with same name as original png) and rename it back to .apk. You have to re-sign this apk with the same key like you did in the first step.
3 . Upload the apk file to /system/framework. The phone will hang, and in few secs it will most likely go back to the android robot screen.
4. Take out the battery, then do a data reset by going into recovery mode and pressing ALT+L to see the log text and then ALT+W to wipe out /data. Obviously, you will loose all your apps and settings and will have to re-activate the phone.
5. After the wipe is complete, press HOME + BACK to reboot. The phone should reboot normally now.
I know its a pain to loose all the data and apps, but this is the easiest method until we figure out something more elegant, and its required to be done only once. Also, there is no need to keep the png file size same. And in future, you will be able to replace the framework-res.apk without any hassles.
Also, since each stock app's icon is in its own apk, once you re-sign every apk in /system/app, you can easily replace their icons with your own.
Source: http://www.modmygphone.com/forums/showthread.php?p=16871#post16871
Click to expand...
Click to collapse
framework-res.apk is just the resources. framework.apk contains the actual code used by every application in the system. Attempting to replace THAT file the result of the android build process will fail.
I think we're talking about two different files.

Oh yep, definetly we are...I thought you were talking about that but I figured you would clarify if you were indeed. Thanks.

so you guys are making progress on some themes... GOOD ****..

jzajzz said:
so you guys are making progress on some themes... GOOD ****..
Click to expand...
Click to collapse
Agreed. Once this process is mastered, and some polished themes, or a tool to make your own (or something) comes out, our G1's will look even sweeter.

jzajzz said:
so you guys are making progress on some themes... GOOD ****..
Click to expand...
Click to collapse
Well, I was making progress, but now my phone is bricked. Don't know how it happened. Was doing the same thing I've done over 20 30 times, suddenly started giving me problems, reflashe JF update and voila! bricked phone. So now I'm getting a new one sent to me and hoping that it comes pre-rc30. Sucks too because I am pretty sure I found out where the text color is set. Thats why I'm trying to get this to work under the emulator, but I can't get it to work. The dang emulator won't reboot or shutdown. So I can't see the changed made.

It sounds like it's too late to help now. But how was the phone bricked? Did it go into an infinite reboot cycle? Stay on the G1 screen?
Also, I assume you hadn't loaded the dev bootloader? That could have easily saved your phone from brickage

JesusFreke said:
It sounds like it's too late to help now. But how was the phone bricked? Did it go into an infinite reboot cycle? Stay on the G1 screen?
Also, I assume you hadn't loaded the dev bootloader? That could have easily saved your phone from brickage
Click to expand...
Click to collapse
My phone does have the dev bootloader on it. However, now it just stays on the boot splash screen and I can't do the update because it says the /dev file is gone! Can I reflash all of that and save my phone?
Btw, I actually think the entire folder /system is gone, because I can't abd with root, and when I did it in the update screen my system folder wasn't showing. So, I have no idea how this happened.
Is it possible to push that entire folder back on there and then recover or something?

Yes, you can reflash the recovery partition using the fastboot protocol, which the dev bootloader supports. There isn't a windows binary for it yet, but if you have a linux or mac handy, turn on the phone into bootloader mode, then plug in the USB cable. "Serial0" should change to "FASTBOOT". now you can use the fastboot binary on your computer to flash anything on the phone. You might try re-flashing the recovery image that's in my modified update. If that doesn't work, maybe try flashing the radio too.
If you have the dev bootloader, I'm almost positive your phone can be saved. Give me at IM if you want to talk about it.

I *think* the fastboot binary is in the sdk for linux/mac. I could be wrong though. There are copies of both floating around though, just ask if you need one.

I managed to repack framework-res.apk and resign all other packages without wiping. The problem is with the signatures in /data/system/packages.xml - they no longer match after resigning. The solution is to simply delete all <sigs> sections (and the <certs> within), and the PackageManager will automatically regenerate them as they are launched. I just now successfully booted, so can't say this is thoroughly tested, but I'll report back here if any problems crop up.

donniesmit said:
I managed to repack framework-res.apk and resign all other packages without wiping. The problem is with the signatures in /data/system/packages.xml - they no longer match after resigning. The solution is to simply delete all <sigs> sections (and the <certs> within), and the PackageManager will automatically regenerate them as they are launched. I just now successfully booted, so can't say this is thoroughly tested, but I'll report back here if any problems crop up.
Click to expand...
Click to collapse
A good check after doing something like this is to take a look at the call log, and actually receieve a call (call yourself from your home phone, or whatever). Both of these like to error out when messing around with resigning.

Related

How-to Theme Development

To create themes, or to edit themes to your liking, you will need a working knowledge of android, adb, how to resign apk's, knowledge of your own O/S.
Before you start be aware that you will probably end up wiping your phone once, if not more. So lets go over the things that you will need.
You will need JF's RC30, RC8, or ADP1 V1.3, depending on what version you intend to create for.
Here is the link to these: http://forum.xda-developers.com/showthread.php?t=466174
You will also want to get the dev bootloader installed on your phone and to HIGHLY suggest everyone trying your theme to install it as well.
Link to dev bootloader: http://forum.xda-developers.com/showthread.php?t=455860
You will also need to resign all the apks located in /system/app and framework-res.apk located in /system/framework. When you push all of these to your phone, you will need to do a wipe.
JesusFreke was kind enough to build a custom signing tool for me that would allow me to right click on an apk and resign it from there. I am posting it here for others to use as well. Note that this is a courtesy of JF, so thank him for it. I cannot stress how much time this has saved me and will save you.
Here is the link: Http://www.FightForthePits.com/testsign(2).zip
Before using this you need to know how to set this up:
I will assume that you have the sdk downloaded and extracted somewhere(if not, do that now), extract both files to the tools directory of your sdk.
Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.
To do this, right click on My Computer click properties, then choose the tab that says advanced. Click the button that says environmental variables. Go to system variables find the one that says CLASSPATH, double click it, go to the end of variable value. There should be a semicolon ; at the end. type in the path to the testsign.jar located in the tools directory of your SDK, for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar If CLASSPATH is not in your system variables then create it.
If you find the right click menu not working for some reason you can type the following in cmd to sign your files: java testsign whateverfiletosign
Now right click the reg file that you extracted and choose to install it, or merge.
Now, right click an apk, do you see an option that says ResignApk? If not hit the windows key and R at the same time. Type in regedit. go to HKEY_CLASSES_ROOT and expand it. Now find .apk and click it. Double click on (Default) and erase apk_auto_file. Hit ok and close the Reg editor. Now right click an apk and the option ResignApk should be there.
Now through doing this you have done two things, first off you have made the resigning process extremely easy, secondly you will not have to cd to the tools dir of the sdk to use adb or any other tool in the sdk.
You will also need a version of linux installed or running vmware with linux, so that you can create an update file which will install the theme onto the users phone.
You need to make sure that you do this correctly, because if you don't then you will have the potential to create problems for people trying to install your theme. You also need to be specific in addressing what version your theme is for, RC8, RC30, or ADP1. Make sure every file gets signed. Make sure you test the update.zip before you release it.
Every .apk contains the images relating to itself. However, every apk has the ability to use the images in framework-res.apk. The images for every apk is located inside of res and more specifically in folders that are named Drawable, drawable-land, drawable-port, etc. Some things you cannot edit unless you rebuild the entire apk from source, which we will not go into here.(another tutorial, another time) Just know that at this time you SHOULD NOT edit, or even open images with the extension .9.png. If you do you will have problems...Trust me. These are special images called ninepatch images and android resizes these images to fit wherever android, or any other apk, needs it to. if you do open them or edit them they will no longer render correctly when resized. I believe that in order to edit these you must do so and then put them into the source and rebuild the entire apk.
Before getting started you must also realize that you cannot simply resign one or two apk's and stick them in your phone and expect them to work. You must resign every apk inside of /system/app and framework-res.apk and put them on your phone at the same time.
To simplify this process for you though, I have provided an update which will do all of this for you. Note that these updates will not completely wipe your phone, your apps will be retained, however, they will require you to re-enter your Google info, and you will lose you call history.
Links down
Just put the correct update.zip, depending on what version you are running, onto your sd card, boot into recovery and hit alt + s.
Now you can push your own apk's one at a time without re-wiping your phone.
Now, your ready to start changing things up.
You will now need to open the apk, which you can do by adding .zip after .apk, effectively changing it to a zip. Note that if you are using windows you will need to unhide known file extension types.
See here to unhide known file extension types for Xp: http://www.mediacollege.com/microsoft/windows/extension-change.html
See here to unhide file extension types for Vista: http://maximumpcguides.com/windows-vista/how-to-change-a-file-extension/
After changing the apk to a zip open it go to res and copy the folders that have drawable in their name. Go to your desktop, or wherever, create a new folder called Images, or whatever. Open the folder, paste the drawable folders in there. Now you can see what the files look like without opening them. Btw, you may also want to add -frame, or -launcher, to the end of the folders you cope over to keep them separated from others.
Finally, you've edited the images put them all in the apk renamed it back to an apk and resigned it. Now it's time to push it to your phone and see the changes you've made.
Important! : Whenever pushing files to the phone NEVER do it while the phone is running. Do this in recovery mode! If you do this while the phone is running normally you will begin to lose space in /system.
So, boot into recovery plug your phone in and open a cmd prompt. From the cmd prompt type adb shell mount /system then type the following: adb push c:\whereveryourfileis\whateveryourpushing.apk /system/app (system/framework if your pushing framework-res.apk)
Now reboot your phone. If it doesn't boot, try doing a wipe, if that doesn't work reinstall an update and try again. There are alot of things people can do wrong, I can't explain them all here. If you get real stuck, you can ask for help here or contact me on Gtalk [email protected].
So now your theme is done and your ready to make an update.zip for others to install your theme.
This must be done in LINUX! Not WINDOWS! Yes it may work for you if you do it in windows but other people's phones will enter an indefinite loop! Just do it from Linux! If you absolutely cannot make your own update.zip, contact me and we'll see if I can make one up for ya.
I have created a template for you to make your own update.zip. Just download, open in Linux, and add the system apps to app, and framework to framework. Zip it up, SIGN IT, TEST IT YOURSELF, and then distribute it!
Empty update.zip template: Http://www.FightForthePits.com/Androidstuff/update_empty.zip
If anyone has any questions please try asking for help in this thread before emailing me for help Usually I will respond to questions in this forum.
I hope this Tutorial has been helpful. I will add on to it as needed.
Stericson
Links of interest:
Downloading SDK: http://code.google.com/android/intro/installing.html
Using ADB: http://code.google.com/android/reference/adb.html
Working with ninepatch should be straightforward if you use the draw9patch tool included in the SDK. Documentation on usage here:
http://code.google.com/android/reference/draw9patch.html
JF could also save theme users a wipe by resigning /system/app/* and /system/framework/framework-res.apk in his builds with the test keys. Nice tutorial, btw.
However it doesn't. I have used that to no avail. I believe you need to edit the images, put them in the source then rebuild the apks from the source.
As for JF's update, it does not currently wipe your phone after install. So, for him to do this he would have to have his update do a wipe. So technically, they would still have to do this initial wipe.
Stericson
Stericson said:
However it doesn't. I have used that to no avail. I believe you need to edit the images, put them in the source then rebuild the apks from the source.
Click to expand...
Click to collapse
Good point. I thought you could simply drop a similarly dimensioned PNG in but apparently there is some metadata that only the android tool can create.
As for JF's update, it does not currently wipe your phone after install. So, for him to do this he would have to have his update do a wipe. So technically, they would still have to do this initial wipe.
Click to expand...
Click to collapse
True, but a user who is upgrading to a JF update after having put in customized (and test-key signed) system apps will have to wipe again anyway =) Anyone using custom themes will have to wipe every time a JF update (or any update) comes out. However if JF resigns, custom theme users would not have to wipe and stock theme users only have to wipe once. (Nevermind the fact I think everyone should wipe when updating...)
thx stericson this will help big time how long before I can get resigned rc30 last night when you said all the apk. need to be resigned I was like this is going to be a long night but I see jf hooked you up save some big time with his resigning tool
jashsu said:
Good point. I thought you could simply drop a similarly dimensioned PNG in but apparently there is some metadata that only the android tool can create.
True, but a user who is upgrading to a JF update after having put in customized (and test-key signed) system apps will have to wipe again anyway =) Anyone using custom themes will have to wipe every time a JF update (or any update) comes out. However if JF resigns, custom theme users would not have to wipe and stock theme users only have to wipe once. (Nevermind the fact I think everyone should wipe when updating...)
Click to expand...
Click to collapse
Ah, good point
The resigned apps will be released maybye sometime tonight...I had them done but ran into a script problem on adp1 and I have yet to try the rc30 and rc8 ones yet. so I won't release those until I've tested them. If you want to be a Guinea pig however, just let me know
Stericson
Stericson said:
Ah, good point
The resigned apps will be released maybye sometime tonight...I had them done but ran into a script problem on adp1 and I have yet to try the rc30 and rc8 ones yet. so I won't release those until I've tested them. If you want to be a Guinea pig however, just let me know
Stericson
Click to expand...
Click to collapse
The resigned apps have been released, each update file will resign all of apps in /system/app and framework-res.apk. However, these updates make no changes to them whatsoever...Meaning your phone will look just like a brand new phone without any modifications.
rc30 works thx Stericson made it easy for use
Issues with using the update.zip above
Hi all,
I just wanted to point out that after I applied the update.zip above and rebooted applications kept force closing randomly and constantly even through the initial setup (where you have to click the green android to start).
Prior to this, I had JF's RC30 1.3, and the engineering bootloader V2 no sigcheck.
First I did just a alt+s then a alt-w and alt+s. And still nothing.
I'm new to all this so I'm not even sure where to begin troubleshooting. Should I be using the HardSPL?
Thanks in advance and I appologize if this isn't the right place for this post.
Update:
After reflashing with JF's 1.3 RC30 and the problem persisted I noticed that there was a new release 1.31 and this has fixed the problem. I hope this helps anyone else who runs into the same problem.
I still don't know what went wrong though, can anyone shed some light on this? thanks.
Truly there's no telling, sounds like J'f's update fixed it. Can I ask what version you tested?
I would also like to announce that now, thanks to JF, again, you do not have to wipe your phone completely to apply the resigned app updates. However, you will have to re-enter your google info and your call history and other minor things will be gone, but all of your apps will be retained.
Stericson
Stericson said:
Truly there's no telling, sounds like J'f's update fixed it. Can I ask what version you tested?
I would also like to announce that now, thanks to JF, again, you do not have to wipe your phone completely to apply the resigned app updates. However, you will have to re-enter your google info and your call history and other minor things will be gone, but all of your apps will be retained.
Stericson
Click to expand...
Click to collapse
Hey, I tested it with this one:
Rc30 resigned: http://www.fightforthepits.com/Andro...pdate_Rc30.zip
Update went fine, until I booted back up then the applications kept force quitting, without me even doing anything.
Thanks,
Limitlis
yes there is a temp problem with those right this moment I am on the problem as we speak, expect a fix tonight...
Stericson
Can we get the fix cuz it bricking fone I had to flash rc29 nbh
Edit: I forgot please.... feel kinda rude when ur helping me out lol but it bricking some phones and for our less experince members we don't global meltdown lol
These files have been fixed and uploaded.
Stericson
I found the cyclon boot effect images in in framework-res/assets/images,
is there any way to replace the android boot image with those images?
Is there anyway to make the theme with a custom boot screen? Also is there a way to change the second boot screen(The one that says Android and has the little robot)
i tried using the testkeys from JF to resign my apks, but the update still says there is not signature =[
hello, I used the tutorial and everything worked great. I'm trying to change the background to the notification section but I can't find that file. Could you tell me where it is? Thank you.
hey stericson, how do u create a theme for rc33?

[Tutorial] Status bar transparency

I've been seeing way too many requests for this with just about every mod possible. Considering the simplicity of this mod, the easiest way to please everyone, is for all of you to know how to accomplish this mod yourself.
BTW, this is for the status bar itself, not pulldown bar or notification background.
What you need:
- Paint.NET software (or any other image editing software that you are already comfortable with, this one seems to be the easiest for setting transparency though.)
- Your framework-res.apk AFTER you have all of your other mods applied to your phone. Otherwise you will have to apply this mod again every time you add or change mods (most likely).
- 7zip
So, you should have your framework-res.apk on your computer and 7zip installed to open the apk. Open up the framework, navigate to /res/drawable-hdpi folder. In that folder, find the file statusbar_background.png. You can either pull that file out to your computer to edit it or open it straight from 7zip (which is the best way to ensure there is no issues when pushing framework back to the phone) but you must have your editing software set as the default to open .png files.
Now once you have that file open in Paint.NET, you will see the image of the status bar as you currently have it. Up on the top toolbar, you should see the option "Layers". Click that then select "Layer properties" at the bottom of the drop-down. At the bottom of the window that pops up, you should see "Opacity" and the number set at 255 with the neighboring slider all the way to the right. I suggest using the slider because as you move it you will see the transparency applied to the bar image, allowing you to slide it around to the desired transparency.
Once you have finished setting your transparency, click the little disk image at the top left to save your changes, close the program out and you should then see a box pop up in 7zip (if you made changes without unpacking the file from 7zip first) asking if you would like to apply changes to file you edited. Say yes, then close 7zip, which may or may not state that changes have been made to the apk and if you'd like to update it, which you would say yes to if it does. If you unpacked the file from 7zip, simply drag and drop the file back into its correct spot, confirm you want to replace the file, then close it up. After all of this is done, just put framework-res.apk back into the framework folder on your phone whatever way you like, turn your phone on and you have a transparent status bar.
As a side note, you can play with Paint.net to see all of the modifications you can make to your status bar like changing colors, texture, and a few other things. One piece of advice is to have a backup framework-res.apk in case you make a mistake or something.
excuse my extreme noobness, but what is the best way to transfer the apk back and forth from the phone to computer? yes I am new to this and yes I am a retard and yes I probably shouldnt even try this..
JoeyBones1 said:
excuse my extreme noobness, but what is the best way to transfer the apk back and forth from the phone to computer? yes I am new to this and yes I am a retard and yes I probably shouldnt even try this..
Click to expand...
Click to collapse
Easiest way would be to get root explorer so you can navigate to the /system/framework folder and copy the apk from there to your sdcard, where you can just copy it to your computer. the other option would be plugging your phone into your computer, phone should be on, open up command prompt then navigate to your sdk/tools folder (get it if you dont already have it), then type "adb pull /system/framework/framework-res.apk c:\" without the quotes. the file will be in the root of your C directory. To get it back on your phone when finished, for root explorer just reverse the steps, but when moving the apk back to its proper folder, just hit the "Mount R/W" button at the top right of root explorer, copy the file back in and reboot. For alternate method, boot into recovery, mount /system partition, then in prompt after navigating to sdk tools folder type "adb push c:\insertdirectoryto\framework-res.apk /system/framework/" without quotes, then boot up and youre done.
tried this...boot looped...had to restore backup...thanks for the info though...might try again soon
BillytheKid82 said:
tried this...boot looped...had to restore backup...thanks for the info though...might try again soon
Click to expand...
Click to collapse
Did you try editing the file without extracting it or did you extract it and reinsert it?
Or you could edit the .png and use metamorph to push it into the framework-res.apk without moving or unzipping anything. And you could just keep the metamorph theme with that one .png on your sdcard to re-apply it whenever you flash a new rom, without altering any other theme elements you've already applied.
What do I edit to change the pull down notifications?
Sent from my Incredible using XDA App
thx a ton got it
transparent, transferring back to phone now..we will see
edit ..boot loops too..
i used root explorer ..extracted framework-res.apk to my sd card ,,then on my computer i opened paint.net and edited the statusbar_background.png file and then
zipped back up the framework-res and renamed to apk then copied back to my framework folder and it the forced closed and went into boot lopes...
i know im close to getting this right ..what step am i skrewing up?
i edited the file w/out extracting it...using root explorer i copied the framework res to my sdcard...plugged my phone in to comp, opened the framework res w/ 7zip, edited w/ gimp, saved all changes...unmounted phone, used root explorer and copied the new edited framework, then navigated to the original framework res and pasted the new one there to overwrite the original...then it force closed so i tried to paste it again, then the phone rebooted and boot looped? not sure if i did something wrong
Gahh Its Lee said:
What do I edit to change the pull down notifications?
Sent from my Incredible using XDA App
Click to expand...
Click to collapse
That file is a .9.png file. editing these is ridiculously difficult and ill-advised.
chrisloveskaos said:
thx a ton got it
transparent, transferring back to phone now..we will see
edit ..boot loops too..
i used root explorer ..extracted framework-res.apk to my sd card ,,then on my computer i opened paint.net and edited the statusbar_background.png file and then
zipped back up the framework-res and renamed to apk then copied back to my framework folder and it the forced closed and went into boot lopes...
i know im close to getting this right ..what step am i skrewing up?
Click to expand...
Click to collapse
BillytheKid82 said:
i edited the file w/out extracting it...using root explorer i copied the framework res to my sdcard...plugged my phone in to comp, opened the framework res w/ 7zip, edited w/ gimp, saved all changes...unmounted phone, used root explorer and copied the new edited framework, then navigated to the original framework res and pasted the new one there to overwrite the original...then it force closed so i tried to paste it again, then the phone rebooted and boot looped? not sure if i did something wrong
Click to expand...
Click to collapse
I JUST remembered that I think you need to be running a deodexed rom to allow modifications. I've always used deodexed roms and forgot that it might be a requirement for things like this. Do either of you know if what youre running is deodexed or not?
mixedlemon said:
Or you could edit the .png and use metamorph to push it into the framework-res.apk without moving or unzipping anything. And you could just keep the metamorph theme with that one .png on your sdcard to re-apply it whenever you flash a new rom, without altering any other theme elements you've already applied.
Click to expand...
Click to collapse
metamorph is definitely more useful. I just have never created anything to run with it so I don't know the process of doing so.
im running skyraider vanilla, i tried to look on the thread to see if it is deodexed and i couldn't find if it is or not...may not be...thanks for your help
mb02 said:
I JUST remembered that I think you need to be running a deodexed rom to allow modifications. I've always used deodexed roms and forgot that it might be a requirement for things like this. Do either of you know if what youre running is deodexed or not?
Click to expand...
Click to collapse
running new skyraider 3.3 and im sure it is
Yea it seems they are both deodexed, and btw I didn't know skyraider 3.3 was so awesome I'm tempted to switch over to it. But yea, I'm not sure why your phones aren't allowing the modifications to the framework. I might as well load SR 3.3 and see for myself what's up. I'll get on that later tonight when I have time and let you guys know if i figure anything out.
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace. And of course, do a nandroid backup just in case.
EDIT: As Berzerker7 pointed out, this file probably wont make anything transparent unless you have a modified services.jar. oops.
mixedlemon said:
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace.
edit: and of course, do a nandroid backup just in case.
Click to expand...
Click to collapse
Well then that simplifies a lot of things lol. Thanks for putting that up for us, makes everything even easier.
Simply swapping a file won't work. It's the same reason simply swapping a transparent image for the notification pull-down doesn't work. Opacity is controlled on another level by services.jar. You need to modify the values there, as well as swapping out for a transparent image.
Btw, this didn't work for me on SkyRaider 3.3. (Metamorph or swapping the file).
It makes the background black but not transparent on virtuous 3.0.1
mixedlemon said:
Use this with metamorph. It will work on any rom (tested on skyraider 3.3) except those that still use the "drawable-hdpi-v4" folder in the framework-res.apk. If your rom uses that folder, simply rename the folder it puts on your sdcard in /sdcard/AndroidThemes/HalfTransparentBar/
If you'd rather have a different transparency just replace the .png in the folder with yours.
In fact, if you want to edit ANY graphic on your rom, just put the .png in the /sdcard/AndroidThemes/xxxxxx/framework-res/res/drawable-hdpi/ folder with the same file name as the one you want to replace.
edit: and of course, do a nandroid backup just in case.
Click to expand...
Click to collapse
Berzerker7 said:
Simply swapping a file won't work. It's the same reason simply swapping a transparent image for the notification pull-down doesn't work. Opacity is controlled on another level by services.jar. You need to modify the values there, as well as swapping out for a transparent image.
Btw, this didn't work for me on SkyRaider 3.3. (Metamorph or swapping the file).
Click to expand...
Click to collapse
Ah, I must have already installed a theme that modified it, then.
WOOOT!
SO can't wait to try this!
Wow... epic fail on my part... edited the image, repackaged, compared to original, file sizes/compression were similar enough, so I copied it onto my SD card and went in to Root Explorer... Mistake number 1)forgot to do a nandroid OR a titanium, Mistake number 2)Renamed the framework-res.apk to framework-res.bak BEFORE I copied the new file to the /system/framework. As soon as I did that, everything went haywire so I did a battery pull and went to do it the ADB way from recovery. Thought I did that right, so I rebooted into a bootloop... Finally gave up so I decided to do mistake number 3)full nandroid restore of a backup that was admittedly a few days old (See mistake 1 lol) after which I had rearranged a few things and added more apps etc... Now on to the important stuff...
MAKE SURE YOU DO STEP 1 BEFORE ATTEMPTING ANY OF THIS AND IF YOU RUN INTO PROBLEMS, DO STEP 2 SO YOU DON'T MAKE THE SAME MISTAKE I DID!
Step 1)For the love of all that's holy, do a Nandroid and Titanium backup first!
Step 2)In Clockwork Mod Recovery, do NOT do a full restore, instead go to advanced restore and simply restore the system (the part that you were messing around with to do this mod lol I realized this gem just as I clicked "Yes" in CWM, I still have the palm print on my forehead... haha​
Hopefully you folks will have better luck than I did, but if not, hopefully I can save you some of the headache I went thru...

[Q] Guide Request-- How to Implement Krylon's CIQ Removal

Hello. I would like to know if anyone has an actual beginner's guide to CIQ removal. For a minute, there was a guide that didn't quite have all the bugs worked out of it, but it was removed. I've been trying to follow Krylon's thread on rootzwiki, but it seems to stop short of telling people how to actually recompile everything and push it back to the phone. It would be helpful and informative to be walked through this process once the CIQ files have been deleted from the decompressed classes.dex files and .xml manifest.
Thanks
Note: So far, I have figured out that autosmali can be used to smali the files back into a classes.dex file, which can be reincorporated into the associated .jar files using 7zip. Seems simple enough. However, the process of getting framework-res updated seems to be more complicated, and requires answering some questions about. Specifically: 1. Option 11 asks (a) Is this a system apk? (b) Aside from the signature, would you like to copy over any additional files that you didn't modify from the original apk in order to ensure least # of errors? I have answered "yes" to 1.(a) and "yes" to 1.(b), which told me to delete the .xml and the resources.arcs file from a temp directory before completing the compile. This whole process has left me with three modified files (framework.jar, android.policy.jar, and framework-res.apk (unsigned)). Now what do I do with them?
Note 2: Looks like I can sign the framework-res.apk file using option 12.
Once you are done modifying the files you need to either put them in an update.zip and flash or push them with adb to their respective folders.
As for someone giving a step by step I doubt that will happen. It seems like the ones that do know how to do alot of the modifications to roms, are pretty vague when they post how to's. Most of the time it seems like they just don't want to share the information. Why I don't know, but that is just my opinion. I am sure I will probably get flamed for saying this but again this is just my opinion.
You can search the forums and find most of the information here and there. Then you need to put it all together and hope it works.
My thought's would be to have a seperate area in the forum to post just Tips, Techniques and How To's. Then alot of the people that want to learn how to theme and build roms would have an better source to find their answers than having to search all the forums. Again just my .02 cents worth...
Hope no one is offended by this as that is not my intention.... XDA is a great source for information...
quick steps..
Decompile Framework.jar, delete the entire carrieriq dir and all it's contents, recompile.
delete /system/xbin/iqbridger
DONE
Makes the rest dead code.
tablador said:
Hello. I would like to know if anyone has an actual beginner's guide to CIQ removal. For a minute, there was a guide that didn't quite have all the bugs worked out of it, but it was removed. I've been trying to follow Krylon's thread on rootzwiki, but it seems to stop short of telling people how to actually recompile everything and push it back to the phone. It would be helpful and informative to be walked through this process once the CIQ files have been deleted from the decompressed classes.dex files and .xml manifest.
Thanks
Note: So far, I have figured out that autosmali can be used to smali the files back into a classes.dex file, which can be reincorporated into the associated .jar files using 7zip. Seems simple enough. However, the process of getting framework-res updated seems to be more complicated, and requires answering some questions about. Specifically: 1. Option 11 asks (a) Is this a system apk? (b) Aside from the signature, would you like to copy over any additional files that you didn't modify from the original apk in order to ensure least # of errors? I have answered "yes" to 1.(a) and "yes" to 1.(b), which told me to delete the .xml and the resources.arcs file from a temp directory before completing the compile. This whole process has left me with three modified files (framework.jar, android.policy.jar, and framework-res.apk (unsigned)). Now what do I do with them?
Note 2: Looks like I can sign the framework-res.apk file using option 12.
Click to expand...
Click to collapse
Don't use option 12.
NEVER SIGN A SYSTEM APK
krylon360 said:
Don't use option 12.
NEVER SIGN A SYSTEM APK
Click to expand...
Click to collapse
Thanks krylon for the quick fix.
If, for completeness, I wanted to put all of these modified files on my phone (unsigned), how would I do it? Last time I tried, I used a root file explorer and my phone started bootlooping immediately after placing framework-res.apk on the phone. Adb was not available, so I had to reflash in order to put the file back the way it was. I was thinking maybe to adp push the file instead of copying it with the explorer.
adb push then reboot.
but, it's best to do it as a fresh install.
Thanks, I will give that a try.
Followed these directions 3x, but when I boot up my phone with these changes, the Android System process stops responding every time i boot my phone. I can bypass the error message fine, though.
edit: Well, after reflashing it 2 more times with the exact same rom, it doesn't happen anymore. MEH, who knows?
One of Raver's ROMs did that too. I think it is a dependency to something you removed. It was fine on the ROM. One FC when you boot ROM and that was it.

Changing resource images

I am trying to change an image in the com.htc.resource.apk, I do it just like framework-res.apk from this guild
HTML:
http://www.incredibleforum.com/forum/htc-incredible-themes/6020-%5Btutorial%5D-how-make-themes.html
However when I flash it, the OS boot loops, I wipe the data/cache before and after I flash the resource.apk. I am trying to change the default phone status bars to a black square(so it doesn't appear on the bar). Can anyone help me with this task?
P.S. I have tried goggled this topic but it routes me to framework-res.apk(which work great).
ravenboilinux said:
I am trying to change an image in the com.htc.resource.apk, I do it just like framework-res.apk from this guild
HTML:
http://www.incredibleforum.com/forum/htc-incredible-themes/6020-%5Btutorial%5D-how-make-themes.html
However when I flash it, the OS boot loops, I wipe the data/cache before and after I flash the resource.apk. I am trying to change the default phone status bars to a black square(so it doesn't appear on the bar). Can anyone help me with this task?
P.S. I have tried goggled this topic but it routes me to framework-res.apk(which work great).
Click to expand...
Click to collapse
Use 7zip instead of winzip or winrar. Note that some image files are not editable, i think they call then 9jpes or something. Should be as simple as pulling the apk from your current rom, opening the apk with 7zip drag the images you want to edit out, edit them, then drag and drop them back in. Make sure to ok 7zip to update the files once you drop them back in. Then push the apk back to the phone while in recovery.
How do you do push them back from recovery?
ravenboilinux said:
How do you do push them back from recovery?
Click to expand...
Click to collapse
Using adb. " adb push filename.apk /system/framework "

How can I disable 180 rotation in portrait mode and disable bootmenu options?

I recently installed the ICS Leak #2 and installed scv7, but there were several new features that annoyed me. I like to lie in bed to use my phone, so when I turn sideways, the screen turns from landscape mode to portrait mode, but the portrait mode is with the earpiece and camera at the bottom, and the buttons at the top. I have never had a problem with this with gingerbread/scv5. If anybody could tell me any way to disable it, that would be great, and I think the default launcher installed with scv7 is Holo Launcher, if I'm not mistaken.
One more thing, I had to install the Bootmenu manager when I was installing scv7, and everytime I hold the power button, then tap "Power off", I'm greeted with a list of options such as "Normal shutdown, reboot, and many other ones that I don't need, is there any way to disable this, and possibly add reboot back to the main list, like scv5?
Thanks.
CM9onmyMoPho said:
I recently installed the ICS Leak #2 and installed scv7, but there were several new features that annoyed me. I like to lie in bed to use my phone, so when I turn sideways, the screen turns from landscape mode to portrait mode, but the portrait mode is with the earpiece and camera at the bottom, and the buttons at the top. I have never had a problem with this with gingerbread/scv5. If anybody could tell me any way to disable it, that would be great, and I think the default launcher installed with scv7 is Holo Launcher, if I'm not mistaken.
One more thing, I had to install the Bootmenu manager when I was installing scv7, and everytime I hold the power button, then tap "Power off", I'm greeted with a list of options such as "Normal shutdown, reboot, and many other ones that I don't need, is there any way to disable this, and possibly add reboot back to the main list, like scv5?
Thanks.
Click to expand...
Click to collapse
Please don't re-post your issues, regardless of whether you feel you originally posted in an incorrect sub-forum. Ask one of the moderators to look at your post, and request it to be moved if necessary. You now have two posts with this issue (First one being HERE), and it clutters up the forum when people do this sort of thing.
As for the power menu found in the BootMenu app, that's just part of the application. You might find it very useful later on down the line. If you're just wanting to reboot, it only adds one additional click, so I wouldn't concern yourself too much over it. And, like I said, it may come in handy (and save your arse) at some point...
I think I may have just soft bricked my phone again. Stuck on the boot screen now, with the flashy scv7 thing. I edited framework-res.apk but must have improperly put it back.
CM9onmyMoPho said:
I think I may have just soft bricked my phone again. Stuck on the boot screen now, with the flashy scv7 thing. I edited framework-res.apk but must have improperly put it back.
Click to expand...
Click to collapse
you probably didnt set the permissions?
souljaboy said:
you probably didnt set the permissions?
Click to expand...
Click to collapse
yeah, i think. any way to fix this besides resetting the phone?
i can use project lense recovery right when the boot up occurs though.
did you try the fix permissions option in boot menu?
RoadToNever said:
did you try the fix permissions option in boot menu?
Click to expand...
Click to collapse
just tried it, still stuck on the scv7 screen
CM9onmyMoPho said:
just tried it, still stuck on the scv7 screen
Click to expand...
Click to collapse
It may be the edits, or how it was compiled.. Sometimes it's best to just do your edit, compile, then copy the edited files back to the original apk. In this case with the /values folder edits, they end up in the resources.arsc - move your newly compiled one back to the original apk with 7-zip/winrar. And actually with the framework-res.apk, you usually need to have no compression on the resources.arsc... copy that new resources.arsc somewhere next to the original apk, then add it to the archive in "store" mode - no compression with 7-zip.
alteredlikeness said:
It may be the edits, or how it was compiled.. Sometimes it's best to just do your edit, compile, then copy the edited files back to the original apk. In this case with the /values folder edits, they end up in the resources.arsc - move your newly compiled one back to the original apk with 7-zip/winrar. And actually with the framework-res.apk, you usually need to have no compression on the resources.arsc... copy that new resources.arsc somewhere next to the original apk, then add it to the archive in "store" mode - no compression with 7-zip.
Click to expand...
Click to collapse
How do I move it with winrar? I can't access anything besides the project lense recovery menu.
CM9onmyMoPho said:
How do I move it with winrar? I can't access anything besides the project lense recovery menu.
Click to expand...
Click to collapse
I meant on your computer.... how did you make the edits? framework-res.apk/res/values/bools.xml?
Well, you are probably going to have to restore a backup first. Unless you can make a flashable zip with a working version of the apk you edited, take out your sdcard and use a reader to access it on your comp - then flash that instead of an entire system restore.
alteredlikeness said:
I meant on your computer.... how did you make the edits? framework-res.apk/res/values/bools.xml?
Well, you are probably going to have to restore a backup first. Unless you can make a flashable zip with a working version of the apk you edited, take out your sdcard and use a reader to access it on your comp - then flash that instead of an entire system restore.
Click to expand...
Click to collapse
I made the edits with apktools on my computer, I sent the file on my phone to my computer, then the finished product from my computer back to my phone.
CM9onmyMoPho said:
I made the edits with apktools on my computer, I sent the file on my phone to my computer, then the finished product from my computer back to my phone.
Click to expand...
Click to collapse
Right. So you probably need to redo it. Is the original META-INF folder in your finished apk?
I would just decompile a fresh one..
Edit the bools only..
Compile..
Then move the new resources.arsc to the old apk in store mode..
Then use root explorer or a zip or adb.. but set proper permissions.
Sent from my phone's mind
So does that mean i have to do a reset on my phone again? Because I can't access root explorer right now.
CM9onmyMoPho said:
So does that mean i have to do a reset on my phone again? Because I can't access root explorer right now.
Click to expand...
Click to collapse
Are you still bootlooping? You need to go into recovery and restore, or flash a ROM again first..
Sent from my phone's mind
Not sure how well this would work, but worth a shot: https://play.google.com/store/apps/details?id=nl.fameit.rotate
Sent from my rooted Mayan Calendar

Categories

Resources