[MOD] Black Check Marks - Much easier to see! - AT&T, Rogers HTC One X, Telstra One XL

NOTE: I'm probably not going to make any new versions of this. There are simply too many rom versions. Instead, I have provided complete instructions in this post on how to do this yourself. Check the DIY section.
This is a modification of the framework-res.apk that turns the green check marks into black ones. The green ones don't have enough contrast and are very hard to see with the phone held at a normal distance from your eyes, or in bright sunlight. I made a point not to change the aesthetics of the existing icons. I just wanted to make them darker.
I tested the new icons in a variety of apps, and every app I tested that used the old icons now shows the new ones. Some apps like Gmail use square, holo-style check marks and aren't affected by this mod. The check marks in the HTC settings are also not affected. I'm not sure where those icons are stored, or else I would change them, too. Those ones can be changed by picking a different HTC skin. The "Matte" skin, in particular, makes those check marks dark blue.
I have created different versions for different Sense-based roms here on XDA.
CleanROM 4.5
CleanROM 4.2 LE/SE
I have not tested the versions for Sick Sense or Xi40 r119, however, there's not much that could go wrong with them. I extracted the framework-res.apk from those roms, stuffed in the new PNGs, added them to my flashable mod structure, zipped them up, and signed them. Please let me know if you try them out. Make a nandroid backup first, though!
If you are currently running a theme that already modifies framework-res.apk for your rom then this mod will eliminate those changes. This is meant to be applied over the default theme of the specific versions above. If your rom gets updated then this may or may not work with the new version. These best way to check this is to compare the MD5 hash of the unaltered framework-res.apk from one of the above rom versions to the unaltered framework-res.apk from whatever new version has come out. If the checksums are the same then the rom maker hasn't updated framework-res.apk and you can freely overwrite it again with the Black Check Marks Mod.
Screenshots
Here's a set of 25% resolution before and after screenshots. This sort of simulates difficult viewing conditions, and shows how hard it can be to see the green check marks, and how much easier it is to see the black ones.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here's a large screenshot from Windows showing the icons in detail:
I also edited the smaller "zzzhtc holo" version of the icons which are used by some apps. They aren't shown here, but are used by "reddit is fun" in the screenshot above.
Notes About Flashing
This is a flashable mod. I've only flashed it with TWRP 2.2.0, but it doesn't use Aroma or anything particularly unusual, so I don't see why you couldn't flash it with CWM. Obviously, you are flashing this at your own risk. Do a nandroid backup first!
Undo
If you want the ability to easily undo this mod, then just backup your current /system/framework/framework-res.apk. If you forget, you can always extract it again from the rom itself without having to reflash the whole rom. Or, just restore the nandroid backup you obviously made before applying this!
Source Graphics
I have included a zip file containing the source graphics. This will let you modify the icons further to make your own, or to add these icons to a different version of framework-res.apk. This includes the PSD files I created to make the icons. The PSD files use adjustment layers with masks. It would be quite easy to make versions that were some dark color instead of black by only changing the adjustment layers.. All the icons for a given size are in one file in layers. (Two PSD files total.)
DIY!
There are simply too many roms and rom versions for me to keep up with them all, so from now on, I'm not going to provide any new versions. I might provide versions for the ROMs I use, but starting with 2.23.707.2 the size of framework-res.apk is 18MB. Even when zipped it's still 12MB and too big to attach here on XDA. So, you can make your own mods from now on. It's super easy! There are a lot of steps here because I want to explain it in enough detail so everyone can do it. This whole process takes under two minutes once you know what you're doing.
Things you will need
A Windows PC.
7-Zip
Java (to sign the zip file at the end.)
The attached template file, "BlackCheckMarksMod_Custom.zip", which contains the source PNGs, the updater-script, and testsign.jar.
Step by step instructions
1. Extract framework-res.apk
You need a copy of framework-res.apk from your rom. Most of the time you can simply open the rom zip file in 7-Zip, navigate to /system/framework and drag the file from there to your desktop. Some rom makers use an Aroma installer with multiple versions of framework-res.apk and none of them are in /system/framework until after you install the rom. You can either find the right file somewhere inside the rom first, or wait until you install the rom then extract it from your phone. The second idea is the most foolproof. You just need a file explorer on your phone capable of navigating to your /system/framework folder, and you copy framework-res.apk from there to /sdcard. Then mount the SD card on your PC and copy the file to your desktop.
2. Copy framework-res.apk into the template
Download and unzip the template zip file, "BlackCheckMarksMod_Custom.zip". (When unzipping there is no need to unzip it into a containing folder because the root of the zip file only contains one folder.) This contains everything you need to make a flashable zip. Inside you will find the following structure:
(Directories in bold)
BlackCheckMarks_Custom
____BlackCheckMarksMod
________META-INF (contents not shown)
________system
____________framework
________sign.bat
________testsign.jar
____PNG files
________A bunch of check mark icons
Copy your framework-res.apk into BlackCheckMarks_Custom\BlackCheckMarksMod\system\framework. At this point, this is still the unaltered version from your rom.
3. Replace the stock check marks
There are two ways to open the APK with 7-Zip.
The easiest way to do it -- but hardest to demonstrate because of differences in versions of Windows and their various dialog boxes -- is to simply associate the .apk extension with 7-Zip. This involves using the Open With... command from the right-click menu on the APK file, or just double clicking it then selecting 7-Zip as the app to use for APK files.
The second way to do it is to launch the 7-Zip File Manager and then navigate to the APK. This is the process I will show here.
In your Start menu, locate and open 7-Zip File Manager.
When it opens, navigate to the folder where you placed the APK: BlackCheckMarks_Custom\BlackCheckMarksMod\system\framework
Alternatively, you can just paste in the path that you copy from the Explorer window.
It should now look something like this:
Now, double click on framework-res.apk. You will see a file listing from inside the APK.
Double click on the "res" folder and you should see more folders.
Double click on the "drawable-xhdpi" folder and stop there.
You should now see a bunch of icons. Now we need to copy our custom icons over the ones inside this folder.
In Windows Explorer, go back up to the root of the "BlackCheckMarks_Custom" folder and you should see a "PNG files" folder.
Open the "PNG files" folder.
Make sure you can see both the 7-Zip window and this Windows Explorer window.
In Windows, Press Ctrl-A to select all the files in the "PNG files" folder, or just select them all manually.
Drag and drop the PNG files into the 7-Zip window.
7-Zip will confirm that you want to add these files to the zip. (It doesn't always come to the front, so you may have to click on 7-Zip to see the prompt.)
Click "Yes" to confirm adding the files.
After a split second it should be complete and you can now close the 7-Zip window.
4. Make the mod zip file
You are ready to make the flashable zip file.
In Windows, navigate to the BlackCheckMarks_Custom\BlackCheckMarksMod folder.
Select just the META-INF folder and the system folder. (If you don't know, to select both you click on one then hold down Ctrl and click the other.)
When they are both selected, right click one of them and choose 7-Zip > Add to "BlackCheckMarksMod.zip" (See screenshot)
After a few seconds you should have a BlackCheckMarksMod.zip in the BlackCheckMarksMod folder. (See screenshot)
5. Make sure the batch file can find Java
You may or may not have the Java binary path in your PATH environment variable. If you don't know what this means, it doesn't matter. I will tell you how to find out, and what to do in either case.
How to find out if Java is in your PATH:
Press WindowsKey-R, or chose Start>Run... from the Start Menu.
Type in cmd and press enter. This will open a command line.
In the command window, type in java and press Enter.
You will see one of two things. See the screenshots below.
This output means Java IS in your PATH variable:
This output means Java is NOT in your PATH variable:
If Java is NOT in your path variable then you need to edit the batch file in step 6. Otherwise, proceed to Step 7.
6. Edit the batch file only if Java was not in your PATH in step 5
We need to edit the batch file so that it points directly at your copy of java.exe which is probably in your Program Files folder. (Or perhaps your Program Files (x86) folder if you are on a 64-bit machine.
The likely places to find java.exe are:
C:\Program Files (x86)\Java\jre1.6.0_22\bin\java.exe
C:\Program Files\Java\jre1.6.0_22\bin\java.exe
Perhaps you will have a slightly different version number, or maybe you installed Java in some other location. To modify the batch file:
Go to the BlackCheckMarks_Custom\BlackCheckMarksMod folder
Right click on Sign.bat and choose Edit. This should open the file in Notepad.
In Notepad, replace the first word, java, with the full path to your java.exe. It should look like one of the two paths above.
You must surround the whole path to java in double quotes! See the example of the whole batch file below:
Code:
"C:\Program Files (x86)\Java\jre1.6.0_22\bin\java.exe" -classpath testsign.jar testsign BlackCheckMarksMod.zip BlackCheckMarksMod-signed.zip
pause
Once you've edited the file, save it and close Notepad.
6. Sign the zip file
Now that you've made sure the batch file is OK, you just double-click it. This will run testsign.jar on the zip file you made. The command window that opens will pause to let you see any errors that occur. You will have to close it manually when it finishes.
If it worked, you won't see much:
If all went well you should now see BlackCheckMarksMod-signed.zip in your folder.
You are done! Stick this file on your phone, do a nandroid backup, then flash this zip and see if it works!
MD5s
CleanROM 4.2: 445d07b8112bce8a090d43940951ae9b
CleanROM 4.5: 993c96203d895d97c02e66a69ec39080

Thank you!
Sent from my HTC One X using Tapatalk 2
EDIT: Doesn't work on xi40, based off of Sense. Won't get past the boot screen. Oh well.

theking_13 said:
EDIT: Doesn't work on xi40, based off of Sense. Won't get past the boot screen. Oh well.
Click to expand...
Click to collapse
That's odd. I'll check it out tonight.
EDIT: The Xi40 framework-res.apk is quite a bit different from the one in CleanROM. I wonder if the CleanROM one is even the same as the stock one. I'll have to look inside a stock rom. For now, I'm going to label this mod as designed for CleanROM.
It's really easy to change the check marks yourself if you'd like. Making it a flashable zip is a bit more work, but that's not necessarily needed. You can just use the file manager in your recovery to push the modified file into the system folder.
Copy framework-res.apk from your rom's /system/framework to somewhere on your computer.
Download the zip file of icons from up above.
Open the APK in 7zip. Do not unzip it into a folder. Just open it in 7zip.
Navigate in 7zip to the folder within the APK: \res\drawable-xhdpi
Drag and drop the PNG checkmark icons from my icon pack into the drawable-xhdpi folder in 7zip. It will ask you to confirm adding them to the APK.
Close 7zip.
Now you just put this file on your /sdcard storage and reboot into your bootloader. Use the file manager to copy it into /system/framework. Perhaps you should backup the old file by renaming it to framework-res.apk.bak or something. It's easier to undo this change with that file than it is to restore a nandroid backup. Then you need to fix the permissions on the file. In TWRP's file manager there is a button to set permissions to 755 ("chmod 755") This will grant unneeded execute permissions, but that can be changed later in any root file explorer, like Root Explorer. It can probably even be left as-is with no harm. Ideally it should be 644, though. (rw-r--r--)
Alternatively, unzip my mod and replace the framework-res.apk that's inside of it with the one you just edited, and zip it back up. Then use the Android Signer to sign the new zip file. Note: the signer won't work unless you have the path to the java bin folder in your PATH environment variable. You also need .Net 2.0 installed.
Either method can be a little tricky. Personally, I find making the flashable zip to be easier. Especially since I already wrote the updater-script for it.

Good work on this! I've been thinking a lot about the check marks located in some of the system settings areas, and I'm thinking the respective pngs to change them are located within the framework-htc-res.apk in system/framework but I could be wrong.
Digging into a few of the xml files in original framework-res.apk yielded some hex color codes for certain ui elements as well. Could be that changing the right one of those may have the desired effect for the rest of the check marks. Just a few random leads to investigate.
I haven't had much time otherwise I'd look more into it. But thanks for taking the time to make this a flashable. :good:

theking_13 said:
EDIT: Doesn't work on xi40, based off of Sense. Won't get past the boot screen. Oh well.
Click to expand...
Click to collapse
I created a version for Xi40. If you would like to try it, let me know if it works.

QQNoob said:
I created a version for Xi40. If you would like to try it, let me know if it works.
Click to expand...
Click to collapse
No problem, will be more than happy to test.
Sent from my HTC One X using Tapatalk 2

theking_13 said:
No problem, will be more than happy to test.
Sent from my HTC One X using Tapatalk 2
Click to expand...
Click to collapse
+1
Sent from my HTC One X using xda premium

Thanks, guys. Let me know if it works.
I just upgraded to CleanROM 4.2 and had to make a new version of this mod for that.

You think the r119 mod will work on r122?
Eh, to hell with it. Backing up now and coming back with results.
Sent from my HTC One X using Tapatalk 2

theking_13 said:
You think the r119 mod will work on r122?
Eh, to hell with it. Backing up now and coming back with results.
Sent from my HTC One X using Tapatalk 2
Click to expand...
Click to collapse
You could always just unzip each mod and compare the MD5s of the two framework-res.apk. If they are the same, then you're good to go. If they're different, then it still might work, but the rom designer probably changed those resources for a reason. You'd lose whatever changes they made.
EDIT: Considering that Xi40 r122 doesn't even have a framework-res.apk, I'd assume that it won't work.

How do I check the MD5 sums?
EDIT: I'll try it in the morning, so tired and took forever to back up lol
Sent from my HTC One X using Tapatalk 2

theking_13 said:
How do I check the MD5 sums?
Click to expand...
Click to collapse
There's no point now. r122 doesn't even have a framework-res.apk, as I mentioned in my last post. If it did, you would simply open each ROM in 7zip or some other zip tool, and drag framework-res.apk out of the rom to somewhere handy. Then use a tool like http://www.winmd5.com/ to generate the MD5 hash for each copy of the file. If the values are the same, then it's the exact same file. If they are different, then something was changed in that APK for the new rom version. But there is no framework-res.apk in r122, so it's moot.

Damn, wish there was. I would love to try your mod, the green check marks are so deceiving sometimes.
Sent from my HTC One X using Tapatalk 2

I hope Jelly Bean fixes these check marks for us. I'd love to try this but I'm stock but rooted.
Sent from my HTC PG09410 using xda premium

theking_13 said:
Damn, wish there was. I would love to try your mod, the green check marks are so deceiving sometimes.
Click to expand...
Click to collapse
It turns out that there are no less than four versions of framework-res.apk in this rom. One for the three carriers of this phone, and one generic one. None of them match the MD5 of the r119 one. I assume this rom gives you a choice during install of what carrier branding you want. Which one are you using? I can make a flashable version of Back Check Marks for them all, anyway.
EDIT: Done and uploaded.

FYI: Tried ATT and Generic for r122. Neither worked for me.
Sent from my HTC One X using Tapatalk 2

phatboypat said:
FYI: Tried ATT and Generic for r122. Neither worked for me.
Click to expand...
Click to collapse
That's a pity. Guess I'll might have to flash it myself and take a look. Can you look in your /system/framework/ directory and tell me if framework-res.apk is in there?

QQNoob said:
That's a pity. Guess I'll might have to flash it myself and take a look. Can you look in your /system/framework/ directory and tell me if framework-res.apk is in there?
Click to expand...
Click to collapse
Yes, it is.
Sent from my HTC One X using Tapatalk 2

phatboypat said:
Yes, it is.
Click to expand...
Click to collapse
When you say it didn't work. Would it not boot, or were the check marks simply still green?

QQNoob said:
When you say it didn't work. Would it not boot, or were the check marks simply still green?
Click to expand...
Click to collapse
Check marks were still green.
Sent from my HTC One X using Tapatalk 2

Related

[How-To]Themeing your hero

well since there have been ALOT of threads asking how to theme a hero I figured I would go ahead and make a quick guide. I am sure that I will miss stuff so if anyone else sees what I miss let me know and I will add it to the post.
ok first things first there are a few programs that you are going to need. The first is some kind of archive program such as 7zip or winrar. I personaly use winrar but 7zip is free you can download it here.
http://www.7-zip.org/download.html
next you will need a image editing program the favorites are Photoshop and gimp. if you dont have photoshope already and dont want to buy it then download gimp. it just as good and once again its free. You can download gimp here.
http://www.gimp.org/downloads/
Now that you have those programs it is now time to start making your theme.
1. download the ROM of your choice that you want to use since not all files are the same across all ROM's
2. I have 2 folders on my desktop one named "theme apks" and one named "working apks"
3. Use 7zip to unzip the rom you downloaded.
4. in the newly unziped ROM find and open the "system" folder, you will see a list of several sub-directories. The two that we are mainly concerned with are "app" and "framework".
5. Open the "app" folder and move any of the apps that you want to change to the "theme apks" folder that you created earlier in a sub-directory named "app" then open the "framework" folder in the unziped Rom and find and move the "com.htc.resources.apk" and the "framework-res.apk" to your "theme apks" folder into a sub-directory name "framework".
6. now that you have your files seperated out into your "theme apks" folder choose an apk that you want to edit and use 7zip to unzip the .apk into the "working apks" folder you created.
7. now in your "working apks" folder you should have a folder named "res" in this folder there will several other folders. the main ones we need are "drawable", "drawable-mdip" in the 2.1 builds and "drawable", drawable 480x320" in the 1.5 builds" there maybe others depending on what you are trying to change.
8. open the proper drawable folder and find the image you want to edit and open it with your image editor (gimp, photoshop) and make your changes then save it using the same name into the "working apk" folder.
9. now that you have your images edited there are a few ways to add them to your apk the process described here is how I do it since I find it to be the easiest way. go back into your "theme apks" folder and find the apk that you edited. Use 7zip to open NOT unzip the apk. Inside 7zip open the "res" folder and then the proper "drawable" folder now pull up you "working apks" folder and select the edited images and drag them into the 7zip window. A dialog should pop up asking if you want to add and replace existing files and just choose yes. you can now close 7zip.
you have now themed your apk. just repeat steps 6-9 for the rest of the apks you want to theme. then just push the files back to your phone using ADB. I push them back after I am done editing each one before I clear my "working apks" folder so that I can make sure that it looks the way it should that way if I need to make changes then I dont have to go through all the steps again.
after you have created and tested your theme if you want to share it you will want to make an update zip. there are a few ways to do this. by far the easiest way is to use the fresh pre-kitchen to sign it. for this process you will need to follow these steps. download the pre-kitchen here
http://geekfor.me/android15/fresh-pre-kitchen-02/
1. if you followed the steps above then this will be a snap. just open your "theme apks" folder and create a folder named "system"
2. then select either the app folder or the "framework" folder or both depending on what you changed and move them into the "system" folder you just created.
3. now use 7zip to zip the system folder and name it whatever you like.
4. now open fresh pre-kitchen and go to the tools section and choose the sign a zip option. Follow all the prompts and you should have a signed update zip that anyone can flash.
a few side notes
the process above works great for regular images such as png, jpeg and the like now you will find that to change some things they will be in the dreaded ".9.png" format. these images need extra steps to edit them. that I am not going to go into in this guide but they can be found here
http://forum.xda-developers.com/showthread.php?p=5206698
also there is another method to making an update zip that I am not going to go into in this guide but all the tools and how to do it can be found in this thread here. in the first post 4th section.
http://htcpedia.com/forum/showthread.php?t=1404
if you are completely new to themeing I would suggest trying a 1.5 ROM first as they are a little more straight forward because in 2.1 they spread the images for some of the more popular mods over several different apk's.
I want to give a few quick thanks to the great devs here that give us these ROM's to work Flipz, Toast, Damage, Obalisk, Zenulator, and any that I missed thank you. Also to some of the people that have helped me out emensly in my quest to learn how to theme. Noj you have been such a help, Godzson, Chubbzlou and the others that have helped thank you as well.
I hope that this helps some people on their way to customizing their Heros.
if there is anything that someone sees that I missed let me know and I will add it to the post.
I din't see anything about the META-INF folder with update-script to make it flashable. I don't use Fresh kitchen so I'm not sure if it does it or not. I would visually include the layout of the folders before zipping.I might have missed something you typed.
/system/app/
/system/framework/
Looks right. But my name is chubbzlou.
chubbzlou said:
Looks right. But my name is chubbzlou.
Click to expand...
Click to collapse
sorry cubbz was trying to do it from memory but its fixed now.
Thanks for the how-to write up
No prob just busting chops. The how to looks good. Now we need a how to for the .9.png images.
wtphoto said:
sorry cubbz was trying to do it from memory but its fixed now.
Click to expand...
Click to collapse
I din't see anything about the META-INF folder with update-script to make it flashable. I don't use Fresh kitchen so I'm not sure if it does it or not. I would visually include the layout of the folders before zipping.I might have missed something you typed.
/system/app/
/system/framework/
Click to expand...
Click to collapse
I didn't add anything about META-INF because the pre kitchen adds it but that's why I added the link to the other way of signing it explains all that
@chubby that is also why I put the link to the other post I think its a pretty easy to understand guide for the .9.pngs
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
added to wiki
This is just what I have been looking for. Thanks for putting it together.

[MOD]Change "Sprint" on AOSP (No HexEdit/CDMA)(Scrolling Lockscreen Text)

I searched through EVO 4G Themes and Apps and did not find this method; however, I am posting it here in case it is a repost. I suppose a mod could move it later if users find it helpful and they felt inclined to do so.
So far the two main methods I've seen are done with CDMA workshop or hex editing .xml files. I didn't like either of these methods too much. CDMA workshop costs money unless you download it illegally, and even then it only works half the time. I do not care for hex editing very much either. Not to mention the fact that you have to use a text-hex converter and download a hex editor. Plus, whenever the framework changes in the rom (happens very often with CM) you have to do a lot of work with the .xml if you don't want your phone to bootloop into eternity. (Do not misconstrue what I am saying. The user who created the hex editing method for changing your lockscreen/notification bar text does great work and I used his method for a long time. The framework in CM changes so much though and I don't expect him to constantly update his method for one specific rom.)
I scoured several sites to find this method only to find out it has been posted on XDA. The only problem I saw was that the posts were within [Q] threads and therefore buried to the average user. This is my attempt to share this with the community. I don't take any credit for the actual method. Just trying to bring it up so we all have options.
This edit is very easy to complete. Try it at your own risk.
0. Make a Nandroid backup. Hopefully this is second nature by now.
1. Download eri.zip
2. Unzip the file to wherever you please.
3. Right click on eri.xml and choose "Open with Notepad"
4. Once you open the file you will see "Sprint" in the 5th line.
5. Delete Sprint and place whatever you would like in it's place. I believe you have up to 16 spaces to work with if need be.
6. Save the file with an .xml extension. Important: Make sure it is eri.xml and not eri.xml.txt. This will cause issues.
7. Place the eri.xml in your /androidsdk/tools directory.
8. Pull up your Command Promt/Terminal/Etc
9. CD to your /androidsdk/tools directory and:
Code:
adb remount
adb push eri.xml /data/eri.xml
adb reboot
10. Success. Hopefully.
I have heard that this method does not work for some. It worked for me earlier tonight and for another CM user that I shared it with. Hopefully this gives you an alternative to the other methods if they didn't work or if you aren't comfortable with them.
Let me know if I left anything out or if there are any issues.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
UPDATE:
Thank you lovethyEVO for bringing it to my attention. Looks like this will only work for CM roms (though I would imagine it would work on any AOSP rom) at this point in time. Just tested on a Sense based rom and saw no change. Sorry folks.
UPDATE 2:
After reading through a few posts, I figured it was only right to write up some instructions on how to complete the edit from the phone itself.
Apps needed: Root explorer is ideal but it costs money and it is not necessary if you don’t want to pay for it. So for this method, we will go the long way and use AndroZip and Terminal Emulator (Possibly DropBox as well, will explain later), all of which are free on the Market.
1. Download the file to your phone. Depending on your settings it will either be on the root of your SDCard or in a “download” folder. If in a folder, move it to the root of your card. Do this by opening Androzip, go to your download folder on your SD card, long press on the file, select “Move,” press the back button, and then press the “Move Here” button that has appeared in the top right.
2. Unzip the eri.zip file. Tap on eri.zip and select “Extract file here.”
3. Open the file. Tap on your newly unzipped eri.xml, tap “Open,” pick an app to edit the file (AndroZip has a built in text reader that won’t work because it does not have an Edit option. This is where DropBox can come in handy since it contains a Text Editor in case your rom does not have one built in.)
4. Find “Sprint” and change it to your desired text. Save the file before exiting. If you try to back out before saving it should prompt you to save.
5. Move the file to the appropriate location. Exit AndroZip and Open up Terminal Emulator. Type:
Code:
su
cd /sdcard
mv eri.xml /data/eri.xml
Alternately, use
Code:
cp
instead of
Code:
mv
if you want to keep a copy of your edit eri.xml on your sdcard. Will come in handy if you ever do a full wipe and a fresh install of CM.
6. Back out of Terminal Emulator and restart your phone.
7. Success?
Sorry for the wordy directions. Tried to make sure I covered all of my bases. Figured more directions were better than not enough. Let me know how this works. You can use other apps if you want. These just happened to be the ones I had on my phone at the time. Hope this helps those that don't like ADB or just want to complete the edit straight from the phone.
UPDATE 3:
To remove the edit completely you can use Root Explorer, navigate to /data, long press on eri.xml, and then select Delete. If you don't have Root Explorer, then open Terminal Emulator and type:
Code:
su
rm -r /data/eri.xml
Reboot after deleting the file and you will go back to Sprint.
UPDATE 4:
There doesn't really seem to be a limit on the character count with this modification. 24601 did a little bit of experimenting and found out that the text will actually scroll across the lockscreen if you complete the edit with a long enough phrase. The text doesn't scroll in the drop down notification menu and looks a little jumbled, but it is definitely a cool effect on the lockscreen. Nice find either way.
Thanks man finally a fast way to do it.....using a mac everything is different lol but just wanted to confirm that it worked for me
fantastic post...
gonna test it out later and complain to you about it.
This didn't work for me. The text change is definitely on the phone. I used root explorer to find and read the eri.xml file in the data folder and my change is there, but "Sprint" still shows up on my notification bar and lockscreen, not my newly revised text. Have rebooted a second time just to be sure. Dang, I knew this sounded too easy, lol.
I'm assuming this only works for cm since in most sense based roms (and I think aosp but I'm not sure) there aren't any xml files that are parsed from the data folder.
As far as needing a text-hex convertor, you don't need it with hxd or any decent hex editor. In hxd, on the right hand pane are the text equivalents of the hex values. Just replace the text in the right hand pane and the proper hex values will be automatically updated.
When replacing text in xml files it takes me all of about 5 to 7 seconds to find, replace, and save the text without using an externel text-hex convertor.
w84mike said:
This didn't work for me. The text change is definitely on the phone. I used root explorer to find and read the eri.xml file in the data folder and my change is there, but "Sprint" still shows up on my notification bar and lockscreen, not my newly revised text. Have rebooted a second time just to be sure. Dang, I knew this sounded too easy, lol.
Click to expand...
Click to collapse
I know some people have gotten it to work by doing the edit entirely from the phone. I have noticed that sometimes files only work or rather work best when pushed to the phone. You might try the ADB method and see if that helps. If not, I will investigate. Thanks for the feedback.
lovethyEVO said:
I'm assuming this only works for cm since in most sense based roms (and I think aosp but I'm not sure) there aren't any xml files that are parsed from the data folder.
As far as needing a text-hex convertor, you don't need it with hxd or any decent hex editor. In hxd, on the right hand pane are the text equivalents of the hex values. Just replace the text in the right hand pane and the proper hex values will be automatically updated.
When replacing text in xml files it takes me all of about 5 to 7 seconds to find, replace, and save the text without using an externel text-hex convertor.
Click to expand...
Click to collapse
Excellent. I encourage you to use the method that works best for you. This method is for those whole would rather not download an extra program or deal with hex editing at all.
I will check into the question about compatibility with Sense based roms. Off the top of my head I think it works, but I won't say for sure until I can prove it.
lovethyEVO said:
I'm assuming this only works for cm since in most sense based roms (and I think aosp but I'm not sure) there aren't any xml files that are parsed from the data folder.
As far as needing a text-hex convertor, you don't need it with hxd or any decent hex editor. In hxd, on the right hand pane are the text equivalents of the hex values. Just replace the text in the right hand pane and the proper hex values will be automatically updated.
When replacing text in xml files it takes me all of about 5 to 7 seconds to find, replace, and save the text without using an externel text-hex convertor.
Click to expand...
Click to collapse
i believe the purpose of karadorde sharing is that it doesn't require a hex editor; that it can be done in notepad. it's good that you can do it in 5-7 seconds, but there are always users who will feel uncomfortable with taking that route.
kudos on timing yourself though.
shift_ said:
i believe the purpose of karadorde sharing is that it doesn't require a hex editor; that it can be done in notepad. it's good that you can do it in 5-7 seconds, but there are always users who will feel uncomfortable with taking that route.
kudos on timing yourself though.
Click to expand...
Click to collapse
The hex edit method saves time everywhere else. Like I said, sense based roms don't parse xml files from the data folder that I know of.
In order to edit any xml file in sense you have to decompile the apk, make the edits, and then recompile the apk and hope it doesn't bootloop. That's longer than a couple of seconds to hexedit a file and reinsert it into the apk.
With this method, while it works for cm, almost all xml files in sense are binary and are not easily edited in notepad and won't be edited properly.
Kudos to the op for the method but unless the rom explicity allows parsing human readable xml files the hexedit method will still be a "go to" overall.
lovethyEVO said:
The hex edit method saves time everywhere else. Like I said, sense based roms don't parse xml files from the data folder that I know of.
In order to edit any xml file in sense you have to decompile the apk, make the edits, and then recompile the apk and hope it doesn't bootloop. That's longer than a couple of seconds to hexedit a file and reinsert it into the apk.
With this method, while it works for cm, almost all xml files in sense are binary and are not easily edited in notepad and won't be edited properly.
Kudos to the op for the method but unless the rom explicity allows parsing human readable xml files the hexedit method will still be a "go to" overall.
Click to expand...
Click to collapse
agreed. i use hxd myself, but for any cm users who want to customize, this is a pretty good method. regardless, i believe karadorde is testing it out on sense to provide a definitive answer.
shift_ said:
agreed. i use hxd myself, but for any cm users who want to customize, this is a pretty good method. regardless, i believe karadorde is testing it out on sense to provide a definitive answer.
Click to expand...
Click to collapse
Would be nice if it did work. Would be even better if the option to allow parsing of non-binary xml files could be integrated into a sense based rom.
lovethyEVO said:
Would be nice if it did work. Would be even better if the option to allow parsing of non-binary xml files could be integrated into a sense based rom.
Click to expand...
Click to collapse
heh that's sense for ya.
lovethyEVO said:
Would be nice if it did work. Would be even better if the option to allow parsing of non-binary xml files could be integrated into a sense based rom.
Click to expand...
Click to collapse
In time maybe we can use it to complete the edit in Sense based roms. For now it looks like CDMA Workshop or HxD is the best option for those lacking AOSP in their lives . Regardless, OP updated with the info.
Karadorde said:
9. CD to your /androidsdk/tools directory [/B]
Click to expand...
Click to collapse
I'm not that well versed using terminal commands. What does this part mean?
Sent from my PC36100 using XDA App
jcjr81 said:
I'm not that well versed using terminal commands. What does this part mean?
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
No problem. We have all been there and the cmd prompt can be a difficult place sometimes. First and foremost, do you have the Android SDK installed on your computer?
Sent from me to you via the interwebs.
Thanks for the help! I do have it installed on my PC.
Also, is there any way to do this right on the phone using terminal emulator?
Sent from my PC36100 using XDA App
jcjr81 said:
Thanks for the help! I do have it installed on my PC.
Also, is there any way to do this right on the phone using terminal emulator?
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
CD means change direction. So you are opening a command terminal and directing toward your tools folder. I installed my SDK right on my C: drive. So when I open open my command terminal I type cd C:\androidsdk\tools. It all comes down to where it is installed on your computer.
Also, you can do everything from the phone. Don't need to use terminal emulator at all from the phone. I will update the OP in a few with directions. Sorry, I am at work right now and trying to get you a quick response. Hope this helps a little bit. More instructions to come.
Sent from me to you via the interwebs.
Karadorde said:
CD means change direction.
Click to expand...
Click to collapse
Not to be a jerk, but cd is change directory, not direction. I don't get to contribute much when it comes to the phones, so thats the best kind of help I can offer here
Karadorde said:
I know some people have gotten it to work by doing the edit entirely from the phone. I have noticed that sometimes files only work or rather work best when pushed to the phone. You might try the ADB method and see if that helps. If not, I will investigate. Thanks for the feedback.
I did use adb to push it to the phone. I didn't edit it on the phone, just opened the file and looked at it to make sure my change was there, which it was. I am using Myn's RLS4, so sense based. Maybe that is the problem.
Click to expand...
Click to collapse
I would also really love a method that could be done from the phone only. I'm doing this for a friend and there usb is messed up so can't use adb to push files from the computer. Thanks for this.
Sent from my PC36100 using XDA App
w84mike said:
Karadorde said:
I know some people have gotten it to work by doing the edit entirely from the phone. I have noticed that sometimes files only work or rather work best when pushed to the phone. You might try the ADB method and see if that helps. If not, I will investigate. Thanks for the feedback.
I did use adb to push it to the phone. I didn't edit it on the phone, just opened the file and looked at it to make sure my change was there, which it was. I am using Myn's RLS4, so sense based. Maybe that is the problem.
Click to expand...
Click to collapse
Sorry about that sir. I should have tested before hand to verify compatibility. Forgive the confusion.
Sent from me to you via the interwebs.
Click to expand...
Click to collapse

[How To] Basic Themeing

This is a very basic guide to beginning themeing. It is not meant to be all-inclusive, just some simple steps that can be taken to make your own custom theme fairly easily. This guide should allow anyone to be able to grab images they like from any ROM and incorporate them into their own.
I SUGGEST YOU ALWAYS MAKE A BACKUP OF ANY FILE BEFORE YOU THEME IT AND NANDROID FIRST BEFORE FLASHING
Here is a basic overview of changing images in an apk:
1. Get your base file to theme – framework-res.apk, com.htc.resources.apk, phone.apk ect.
2. “Open” apk archive with 7-zip (don’t unzip!) and drag and drop the new images into the appropriate folder.
3. Flash new file.
Now some details:
1. The first step is to obtain the file you are going to theme. The file you are themeing ( i.e. going to flash to your phone) must come from the ROM you are currently running. Always use files from your current ROM as a base, however the images you want to change can come from other ROMs, or you can edit existing ones or make your own from scratch. You can obtain your theme base through an ADB pull of the files from your phone, or simply downloading the ROM zip file and extracting the files you need.
2. Now that you have the file to theme, don’t touch it! OK, more specifically, you won’t unzip or do anything to this file except “open” it with 7-zip (unless this is a market app, but more on that later). You are going to drag and drop the new icons into this file by “opening” it and navigating to the appropriate folder. The images you want to change are stored in the apk under /res/drawable-hdpi. Once you have your new icons from other sources, open your base file and navigate to this folder and drop them in.
3. Now you can flash this new file. I have provided empty zip files that you can place your themed files into and flash in recovery. Place your framework-res.apk and/or com.htc.resources.apk into the /system/framework folder located in the zip file provided. Now highlight the META-INF and system folders and zip them up. You can now place this file on the root of your SD card and flash. System apps can be placed under /system/app in the zip file.
Some more info on common themeable files:
Framework-res.apk – this is the meat and potatoes of a theme. On an AOSP ROM it will contain almost everything you want to theme aside from individual apps themselves. Sense ROMs have another file com.htc.resources.apk, as well as framework-res.apk. Both of these files are located in a ROM under /system/framework.
System apps: These apps come packaged in a ROM under /system/apps. They can be themed in the same manner as a framework apk. Some of these apps include Gmail, browser, camera, ect. Place them in your flashable zip under the folder /system/app.
Market apps: These apps are downloaded from the market and are can be pulled from your phone from /data/app. These files require a bit more to theme. They don’t share the same signature as the system apps and you must resign them using a program such as apkmanger. Place them in your flashable zip under /data/app.
If there are any errors, or if anyone has suggestions please let me know. I may have over looked some details, ect.
Thanks to everyone on XDA who has shared their knowledge and made this a great community!
Thanks that will be helpful
Sent from my PC36100 using XDA App
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
xlGmanlx said:
so using this guide we can pull parts and what not from other elements of themes we like and create our own framework to push back? Also, based on what you have, shouldn't it be easy to put this up on bid for hire (?) website to create a program to automate that?
Click to expand...
Click to collapse
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
its a website where you can load your requirements and folks can bid to do your work
linky
nukedukem said:
Yes the idea of this guide was to help people pick and choose icons they like in other ROMs and add it to their own. I'm not sure what bid for hire is?
Click to expand...
Click to collapse
xlGmanlx said:
its a website where you can load your requirements and folks can bid to do your work
linky
Click to expand...
Click to collapse
Interesting. Didn't know anything like this existed.
Sent from my EVO (CM6.1) using XDA App
Thank you, thank you!!!! I've been looking for something like this for a while.
evolishesh said:
Thank you, thank you!!!! I've been looking for something like this for a while.
Click to expand...
Click to collapse
No prob. Let me know if it works for you.
I couldn't get the auto signing to work, but the manual way of doing it worked.
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
JasonK75 said:
Hmm, I got a boot loop on first try and doing this. Does that mean something went wrong with the signing, or that what I created for the theme was wrong? I used the empty .zip folder and re-zipped it, so I don't think that is the issue.
Click to expand...
Click to collapse
The signing should be ok. If you are using Amon_ra recovery it wont let you flash an unsigned zip I believe. Are you on sense or AOSP? Are you editing images or just copying from other ROMs?
What you might want to do is just create a simple test file. Change just one image and then flash that. That should let you know that your process is correct.
I using Amon Ra and using AOSP. I was moving some items out of a sense ROM so I guess that is where I might have went wrong. I think I'll take your advice and move just a single image and see how that works for me. Thanks!
I tried again this time I ended up stuck at the EVO white screen. I'm guessing it doesn't like the sense part I'm trying to throw in there. I'll have to try again with a AOSP theme instead.
Sent from my EVO (CM6.1.1) using XDA App
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
spence341 said:
How important is it to re-sign? I have modified the Framework and Resources apks with 7zip by switching images out. I have also modified the Rosie.apk. I put everything back where it was supposed to go, backed out of 7-zip and flashed. I have never had an issue with it, nor have I re-signed it. Just wondering.
Click to expand...
Click to collapse
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
I think that
1.7.0.2 = yes
1.8 = no
nukedukem said:
AFAIK if you are on clockwork recovery, I don't think it checks for signatures. I think Amon_ra requires a signed file to flash. I think it's just added protection against flashing any old junk. If you can flash in amon_ra without a signature and you don't have problems then I wouldn't worry about it. It's the signature of the framework-res.apk ( or com.htc.resources.apk) that's important. That's why you don't unzip it.
Click to expand...
Click to collapse
nukedukem said:
A couple things to look out for when swapping sense/CM icons - some file names are slightly different between sense and AOSP. Rename any sense icons to their AOSP counterparts and vice versa. Also, double check the image size of the icon is the same in both, i.e. 70x70 pixels, ect. and make sure you are not adding images that don't exist normally in the framework. For example there wont be any 4G icons in CM framework.
Also, make sure you aren't unzipping the new framework-res.apk you want to theme and flash, or trying to resign it. Only sign the flashable zip, not the individual files inside. The only thing you want to do with the framework-res.apk you will package and flash is open (not unzip) with 7-zip and navigate to the res/drawable-hdpi folder so you can drag and drop the new icons into it, overwriting the old.
I hope that helps!
Click to expand...
Click to collapse
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
nukedukem said:
No prob. Let me know if it works for you.
Click to expand...
Click to collapse
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
xlGmanlx said:
I think that
1.7.0.2 = yes
1.8 = no
Click to expand...
Click to collapse
So the new amon_ra doesn't require a signed file to flash? I'll make a note off that. Thanks.
JasonK75 said:
Thanks, any advice does help.
I did make sure the the icons I was swapping out were named the same thing in the CM ROM, but I didn't check the size of it at all.
I didn't unzip the famework-res.apk but instead just went into it with 7-Zip and dragged the icons into that. Then I backed out of 7-Zip so that it would save and close everything properly - know that does work because that is how I add the Fold transistions to the ROM - and then I put the famework-res.apk into the folder and zip it up per your instructions above. Then I manually sign it (still haven't been able to get the auto-signing to work) and then flash.
I'll have to try again moving a CM theme to the CM framework-res.apk and see if it is working. What I was attempting to do was take, from the Batman Theme for sense, the drop down notification shade with the Bat Icon and put it into the CM ROM. I don't know if you have time to try it yourself to see if it works, or if you get the same issues that I had.
Either way, thanks for the help! I know I'll get this theming down at some point!
Click to expand...
Click to collapse
OK I'll try and do what you are trying to do and see if it works...
evolishesh said:
Hey buddy.
I’m stuck. I had to download and install Eclipse with the sdk plus java. I don’t know where to go from there. Every time I open the rom that I want to theme and get the framework.apk and edit the PNG’s , how do I go about saving them? Do I just used the same name as the old ones or I have to save them with a new name.
Or pm Me.
Click to expand...
Click to collapse
So now you have an unzipped framewor-res.apk with a bunch of images. This framework should be the one that you want to take icons from. If not, start over with the ROM you want to copy images from. You will want to copy the images you want to put into another ROM so that you can dump them into the new framework-res.apk. After you figure out what icons you want to bring to your new framework, get a clean version of framework/com.htc from the ROM you are actually running - i.e. if you are running myn ROM on your phone, download the myn ROM and pull out the framework-res.apk or com.resources.apk that you are going to theme.
Now with this fresh clean framework you will "open" it with 7-zip to navigate to the /res/drawable-hdpi folder so you can now drag and drop the images you want to copy over into it. Then the close the 7zip window and your framework-res.apk is all set to flash. You don't need to rename if the file names are the same, you can just drag and drop and the files will be overwritten in the new framework.

[GUIDE] Newbie's How To: Port Theme's

How To Port Theme's
(Using Apktool, and Theme Porter)
Since there are some people out there willing to learn but not exactly able to with all of the convoluted information on the forums, I decided I'd start putting together a guide similar to other's to aid those trying to learn. Stay tuned as this is under construction!
All credit is due to original creators of the product's used in this process, without them there wouldn't be a reason for this guide . Please be respectful of other's work, sometimes it's best to ask before attempting (if it is an original product) but at very least give credit and a link back.
What is porting?
Porting very basically is taking .png files and XML changes from one theme (typically created for a different model, but using the same resolution) and copying them into deodexed stock rom's such as EC10/EE19 Pick and Pack so that they can be flashed onto our phones and used with our framework and/or updated framework.
Sounds really easy, doesn't it? At first it will be cumbersome and frustrating, but after you've used the processes enough you will be able to snap these out in 30 minutes or less! The problem lies in the way these files are packaged, they are mainly just a .zip file that isn't compressed, however there is another layer to an .apk that you can only see once you've learned how to use tools such as apktool/apkmanager. The other tool we will use to aid us in this painstaking process is an application called Theme Porter, which essentially is a script that has been written that will do all of the legwork for us. Let's get started!
What will I need?
Apktool I currently use an older version of the program, you can download here, this one I know works for sure - last I heard the other has issues.
ThemePorter
7zip (Win rar could be used instead)
Notepad++ (Or equivalent code editing software) which will be used to make the xml changes. If you're not familiar with using something such as this, you may want to take time to research before attempting to port.
How to set up;
Begin by getting ThemePorter setup, you just need to unzip the download and that will be "theme porter" It is basically just made up of a few folders, and has a batch script that you will use to initiate the process. I just place mine on the desktop for easy access.
Secondly, get apktool downloaded and unzipped. place the apt folder somewhere where you can easily navigate to it through a command prompt. C: might be a good place if you want to save yourself some keystrokes.
Next just make sure you have notepad++ or another editor installed for use later.
Lastly, get 7zip installed so that you're able to open .apk and .zip files without actually extracting the files.
Where do I get my source files?
You can use any framework from any rom that can be decompiled correctly with apktool. This means when you decompile it, there are no errors and it generates a folder with the same name. Download the rom of your choice and save it (still zipped) somewhere on your desktop, and make an extra copy in case you mess up and overwrite the wrong files. You will ALWAYS use these in the NEW folder within theme porter, but we will get to that.
As for the theme you're trying to port, I usually use fascinate theme's, because it is basically a direct copy of our phone (Note: As of 2.2 they now have a Data on/off icon in their status pull down, where we have Silence, so this will often need to be taken care of separate from this process.) I've also recently started using Vibrant theme's, as these are also very similar - but there are tweaks with these too and I will try to cover them in the guide at some point. You may find others that will work too, at this point this is all I've had time to mess with. Either way, download the .ZIP file and also place it somewhere easy to access.
This is where it get's sort of difficult.
Stock ROM's have some differences to theme's that theme porter cannot handle for you. These are basically MOD's that may exist in the theme ROM and/or XML changes that have been made to alter text color's to accommodate the theme (black to white, white to black, etc.) These changes WILL NOT be ported over using theme porter and unfortunately also cannot be made AFTER using theme porter, so there is a certain process to go about this.
Now enter's apktool. Apktool is a script brut.all very kindly wrote to assist android developers in decompiling/recompiling .apk files without losing structure that normal compression software breaks. Basically there are two reasons you will need to take this step.
When;
Editing Text Color- When choosing a theme to port you will need to pay attention to the screenshots the original poster has posted, as these will clue you in whether or not this needs to happen.
The Pick and Pack rom is essentially still stock, as far as XML goes - so the text on menu's for example, will be Black text on a white background. If the theme you chose has something different, you will need to take this step so that the text is legible in the final theme.
Adding accurate battery MOD- Also when choosing a theme you will need to take a look at the framework-res.apk file to determine if the themer has added the accurate battery mod. Essentially all this means is the XML and image's have been edited to show you each percentage of battery life vs. the stock one that only shows odd increments of 10/15/20.
Open framework-res.apk with 7zip
Navigate to res/drawable-hdpi (this also may be drawable-hdpi-v4 depending on your theme, I haven't quite figured out why this is)
Scroll down until you see the status_battery icons near the bottom - if there are not images for every percentage - then no mod exist's and you can skip using apktool for this step.
How;
For either change you will follow this process to decompile To gain access to the XML/PNG files that contain these text values, we will need to decompile the framework-res.apk file from the rom.
Copy framework-res.apk from the rom and place in the APT folder created earlier.
Rename this to something shorter such as "FW.apk" for easier command lines
Start a command prompt (in windows 7 type "cmd" in the search bar within start menu)
Navigate to the APT folder, For example;
Code:
CD c:\Users\brandon\Desktop\apt
Type
Code:
apktool d FW.apk
This will decompile the .apk into a folder called FW within the APT folder, allowing you access to the files. I will cover the actual changes in a later post.
At this point you have the files in a folder and they can be edited how you see fit (should you choose to just edit the stock ones vs. actually porting already changed ones).
You'll notice when examining the folder that there are quite a bit more files. Also, you will be introduced to the .9.png file type, which essentially is just a .png file that has some black lines embedded in the file to instruct android how to resize and reuse the image within the framework.
Any edits made to these files must be made carefully, as to not alter the integrity of these black lines. When the file is recompiled, the lines will disappear but will be included (if you tried doing this without decompiling - your photo editor would nix these lines and android wouldn't know how to size them)
If all your edits were complete, you would then recompile the file through apktool. (I will continue with the theme porting guide in the next step, this is just a good reference point for these steps.)
Type this into the command prompt
Code:
apktool b FW framework-res.apk
This would then create the framework-res.apk file in the APT folder, however there is an important step here. During this process the META folder is lost, and the AndroidManifest file is corrupted.
Delete the AndroidManifest.xml file from the new framework-res.apk
Copy the META-INF folder and the AndroidManfiest.xml file from the ORIGINAL framework-res.apk (now named FW.apk in this example) and place it in the new framework-res.apk using 7zip (do not extract the file, open the archive with 7zip.)
At this point, your framework could be ready for replacing in your theme.zip (will be covered later) with the edit's you've made Or if you're learning how to port theme's, continue reading.
Guide Part 2....
Preparing for Theme Porter
Okay now that we have some of the side process out of the way, let's get back to the guide.
Determine if you need to make any XML edit's for battery or text color changes and perform them per the processes detailed below. If you do not need to make them, you may skip this step completely and move on to using theme porter.
Correcting Accurate Battery Mod Animations-
Follow this guide to make the changes to the framework to use the new charging animation images and will allow you to then use theme porter to swap the .png files
Decompile the framework-res.apk from the ROM download (I usually just rename this to EE19.apk or whatever the rom is i'm working with)
Decompile the framework-res.apk (I first rename the framework-res.apk file to NEW.apk (or whatever you wish) Note: It will typcially give you errors (unless it's theme'd correctly) but you're just after some code from a few .xml files so don't worry.
In the NEW folder Navigate to
Code:
\res\drawable-hdpi\
or
\res\drawable-hdpi-v4\
Copy all of the battery charging .png's and drag them to a folder on your desktop. Then open the EE19 folder within APT (the one you decompiled from the rom you're working from) Drag those images into the /res/drawable-hdpi-v4 directory replacing any existing ones.
open the following file in notepad++
Code:
\apt\NEW\res\drawable\stat_sys_battery_charge.xml
Also open the same file within the EE19 decompiled folder
In the THEME xml file select all and copy
In the EE19 xml file, paste this replacing the text. Then save it overwriting the original.
At this point, the battery mod is done and the new .png files exist so that theme porter can do it's work (And the xml is there to make it works when it get's to your phone). If you don't have any text edits to make, you can recompile the apk (as stated in steps in first post) and move on to steps below (skipping the section on changing text).
Changing text colors-
If you have determined that the text in the theme is different from the rom framework (I.E. Text on notifications, menu's, etc.) then you will follow these steps to locate where these changes need to be made.
If you haven't already, decompile the framework-res.apk from the Rom.
Next, determine what text color edit's you need to make and then use this wonderful reference to determine which actual files those edit's correspond to.
Locate the file you need to edit in the decompiled folder, and open it with 7zip.
Typically removing the "inverse" reference on the color line will change it from black to white, or white to black and is the easiest/best way to alter colors in a ROM. (For a quick note, searching for "menu" in the styles.xml files located in /values/ will give you the items you need to change, watch for _bright references for the dividers, change those to _dark instead.
Once you are done making these edits, recompile the folder as stated in first post. And move on to using theme porter.
Using Theme Porter-PAY CLOSE ATTENTION HERE.
Now that you have the appropriate prep-work done, the easy part finally comes. (Hopefully)
Copy and paste the applications & framework-res.apk twframework-res.apk files from the THEME.zip into the appropriate folders within the OLD folder in theme porter.
Now copy and paste the same files that you copied from the theme.zip, now from the rom (EE19 for example) to the NEW folder in theme porter.
Once all files are in appropriate folders, run the Script.bat file in theme porter. Use a selection of "1" and press enter.
Theme porter will now copy all of the .png files from one .apk to the other (where the folder names are an exact match)
NOTE:At this step, you may have issues where the images aren't brought over (This typically only effects the framework files and just depends on how the file was generated/edited). This can be detrmined by opening the .apk in 7zip and pulling out the res folder, where you can view the files (you will see if it's been changed or not) If it hasn't, you will need to make sure the folder within the Themed .apk's are the exact same as the ROM you're themeing and re-run the theme porter script. (meaning you need to add or remove the -v4 ending depending on where the previous themer placed the themed files)
If you're lucky, everything is done at this point and you can move on to packaging a flashable update.zip.
Packaging A Flashable Update.Zip
A flashable package is simply a .zip file (stored as "store" in 7zip, no compression) that is made up of META-INF and System folders. The META-INF folder is very important as there is a big difference between using one from a ROM (pick and pick) and a theme (NeonGT) You will need to download a theme and pull the META-INF folder out so that you can use it in your theme ports. This is to ensure you have the correct script (edify or ammend) typically now we're using edify so use one from one of the H57 theme's via baked_tator The system folder should contain two folders "framework" and "app" each of which will hold the respective .apk files you have been working with. (but could also contain a "Media" folder for changing bootanimation.zip files, basically any files within the folder structure you create (matches the system structure) will be replaced when flashed. So be careful not to include things I haven't listed here unless you know what you're doing. And be sure to test these things before even thinking about a release.
Create the following folder that can be re-used with any new theme port, it's the easiest way to keep things organized and not lose track of files.
Create a new folder on your desktop called New Theme
Within that folder paste in the META-INF folder from another EE19 theme.
Create a new folder called "system"
Open system and create two new folders "app" and "framework" (and "media" if you are including the bootanimation.zip from the theme (which typically will work on our phone)
Place approprate files from the NEW folder within theme porter into these folders, respectively
Back up so that you see the META-INF folder and System folder, select those two, right-click and select "add to archive" in the 7zip menu.
Name the file "EE19 ThemeName VX.zip" and select "Store" for the method
Drag this to your desktop and this will be what you will place on your SD card for flashing.
Test the theme thoroughly to make sure everything ported over and everything still works (make sure to test USB, even color XML edits can cause odd issues) and get help from others to make sure the bugs are out.
If you run into issues, check the next post for possible resolutions.
BE SURE TO CREDIT THE PROPER CREATORS!!! I can't express this enough, I have a format for the way I do release posts, feel free to copy it if you'd like but either way make sure you make it known that it's not your work!
FAQ / Common Issues / Other Resources
Common Issues:
Images do not transfer to new framework.apk files.
(typically the applications all have the same folder names, so no problems occur here.)
As stated in the guide, all folders within each res folder within each .apk file used in theme porter must have exact matching folders/files for the .png to actually transfer. If it's been edited with apktool, it typically has the -v4 extension.
Troubleshoot your issue by opening the resulting .apk file in 7zip and comparing to the downloaded theme file in 7zip. You may have to pull the res folders out and look that way to actually see which images didn't transfer.
First thing to check is the folder names within the res folder, if the rom folder's names are "drawable-hdpi" and "drawable-land-hdpi" and the theme has "drawable-hdp-v4" then you need to remove the -v4 from those folders and run theme porter again.
NOTE: I've also run into situations where both folder's existed in the .apk file, meaning both drawable-hdpi and drawable-hdpi-v4 folders were there, but only one actually had the themed .pngs. In this case it was the drawable-hdpi folder that had the themed ones, but I needed it to be -v4, so I deleted the existing -v4 folders and renamed the others to -v4 - this also slimmed the rom because you really don't need the extra folders/files (nor wan't them!)
Some times icons don't exist on other phones, or they are completely different icons. I.E. with 2.2 fascinate theme's the Silence icon does not exist and therefore would need to be pulled from another theme or created to be fixed. This can be done with 7zip, no need to decompile the file if you're just swapping .png files (in the final framework-res.apk .
[*]Problems after testing theme.
This has happened to me on all sorts of levels;
Problems Restoring - Sometimes after testing theme's you'll go to restore and things will not be right when you boot, FC's and whatnot. Best case scenario you can restore to a vanilla restore (meaning your rom + any app's you wanted, but no theme's) or just flash your rom to fix.
Problems with icon's not being correct on a restore or a flash.
Same as above, sometimes things just go awry when you're flashing theme on top of theme, so i'ts best to start from the rom. Make a restore point with your rom + all your apps, then you can always go back to it and flash your day to day theme - this will give you the least trouble.
Phone stuck in airplane mode, setting is disabled.
I had this happen to me randomly once, no idea why but if you do run into this the only thing that fixed it for me was an odin back to a full build. No restore or flash would fix it. Typically your problem should be solved with a fresh flash of your rom, but sometimes going to a full build with odin is the only way.
FAQ:
Post them and we'll get them answered and edited in here. So far I've tried to cover everything I knew of in the guide .
Reserved
Reserved
Reserved
Other Resourcs:
Great guide by nitsuj17 on how to theme
Hex Colors
Free Photoshop Alternative
XML Color Edit Guide - in case you missed it above - credits to KBanause
wow, you rock bde. thanks for your time and help with this, I will be following it to help you guys out with stuff more.
Sent from my SCH-I500 using Tapatalk
sageDieu said:
wow, you rock bde. thanks for your time and help with this, I will be following it to help you guys out with stuff more.
Sent from my SCH-I500 using Tapatalk
Click to expand...
Click to collapse
Great, and thanks, I'm glad to share what I've learned with the community
Great write up,ive read through it several times. Just wish I hadn't traded my desktop for tattoo work this weekend. ..
Sent from my SCH-I500 using Tapatalk
man you write some good tutorials...
Very thorough and still easy to understand, Great work!!
Very nice! Just fixed the white on white text in my super light port. Big Thanks!
Great write up!
So, I tried using apktool to decompile the framwork-res.apk and it worked fine, recompiled it and everything was good, are these the same steps I would use for other APK's such as in the apps folder (i.e. Settings.apk) because I cannot get them to work I keep getting brut.androlib errors
bwot75 said:
So, I tried using apktool to decompile the framwork-res.apk and it worked fine, recompiled it and everything was good, are these the same steps I would use for other APK's such as in the apps folder (i.e. Settings.apk) because I cannot get them to work I keep getting brut.androlib errors
Click to expand...
Click to collapse
Usually if you get errors in compiling there have been things added or removed after compiling, this is sometimes caused by using theme porter for example.
Apktool works on any apk, but i'ts fussy about what's there before it recompiles. Try decompiling and recompiling with no changes, if it doesn't work then it won't work on that .apk (to my knowledge). You basically will always need to start with one of the deodexed apks from phidelt's pick and pack, then add changes while i'ts decompiled, then run theme porter after it's recompiled if needed.
And glad you all appreciate it
I vote sticky on this how-to...very good write up and it makes my life easier!!!
Definitely sticky
Sent from my SCH-I500 using XDA App
Thanks for the good reading bde. great tutorial.
Hey thanks, glad to share the wealth
Sent from my SCH-I500 using XDA Premium App
I followed this guide and made XML editing for Framework-res.apk to change font colour in the Menu using Notepad++, but after xml edit, cant build the framework.apk, it says sources have changed and does not build the apk. Am using apktool for this. Any suggestions how to go about it. Or somebody can guide, how can I change the menu background so that Menu texts are visible?
trip007in said:
I followed this guide and made XML editing for Framework-res.apk to change font colour in the Menu using Notepad++, but after xml edit, cant build the framework.apk, it says sources have changed and does not build the apk. Am using apktool for this. Any suggestions how to go about it. Or somebody can guide, how can I change the menu background so that Menu texts are visible?
Click to expand...
Click to collapse
As stated in an above post, try decompiling the framework-res.apk you are working with - without any edits and see if it will recompile with no error. If it doesn't then re-read my guide
Ok thanks will check it.
Never mind, I figured it out.
Sent from my SCH-I500 using XDA App
I did some major fixin' on the OP, hope it's more clear!

[Q] I want to make a theme...

But I don't exactly know how to get there.
I'm runing Wolfbreak's CM ROM V055, afraid to go to V06 because it might break my kernel install(still getting info on just what to do)
What I'm wanting is:
The status/pulldown bars(all icons except Wifi, and I want to keep Cyanogen 6's default slidey bar[the thing that ends up at the bottom]), and the animations from the theme used in SEMPITERNAL's Eternity 2 Build 0003a ROM. That will have to be ported to FroYo, I'm afraid(unless my theory at the bottom of this post will work).
I want the menu from LUCID-X10 by SicNside, with the black BG and white elements, but the png forthat i guess I'll have to negative a white hdpi one.
That's about it, the rest i want from arc theme which is default on my current ROM, including tickboxes, those arrows inside circles, the menu icons, etc.
My theory to sort of make this is to get the two involved APK's(default in CM and default in Eternity) onto my computer, and make them ZIP's. Then i can extract the drawable-hdpi folders from each and paste what I want from Eternity into Arc. Then I can replace the drawable-hdpi folder in the Arc framework file, and zip it at store.
That's where I stop knowing what I'm doing. Searching has not found me a guide on just how to make a framework-res.apk, nor even really making a theme altogether. All i can find is about xml files, resources, never anything about actually making the apk correctly.
Help, please?
I am stuck at the same point as you, I have no idea where to go from here :S
Anyone? I'm sure the two of us aren't the only ones...
Here's a zip of what I want. All I did was:
Took the framework-res.apk from the ETERNITY Rom and from the CM ROM, and pasted the png's i wanted from Eternity into drawable-hdpi-v4 in CM framework. Now, can someone make this work, please?
Its quite easy.
Just select the images you want to change.
Then open the framework-res.apk of your ROM with winrar or 7zip your choice.
Without extracting the files drag and drop the files to the winrar window in the right place. If you want to change images in drawable-hdpi migrate to res/drawable-hdpi and drag and drop images there.
Now close the archive and type this:
Code:
adb push <path to modified framework> /sdcard/framework-res.apk
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb shell dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk
Make sure you take a backup with xrecovery before doing this. If you do something wrong you may end up in a bootloop. In that case just restore from backup and try again!
realunited123 said:
Its quite easy.
Just select the images you want to change.
Then open the framework-res.apk of your ROM with winrar or 7zip your choice.
Without extracting the files drag and drop the files to the winrar window in the right place. If you want to change images in drawable-hdpi migrate to res/drawable-hdpi and drag and drop images there.
Now close the archive and type this:
Code:
adb push <path to modified framework> /sdcard/framework-res.apk
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb shell dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk
Make sure you take a backup with xrecovery before doing this. If you do something wrong you may end up in a bootloop. In that case just restore from backup and try again!
Click to expand...
Click to collapse
Grr, sorry but right now all my failure is just making that less clear. Type that where? Drag the files to the winrar/7zip window? Isn't that where i dont want them?
Ive followed all the different sets of instructions including yours on this forum as closely as i can make sense of them and always end up with a stream of FC's and reboot loops.
EDIT: does it only work on the stock kernel? I'm running Trip's kernel. I just pulled the framework apk then pushed that same apk back and it's still doing it.
EDIT 2: ok no stock kernel and its still doing it WHY THE HELL IS IT DOING THIS?!?!? I FLASHED THE SAME DAMN STOCK FRAMEWORK!
ok if i got the modded framework apk to my sdcard and used root explorer to paste it in, should that work? This laptop might be what's causing it
I have posted few tips here n there when ever people ask about it.
Check this for overall requirements
For your requirement, skip the optimization part out and just do image swap.
Like realunited123 said, dont extract, just open from 7zip, I use Win RAR and drag and drop the new image to the correct folder.
You need to remember few things here, check images name matches against old to new. Other important thing is resolution. you might get in to trouble if you take mpdi and put it to hdpi.
after updating the framwork I made a small template for you guys to play with.
Download attaches zip file open and go to
Framewrok-SJ.zip\system\framework folder and drag and drop the modified framework-res.apk
Dont try to install the attached file. its only a template for you guys to start working on....
After drag and drop you will see zip file size increased.
Simply copy to SD card and install via Xrecovery
You can try any framework to install like this without adb stuff
Remember to make a backup... because you will definitely screwup... we all have...... LOL
Realorasz said:
ok if i got the modded framework apk to my sdcard and used root explorer to paste it in, should that work? This laptop might be what's causing it
Click to expand...
Click to collapse
Well my friend if you have already did this. it will be your first screwup
Dont use root explorer or titanium for this work. Read this post I mention yesterday.......
Shiwantha said:
I have posted few tips here n there when ever people ask about it.
Check this for overall requirements
For your requirement, skip the optimization part out and just do image swap.
Like realunited123 said, dont extract, just open from 7zip, I use Win RAR and drag and drop the new image to the correct folder.
You need to remember few things here, check images name matches against old to new. Other impotent thing is resolution. you might get in to trouble if you take mpdi and put it to hdpi.
after updating the framwork I made a small template for you guys to play with.
Download attaches zip file open and go to
Framewrok-SJ.zip\system\framework folder and drag and drop the modified framework-res.apk
Dont try to install the attached file. its only a template for you guys to start working on....
After drag and drop you will see zip file size increased.
Simply copy to SD card and install via Xrecovery
You can try any framework to install like this without adb stuff
Remember to make a backup... because you will definitely screwup... we all have...... LOL
Well my friend if you have already did this. it will be your first screwup
Dont use root explorer or titanium for this work. Read this post I mention yesterday.......
Click to expand...
Click to collapse
Well i did try swapping mine with the framework apk in the froshed zip. I'll try it with yours though.
Shiwantha said:
I have posted few tips here n there when ever people ask about it.
Check this for overall requirements
For your requirement, skip the optimization part out and just do image swap.
Like realunited123 said, dont extract, just open from 7zip, I use Win RAR and drag and drop the new image to the correct folder.
You need to remember few things here, check images name matches against old to new. Other impotent thing is resolution. you might get in to trouble if you take mpdi and put it to hdpi.
after updating the framwork I made a small template for you guys to play with.
Download attaches zip file open and go to
Framewrok-SJ.zip\system\framework folder and drag and drop the modified framework-res.apk
Dont try to install the attached file. its only a template for you guys to start working on....
After drag and drop you will see zip file size increased.
Simply copy to SD card and install via Xrecovery
You can try any framework to install like this without adb stuff
Remember to make a backup... because you will definitely screwup... we all have...... LOL
Well my friend if you have already did this. it will be your first screwup
Dont use root explorer or titanium for this work. Read this post I mention yesterday.......
Click to expand...
Click to collapse
Is it just me is are you a savior!! Thanks, it's working now!!!!
Hey, by the way, can you teach me how i can make an xrec zip of a dialer mod I made? I want to post it on the CM 6 thread so people can like actualy install it but the only way i currently have for that is adb(which works on apps, but not themes...)
And one more thing, Is any sort of file transfer possible with ADB, or will i have to stick with WiFi File Explorer?
Realorasz said:
Is it just me is are you a savior!! Thanks, it's working now!!!!
Hey, by the way, can you teach me how i can make an xrec zip of a dialer mod I made? I want to post it on the CM 6 thread so people can like actualy install it but the only way i currently have for that is adb(which works on apps, but not themes...)
And one more thing, Is any sort of file transfer possible with ADB, or will i have to stick with WiFi File Explorer?
Click to expand...
Click to collapse
Thats good news.. one less problem to deal with....
create a folder call app on your pc and drag it to system folder in the zip file.
So you should have framework and app folders inside of it.
then copy Phone.apk & Contacts.apk and try to install via xrecovery.
there is a chance you might not be able to install as my initial signing of Zip file dosent included app folder and so MANIFEST.MF & CERT.SF dont have reference. on the other hand during installation Xrecovery dont check
key signature.
I didnt test this way so try, no harm will come to your phone.
Dont know about wifi explorer much. Im testing with adb generally. only final version im publishing in xrec.
Can you teach me how to make that meta inf stuff?
Sent from my X10a using XDA Premium App
Realorasz said:
Can you teach me how to make that meta inf stuff?
Sent from my X10a using XDA Premium App
Click to expand...
Click to collapse
You cannot, after putting stuff, need to sign by app sign tool or there are alternative called APK manager... search its on XDA i think........
I'm not getting it. The update script ange all that forxrecovery...?
Sent from my X10a using XDA Premium App
Realorasz said:
Can you teach me how to make that meta inf stuff?
Sent from my X10a using XDA Premium App
Click to expand...
Click to collapse
In META-INF create \com\google\android folders for update-script file.
Make update-script a text file containing the following
Code:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
Be sure to add an extra blank line after "show_progress 0.1 10"
Compress META-INF and system folders to a zip, then move to your sd and sign with signAPKtic which is a free app in the market. Use "test keys" to sign. (signAPKtic is easiest to me,or you can use 1 of the methods Shiwantha suggested to sign)
I would also suggest zipaligning your apks before adding them to optimize your phone's performance when accessing them. Search zipalign on XDA and you'll find what you need...
*Edit- Also, X10 Mod Tool is great for pushing/pulling apks via adb without all the typing. I use it a LOT when testing different pieces of themes.
AyDee said:
In META-INF create \com\google\android folders for update-script file.
Make update-script a text file containing the following
Code:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
Be sure to add an extra blank line after "show_progress 0.1 10"
Compress META-INF and system folders to a zip, then move to your sd and sign with signAPKtic which is a free app in the market. Use "test keys" to sign. (signAPKtic is easiest to me,or you can use 1 of the methods Shiwantha suggested to sign)
I would also suggest zipaligning your apks before adding them to optimize your phone's performance when accessing them. Search zipalign on XDA and you'll find what you need...
*Edit- Also, X10 Mod Tool is great for pushing/pulling apks via adb without all the typing. I use it a LOT when testing different pieces of themes.
Click to expand...
Click to collapse
I think adb mask controller can do it in the zipalign tab> zipalign /system/app button.
And what format does the text file need to be in?
Signapktic is either telling me the zip doesnt exist or gives me an unzp error... and I supposed to me signing the apk's or the zip?
EDIT: I think I got it. Zip signer instead of signapktic. Let's see what my phone does.
Ok it looks like it worked.
Make sure there are no spaces in the zip's name. Looks like you got it!
Sent from my X10a using XDA App
AyDee said:
Make sure there are no spaces in the zip's name. Looks like you got it!
Sent from my X10a using XDA App
Click to expand...
Click to collapse
So does that mean it worked for you?
EDIT: Oh, I'm stupid, I didn't even post it. Can you test it please?
It looks like it's signed already. Are you asking me to test the app or signature?
Sent from my X10a using XDA App

Categories

Resources