Related
I have built alot of roms and need to make flashable themes for them!
I have tried everything with no avail!
Can i just swap png images from a theme zip already made?
Can i make them with Ubuntu!
I thought it would be easier than roms but it is not so easy!
Need serious help thanks!
And i want to make them without apks for now just images
eVoKINGS said:
I have built alot of roms and need to make flashable themes for them!
I have tried everything with no avail!
Can i just swap png images from a theme zip already made?
Can i make them with Ubuntu!
I thought it would be easier than roms but it is not so easy!
Need serious help thanks!
And i want to make them without apks for now just images
Click to expand...
Click to collapse
I was actually just looking into some of the flashable theme files that were posted for the mikfroyo rom. You could probably just open those and look at whats in there and replace the artwork? Just guessing..
sounds that easy but i did it and no go pissin me off!
Tired of theming whole roms!
Give this a try... this will port png's from one rom to another. you just need to pull the framwork-res.apk and resources.apk from framework from your rom and put it in the "new" folder. and put the same apk's from the theme you want to port in the "old" folder, both under the framework folder with in the "new" and "old" folders. and run the script.... there are also app folders for any themed apps that you want to port also.... same thing with those, yours in the new and the themed ones to port in the old.... Just remember, these are only png ports, you still need to do xml edits if there are any...
this is not my work, found it here on xda a very long time ago and don't remember from who but thanx to him or them......
View attachment Theme-Porter.zip
Okay now I think I know what you're trying to do..
I see your built ROM's with themes and you're basically tired of opening each .apk and putting your images in each one?
You wouldn't use metamorph itself but you would create your theme like you would a metamorph and then download ZipThemer from the market. Point it to that metamorph theme you created and it will create the flashable theme zip for you. It does all the work for you and puts the images in the .apks like you defined. Packages them all up and makes the flashable zip.
It may not sound like its not easy but once you build that initial theme.zip you're pretty much set except for adding or deleting a couple things here and there.
As you know for the most part everything will be in /system/ and have the same .apk name so the theme will continue to work. So if you're building an AOSP ROM after each build all you will have to do is load the rom on your phone and launch zipthemer and have it make the flashable zip you'll give to your users.
Know what I mean?
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!
VillainTheme System 0.3.5 for the TF101
http://www.villainrom.co.uk/forum/showthread.php/4971-About-VillainTheme-System
pulser_g2 said:
OK, so I think it's time to explain what this is about. It's born from the idea that came about on IRC, for a way to make a theme once for a ROM, rather than have to adjust it for each incremental update for a given ROM or ROMs.
As a user, you don't need to know much - just flash this zip like a regular zip, and you'll get your theme running. But you should be able to apply themes to any device, ROM, and version of the ROM, without it causing adverse effects. That means less time spent by themers making the original theme, and less time spent modifying it constantly for new versions of ROMs.
As a themer? Well, here is the information:
Inside the zip, in the vrtheme folder, you can create a folder called "system" and "data". The former is required, the latter is not required unless you wanted to theme a data app (strongly not recommended, unless you know the app will be there on every phone)
Inside the system or data folder, create a subfolder "app", and in these, make subfolders named EXACTLY after the APK name. For example, to theme the Browser, you need a folder called "Browser.apk". It must be correctly capitalised.
Within there, place the files you require for your theme, in the relevant locations. So most PNGs will be in res/drawable-hdpi/. You can put in xml files too (those which are not in resources.arsc), if you compile them via apktool, and extract them with a zip tool.
In the vrtheme folder, as well as system and data folder, one called "raw" can exist. Within here, you can place files to be copied verbatim to the ROM (for example, modified JAR files). Note that using this may make the theme device dependent (read WILL make it device dependent)
And that's about it.
Features
Will modify APKs in a ROM, without changing signatures, and can be used on any ROM where the filenames of themed files is the same.
Should not need updated between versions of a ROM
Zipaligns all APKs before installation
Stores a backup of all files being modified in /cache/vrtheme-backup/
Requires no coding abilities or editing of files - just drag and drop
Can copy "raw" files, though at risk of not working on other devices (well, let's face it, it won't work on likely a slightly different ROM, so this feature is not recommended or encouraged)
Credits
Doctorcete for the original idea in a discussion on IRC
Stericson for the original idea of metamorph. While totally different, it's a shared goal to separate themes from ROMs
Matt from the Metamorph team, for the zip binary compiled for Android
Seshy, for testing
EULA
Click to expand...
Click to collapse
Nothing evil or complicated - just a few little things. You should not charge for access to this code. That includes a zip containing this, or a derivative of it. So please don't sell themes using it. That's not particularly cool. If you want to use it commercially for some reason, get in touch with us.
If you spot a bug or error, and find a fix, please reply in this thread and let us know, or post the changes you made. If you're going to distribute the changed version, it is expected that you share the change made by contacting us, or posting it here.
Finally, don't be a douche - don't rip this off or call it your own, and leave all headers and comments identifying the origin of the code in place. Don't rename this to match your ROM or "team" name - it's not cool, and it's not yours to go and adjust. I chose to make this a readable "plain" script, but can easily obfuscate and encrypt it if you want to be a douche.
Copyright VillainROM (2011). All rights reserved
Click to expand...
Click to collapse
Now this project was created around the SGS2, and as such it did not work on the TF101 at first, however me and Pulser have spent the day looking for solutions and finally got it working for the TF101.
IMPORTANT: DO NOT USE THE SGS2 TEMPLATE FROM THE VILLAINROM WEBSITE.
Download:
0.3.6 experimental
Clean template without theme included: http://www.mediafire.com/?5bs9srz88i4wdq4
Asus Eee Pad TF101 VRTheme template: http://www.mediafire.com/?5gyr1g0xgd05t70
Note: for now the template is my windows phone 7 theme since it shows you where everything goes really well
If you find any issues or bugs PM me with as much info as you can and if possible a recovery log (found in /cache/recovery/) so I can try and find a solution to your problem.
Changelog
0.3.5
Fixed ASCII art in updater script.
Minor clean up of installtheme.sh
Added preview.png to template.
0.3.3
Modified installtheme.sh as it was giving possible problems.
0.3.2
Fixed a problem with raw folder copying. Put contents of /raw in /system now on the root of the .zip
Fixed some status 0 errors.
Currently known bugs:
You may have issues trying to flash framework files and app files in the same .zip (code 0 error).
Temporary solution: Flash the framework folder and the app folder in seperate .zip files.
hello,
is that you can see screen pls ?
And this theme is compatible with any rom ?
wallah said:
hello,
is that you can see screen pls ?
And this theme is compatible with any rom ?
Click to expand...
Click to collapse
If you had taken 3 seconds to read the post you would know it's not a theme.
This is for themers only.
yes I have read and I have not really understood ...
sorry I disturb
For any themers who want a better example of how it works, I just updated my own theme to use this method:
http://forum.xda-developers.com/showthread.php?t=1120525
Hey seshmaru,
This is definitely a great method! As soon as I get a chance, I will experiment with adapting PCB Blue to use the VillainROM theming method (with leaving all credit intact of course )
If someone wants to uninstall any themes applied this way, what would be the best method though? Just reflash their ROM?...(is what I'm thinking).
Thanks for working on this with the Villain Team, and if there's anything I can do (help/test/etc.), please don't hesitate to PM me.
Thanks again, and cheers for now!
scar45 said:
Hey seshmaru,
This is definitely a great method! As soon as I get a chance, I will experiment with adapting PCB Blue to use the VillainROM theming method (with leaving all credit intact of course )
If someone wants to uninstall any themes applied this way, what would be the best method though? Just reflash their ROM?...(is what I'm thinking).
Thanks for working on this with the Villain Team, and if there's anything I can do (help/test/etc.), please don't hesitate to PM me.
Thanks again, and cheers for now!
Click to expand...
Click to collapse
Well seeing as the current .zip makes a backup of the original files, in the future there will probably be a script made to restore the back up.
Till then the easiest way is to just reflash your ROM without a wipe or to reflash whatever theme you had before.
If you want to help with testing (constantly fixing things since pulser is away so it's my task to keep the SGS2 template and TF101 template as identical as possible) or have any questions you can pop by the VillainROM IRC since I'm generally in there.
Hmm... I can't quite figure out why, but it is not working right for me.. My framework-res.apk file is exactly the same after flashing....
I managed to do some debugging, and i found out that the file file is actually created, but it doesn't copy it over for some reason...
within the VRTheme folder (which i prevented from being deleted so i could check out the contents) the framework-res.apk file is in apply/system/framework/framework-res.apk...
So i tried editing the install script, all the way down at the bottom, and i changed the code from from cd /cache/vrtheme/apply/system/framework/aligned/ to cd /cache/vrtheme/apply/system/framework/ and it worked!
All i can guess is that the file isn't getting aligned for some reason, so that folder/file is never created, but the script is still calling for it...
Can you please let me know if my fix is acceptable, or if there is something off with it that can be fixed and would allow it to be aligned therefore creating the folder and the file?
-trailblazer101
I just want to confirm this. I made some xml edits for the framework, finsky, and gmail were I change the color of the text. Those are in the values folder in the colors.xml file. After you compile the apk you cannot see that folder so I am guessing that you cannot use this to flash that xml correct?
went toflash the theme i get error 0
MetAloid said:
went toflash the theme i get error 0
Click to expand...
Click to collapse
just try the new version now i get error 6
MetAloid said:
just try the new version now i get error 6
Click to expand...
Click to collapse
I got error 6 as well.
Error 6
I'm gettting same error ^ as cescribed by others.
I have been wanting to get into the Honeycomb theme arena and this looks like a good place to start, thanks for your work and I hope I can figure it out. Would it be ok to drop by IRC if I have any questions?
Hi all, just looking for confirmation that the VillainTheme flasher is able to apply .XML files (specifically in framework-res/drawable)?
Thanks in advance!
It should be able to, although it's had some issues at times.
Anyone getting status 6, try this new updated template: http://www.mediafire.com/?5bs9srz88i4wdq4
seshmaru said:
Anyone getting status 6, try this new updated template: http://www.mediafire.com/?5bs9srz88i4wdq4
Click to expand...
Click to collapse
That 0.3.6 template works for me
Regards, folgui.
I'm having a problem with Recovery giving "E:Error in... / Error 0" with my theme for the TF101 below.
Can someone please test it and report their findings? Note that you should do a Nandroid backup first!
Thanks in advance...
** EDIT ** - Found the problem and fixed it...sorry for the post!
Hello xda.
This is a Guide to help anyone who wishes to create custom ROMs. This Guide aims to be as complete as possible, and will give all information related to creating a custom ROM... editing apks, adding or removing apps, de-odexing apps, and so on.
Al suggestions to improve upon this guide are welcome.
0. Pre-requisites
Click to expand...
Click to collapse
Credits to...
1. puppet13th... My mentor, teacher, and a great friend.
2. Wanman... ApkTool for ICS
3. langthang... For a great Guide on Creating Update Script
4. lokeshsaini94... For lots of help
Downloads
You need to Download the following...
1. Apk Tool [link(ICS)|link(GB)]... A tool for De-Compiling apks
2. 7 zip [link]... A tool for un-compressing any sort of compressed file
3. ROM signer [link]... Restores the signing of the ROM zip file, which is messed up while uncompressing
4. Any Image Resizer
Setting up your PC
You need to do the following...
1. Create a folder (preferably in Desktop, and name it "Android")
2. Create Sub-Folders by the names "Base ROM" and "Custom ROM". Also make Sub Folders by the name...
a. ApkTool... Extract contents of ApkTool Here
b. Signer... Extract Autosigner here
I. Let's get our Base ROM
Click to expand...
Click to collapse
You need to get the base ROM in the ./Desktop/Base ROM folder. It is also recommended that you flash the Base ROM into your phone, as it will help in testing the mods, as you make them.
The process of getting the base ROM will depend on the scenario your situation fits in, from amongst the following...
1. You want an already made Custom ROM as your Base... Download the ROM [willl come in .zip folder], and extract it in /Desktop/Android/Base ROM folder
2. You want to base your ROM on a stock firmware, which came in an ftf package... Use the following tool to extract the files from the ftf file.
3. You want to base your ROM on a stock firmware, which is instaled on your phone...
Take a back up of the ROM using ClockWork Mod, and copy the back up files (from /sdcard/clockworkmod/backup), somewhere to your computer. Then, using this tool, extract the files to /Destktop/Android/Base ROM
Copy the following folders from /system of your phone using Root Browser
/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop
4. You want to base your ROM on a stock firmware, that comes as a ready to flash .zip file on the internet... Download the ROM, and extract it in /Desktop/Android/Base ROM folder
After completion, the Base ROM will have the following Folder Structure
Desktop
Android
Base ROM
META-INF [only if you got your base from another Custom ROM][/INDENT][/INDENT][/INDENT]
system
apps
bin
etc
.
.
.
data [may be]
Click to expand...
Click to collapse
*ScreenShots*
Copy the contents of Base ROM folder to Custom ROM folder.
We now have the foundation of our ROM laid out in front of us, inviting us to show our creativity.
II. Let's work on the Base ROM... Creation of the Custom ROM
Click to expand...
Click to collapse
A. Apks Make up the Android System...
We will now work, only on the /Desktop/Android/Custom ROM Folder
1. Look into the /system/apps...
You will find apk files which will be raninging frm 100 to 200 in number. Err, half or more are known as "Crapware". You need to remove files which are useless, that's a very important step to enhance performance of your final ROM. Look into your device's forums, to get the list of Safe-To-Remove appks from the respective firmware. In case your base is an already built custom ROM, you will have to remove lesser or none of the files.
2. Here, you can add your desired files as well, keeping compaitability in mind.
3 [Optional]. On a .txt file, keep a record of all the apps your removed or added, as it will help in troubleshooting at a later stage.
B. Implementing Already-Built-MODs in your ROM...
1. Download any Mod you want to keep in your ROM [Make sure your device, and the Base ROM is compaitable]
2. Extract the zip file and you will get a system folder.
3. Copy the files from the system folder to /Custom ROM/sytem, making sure the files go into the folders they came from.
That is, all apk files from /system/apps folder of the Mod should go to /Custom ROM/system/app folder, and so on...
C. Changing the Interface... Let's Mess with SystemUI[nterface].apk
Go to /system/app and copy SystemUI.apk to
/Desktop/Android/ApkTool/place-apk-here-for-modding
Working with ApkTool
The link provided in this post is of an easy to use software called ApkTool.
1. Double Click on the Script.bat file to open up the software.
*Screenshot*
2. Decompress the SystemUI.apk using option '9'.
Wait for the process to complete
3. Go to /Projects, and you will find a folder called SystemUI.
Open the /SystemUI.apk/res/drawable folders and you will find lots and lots of .png files
*Screenshot*
4. Look into the files carfully.
Bingo, they correspond to the various system elements of the SystemUI of the Base ROM.
5. Open any file you want to edit, edit it, and save in the original location, replacing the original un-edited file. [On a temporary notepad file, note which all files you edit]
Note: You will notce that there are .png files for, say the Battery Icon. You will find that there are files for each state of the Battery Icon. So if you intend to edit the Battery Icon, you need to edit all the files corresonding to each of the states.
5.A. A common exaple of such editing is making the elements of a Gingerbread SystemUI.apk look like ICS SystemUI.apk. For this get hands on any ICS SystemUI.apk and extract both the files in seprate locations, and then copy the files from the ICS SystemUI folder to GB SystemUI folder. However, here you must make sure that the names of the files coming from ICS SystemUI are changed to corresponding values of the GingerBread SystemUI.apk. Here, also ensure that the new files, which replace the original files, have the same dimensions as the original files. If not use any image resizing tool.
*Screenshot*
6. If you want to edit some values in the .xml files, carry on. Edit the files as you wish, and replace the original files. Once you are done with the editing...
7. Open the Script.bat file and run command 11. [Say NO when it asks if the file is a system file]You will have a new SystemUI.apk file called unsignedSystemUI.apk in /place-apk-here-for-modding folder.
Go and fill your pockets with some cookies from the kitchen. Start having them.
8. Keep the temporary notepad file on one side and open the unsignedSystemUI.apk with 7zip, and open the original SystemUI.apk using 7zip besides it.
*Screenshot*
9. Drag and extract the files you edited to a temporary folder.
10. Drag the extracted files to the SystemUI.apk, replacing the older files, making sure all the edited files go to the proper place. [That's why I asked to keep a note of which all files were edited].
*Screenshot*
11. If you edited some .xml files, then you MIGHT need to copy the resources.acrc file at the root of the unsignedSystemUI.apk file to the root of the original SystemUI.apk file.
Once done, the original SystemUI.apk has now become a modded SystemUI.apk, with your creativity embedded into it. Time to test the SystemUI.apk.
12. Using Quick ADB, push the edited SystemUI.apk to your phone.
*Screenshot*
13. Re-boot your phone and you shoud see the changes you made in the UI. .
In case it gives force close message, you messed up somewhere. So you will have to push the original SystemUI.apk [from /Base ROM/system/apps folder], and try to mod the file from scratch again.
14. Copy the sucessfully modded SystemUI.apk from /Apktool/place-apk-here-for-modding folder to /Custom ROM/system/app folder, replacing the older file.
D. Changing the Interface... Editing other .apks
1. As earlier, copy the apk you want to edit from /Custom ROM/System/app to /Apktool/**** folder, and perform the modification to optain a new modded .apk file.
2. Test this file if you wish, by pushing it using Qucik ADB.
3. If the modded file wrks, copy this new file to /Custom ROM/System/app and replace the original file
E. Changing the Interface... Editing the font
1. Take your desired font.ttf file and rename it as DroidSans.ttf..
2. Go to the folder system/fonts/
3. Now, replace the file DroidSans.ttf with your desired DoridSans.ttf...
4. To change the lock screen clock font...replace the Clocktopia.ttf with your desired one (rename first)...
If you did a good job in the above steps, the /Custom ROM folder should be having the contents of a wonderful ROM in making.
Here, I will like to mention that, if you want to upload your custom ROM on the internet and share it, you must ensure that you did lots of hard work in the above steps. There's no point making a custom ROM without modifying lots of files and adding lots of tweaks.
Just make sure that you do so much of modding that, say, your Gingerbread ROM looks like Jellybean, or say, your ROM made for Galaxy Y works as smooth as an SIII.
III. Compiling the Custom ROM
Click to expand...
Click to collapse
A. If you got your base ROM as in [1 or 4] in step I above
1. Copy the META-INF folder from /Base ROM to /Desktop/Android/Custom ROM
2. Rename the Custom ROM folder to whatever-you-want-your-ROM-to-be-called.
3. Add the Folder to a zip file using 7zip.
4. Take this zip file to /Desktop/Android/Signer folder and run sign.bat.
X. The new zip file called Update.zip is your ROM.
Copy this file to the SD Card of your phone, format /system, /data, /cache using CWM and flash your .zip file. And enjoy your custom ROM.
B. If you got your base ROM as in [2 or 3] in step I above... Creating your own Update script
Read the following Tutorial. [link]
Once you are done, try the ROM on your phone. Share it if you feel it's great. And hit Thanks Button.
Reserved
Reserved2
nice guide!
thanks for the tutorial.
Nice guide, continue finish it.:good:
Awesome
Adds some more tutorial please:thumbup:
Thanks for your work
Inviato dal mio GT-N7000 con Tapatalk 2
Please also add link to original thread....
Btw .. Nice guide....
In 1. Looking into system apps... you should delete .apk as well as .odex files when you want to remove an app... Like browser.apk and browser.odex... Many peoples won't delete them....
Sent from my GT-S7500 using xda premium
Thanks for this nice guide. :highfive:
Please add the placeholder *Screenshot* s :good:
beautiful
Thanks a lot for this beautiful guide. Loved it
i tried it ............
i followed the guide n tried editin my custom rom technoduos on sgy duos GT-s6102
all i did was extract the rom using CWM and then added removed some apps at /system/apps
no other tweaks just addin n removin apps dats all then compressed it n signed it
then wen i flashed it on my set it worked (yayyyyyyy)
but there were some problems the apps which i del were gone but the ones i added were not there ..........
also wen i flashed the rom again the apps which were del were back how is it possible i made sure i had del em
plz help
thank you very much for your tutorials are very helpful to me
nice guide! thx
Nice Guide...
Thanks for the hard work to track down all this information and publish for us.
Thanks
Thanks... im gonna give this a whirl
Sent from my SGH-T999 using Tapatalk 2
R: [Guide]Create Custom ROMs | Modify Apks
Very useful giude thanks ; )
Inviato dal mio GT-N7100 con Tapatalk 2
:Good:
Sent from my potato oO
thanks
Hi guys
is it possible to install/port the CM10 themes available here
http://forum.xda-developers.com/showthread.php?t=1801752
to a fully deodexed ICS stock rom for Pantech Flex rom such as this?
IceFlexSandwich
http://forum.xda-developers.com/showthread.php?t=2188436
if yes, what do i need to know so that i can apply the themes?
MechaDroid said:
Hi guys
is it possible to install/port the CM10 themes available here
http://forum.xda-developers.com/showthread.php?t=1801752
to a fully deodexed ICS stock rom for Pantech Flex rom such as this?
IceFlexSandwich
http://forum.xda-developers.com/showthread.php?t=2188436
if yes, what do i need to know so that i can apply the themes?
Click to expand...
Click to collapse
Themes for other Roms will not work for this rom. The apks that the themes replace are different than ours. if you do attempt to flash a theme from another ROM youre phone will probably end up in a boot loop.
To theme
You will need to copy these apps from /system/app folder in phone or from downloaded rom:
Settings.apk
Phone.apk
Contacts.apk
SystemUI.apk
Framework-res.apk from /system/framework
Rename the app youre wanting to theme from .apk to .apk.zip
extract the res folder to a folder anywhere with 7zip(Leave this window open)
change the icons you want in each folder(Usually hdpi and xhdpi folders except for systemui)(make sure to keep same name and size of original icon)
select all icons in the folder you are working in and simply drag and drop icons to same folder in 7zip window replacing old icons
rename .apk.zip back to .apk
push to phone via adb or make update and flash with cwm
if you did the steps correctly you will have themed an app.
Be careful with the .9 images resizing or messing with them can cause them to not display correctly
I use gimp to mod icons.
Im working on a theme myself now. Only thing that gets me is Pantech and AT&T have added alot of icons that are masking the original icons for ICS that are in the apks as well. So there is alot of modding to do to make a full theme for this ROM.
Chadw1985 said:
Themes for other Roms will not work for this rom. The apks that the themes replace are different than ours. if you do attempt to flash a theme from another ROM youre phone will probably end up in a boot loop.
To theme
You will need to copy these apps from /system/app folder in phone or from downloaded rom:
Settings.apk
Phone.apk
Contacts.apk
SystemUI.apk
Framework-res.apk from /system/framework
Rename the app youre wanting to theme from .apk to .apk.zip
extract the res folder to a folder anywhere with 7zip(Leave this window open)
change the icons you want in each folder(Usually hdpi and xhdpi folders except for systemui)(make sure to keep same name and size of original icon)
select all icons in the folder you are working in and simply drag and drop icons to same folder in 7zip window replacing old icons
rename .apk.zip back to .apk
push to phone via adb or make update and flash with cwm
if you did the steps correctly you will have themed an app.
Be careful with the .9 images resizing or messing with them can cause them to not display correctly
I use gimp to mod icons.
Im working on a theme myself now. Only thing that gets me is Pantech and AT&T have added alot of icons that are masking the original icons for ICS that are in the apks as well. So there is alot of modding to do to make a full theme for this ROM.
Click to expand...
Click to collapse
Is it possible to integrate something like the Theme Chooser(available on CM10 and AOKP) on your rom?
so that there is a direct compatibility with other CM10 themes?
MechaDroid said:
Is it possible to integrate something like the Theme Chooser(available on CM10 and AOKP) on your rom?
so that there is a direct compatibility with other CM10 themes?
Click to expand...
Click to collapse
Im sure its possible. and yes it is possible to port the themes to our phone. Atleast some of them. You would have to rewrite some of the smali files in the .apk's and .jar files and make a few other changes that will make the apps run on our phone. Thats what Im trying to do now
Chadw1985 said:
Im sure its possible. and yes it is possible to port the themes to our phone. Atleast some of them. You would have to rewrite some of the smali files in the .apk's and .jar files and make a few other changes that will make the apps run on our phone. Thats what Im trying to do now
Click to expand...
Click to collapse
The only thing i miss about your awesome Ice Flex Rom is the theme-ing capability
theme-ing and customizations are my reasons to choose android over windows Phone
there are just so many awesome flashable Themes available for CM10, its a shame that great phone like Flex can't be themed yet
http://forum.xda-developers.com/showthread.php?t=1801752
i am currently trying to read up on android basics and see what i can do myself to help you :good: