Check post #2 for the guides, post #3 for the theme list
-----------------------------------------------------------------------------------
This is a thread dedicated to themes for Android. Help is available by clicking the links at the bottom of this post. This is not just for Kaiser users but since that's what I have, this is where I post.
-----------------------------------------------------------------------------------
**** NOTE ****
I have made my first app, StaySafe that lets you back up proprietary apps and put them into a clean, legal ROM. All of my ROMs will be in accordance with the Google C&D order.
-----------------------------------------------------------------------------------
My Themes:
** Manup456 and JAC you are the best themers! Please donate to them, sorry the credit wasn't here but it is now.**
If you like these themes, it's mostly because of Manup456:
You know if you can, you should show him some love:
Dark Donut 1.0
Themed black, much of Hero's looks and keyboard (without keylogging). Stable
Download: http://www.mediafire.com/?mgcztjwmihn
MD5sum: cc83cc96296bc3599d45634c595a956a
{
"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"
}
Dark Donut 2.1
Has a new clock, AdvancedLauncher, blurry animations, ad blocking hosts file, many of Cyanogen's enhancements (thank him) such as locking Home in memory, vibrate ever 45 seconds during call, etc. Compcache setting in Spare Parts is for another kernel so ignore that. I'd recommend turning on animations for the full effect.
Download: http://www.mediafire.com/?wyzy2lnyzny
MD5sum: 3d3944859d6026c427f11b2aeb9fd0a6
Dark Tattoo
Latest Tattoo update. Blacked out, some other features.
Download: http://www.mediafire.com/?dy5y34jmym0
MD5sum: f3785765d9182c8d45c2dab55b584e0c
There's more on the way. Feedback, requests, issues are welcome. Anything from clocks to full themes.
-----------------------------------------------------------------------------------
I'm not really good at development I've just done this for a while. The themes were in large part from Manup456 and JAC's ROMs. The real dev heroes are dzo, vilord, zenulator, mssmison, pmos69, jamezelle, kb7sqi, the Dream and MT3G people and everyone else who helped out. The list goes on. If you're able to donate, they deserve it.
-----------------------------------------------------------------------------------
Helpful links and people who have helped me get where I'm at:
Google Android and Linux for KAISER!!-- Main thread for Android on our phones
Linux and Android for Vogue (Kernel Thread)-- Dzo's thread for kernel development. He got us started and is a legend here.
Zenulator's threads for Vogue (they work for us too). He has dedicated a lot of time to helping us out.
Android with sense UI for the vogue
Vogue Android 1.6 Donut
Android 2.0 Eclair for the Vogue
-----------------------------------------------------------------------------------
Quick reference
Table of Contents
Files to modify
A word on APK files
Convert binary XML into human-readable text
How to deodex files
Closing notes
-------------------------------------------------------------------------
Files to modify:
/system/app/Launcher.apk--
kind of self explanatory
/system/app/Phone.apk--
this does not contain the dialer. only the keypad while in a call.
/system/app/Contacts.apk--
this contains the actual dialer images among other things
/system/framework/framework-res.apk--
main files to edit. minor changes here can crash your system if you fail at it.
/system/framework/framework-res.apk/res/layout/status_bar.xml--
hex edit this to change the notification bar text color
In a hex editor, search for 00 00 1C and replace the next 3 value with HTML color codes (RGB)
Refer to this for more info
/system/framework/services.jar
Changing notification text color, among other things..
Refer to this excellent guide. Worked for me.
-------------------------------------------------------------------------
A word on APK files
APK files are signed (SHA1 sigs) so don't just unzip, paste and zip back or you will wonder why things don't work. The easiest method is to use a GUI ZIP program like 7zip or Ark (Linux) to open the archive without extracting it. Drop your images over the existing ones and call it a day.
There is also apkopt which can optimize APKs (as the name implies) but will create a temporary folder with which you can inject your images to before it is resigned by the script. Some files do not like to be optimized like framework-res.apk which is why I don't use this method.
-------------------------------------------------------------------------
Convert binary XML into human-readable text
I haven't done this yet but feel I should list it here. You should be able to make changes, compile back (see the next section below) and diff the binary result for future reference.
http://forum.xda-developers.com/showthread.php?t=514412
-------------------------------------------------------------------------
How to deodex files
Generally it is not too difficult. There are some APKs that will throw errors and I'm trying to figure them out. It's a tedious but simple process and luckily I made some scripts to more or less automate it. I use Linux so BASH scripts are all you're getting.
I made a script that will take an app folder of APK and ODEX files and dump the dex files into subfolders. You will then need to add the dex file to the APK to finish. Unfortunately, because the process runs on the phone, you can overload it if you just try to run the output script. Many APKs required me to go line by line such as Music.apk because they are large files and for some reason the script will not wait for the first part to run so you must manually enter them and wait for each line to finish. I know, I'd love some help with this.
I've attached Deodex_Step1.sh.txt. Rename it to .sh and execute in the folder with APK and ODEX files and it will create a script RunScript.sh with the commands needed to deodex. As I said, this is very memory intensive and I could not just run this script so I went through and did a few at a time, careful to watch for errors and retry until it was done.
You need to download deodexerant (or take it from the SDK), smali and baksmali from here. I shouldn't have to mention that whatever build you are deodexing, you need to be running that on your phone when you connect.
Now, you will have RunScript.sh in the folder. You must connect to the phone with ADB. Set up the environment:
Code:
adb push deodexerant /data/local
adb shell chmod 755 /data/local/deodexerant
adb forward tcp:1234 tcp:1234
Here's an example for deodexing Browser.apk from the RunScript.sh you will end up making:
Code:
adb shell /data/local/deodexerant /system/app/Browser.odex 1234 &
java -jar baksmali.jar -o output/Browser.odex/out/ -x :1234 Browser.odex
java -Xmx512M -jar smali.jar output/Browser.odex/out/ -o output/Browser.odex/classes.dex
adb shell killall deodexerant && clear && echo Done Processing Browser.odex
Important notes are that smali.jar and baksmali.jar were put in the same folder and that I am actively killing the deodexerant process at the end to help prevent overloads though they can and will occur between the baksmali and smali commands so watch out.
Okay, still with me? Now you have a folder called "output" with a subfolder "Browser.odex/" containing classes.dex. Open the Browser.apk file with Ark (Linux) or 7zip and drop in the classes.dex file.
Repeat for all files and you're done.
-------------------------------------------------------------------------
Closing notes
If you are not using an ext2 system partition then you have more patience than I will ever have. It's easy to test your themes on the system using ADB to push your modified files. I recommend that you, in ADB, run "stop" and kill vold, service-manager and acore then run "start" to return to the Android splash screen. Protip: If you use the terminal on the phone you will freeze it the moment you type "stop" so use ADB.
That's all I can think of. Please share any tips you have to help others
Current list of themed ROMs posted on this thread
---------------------------------------------------------------------------------------------------------
Dark Donut--
Mine, check first post.
Dark Tattoo--
Mine, check first post.
Plemen's Hero Blend Themed Donut--
Themed Donut. Check the link for screenshots, downloads, etc. Very clean looks.
Jamezelle's Red Themed Hero
Very nice red theme. Hero ROM. Link is to the post with screenshots and download
Garynsa's The Dudes Cupcake
Click above for the post with download link. No screenshots yet.
what is your base rom for your theme, I have been working on plain ION and Donut trying to decide which I want to stick with
Taken from HTC's site. It's the Donut OTA update that just came out: http://developer.htc.com/adp.html
Apps are deodexed too
COOL; thank you for making this thread
enatefox this is good man. hope more devs get involved with theming
how do i install this theme?
modmouse78, please refer to the links at the bottom of the first post. I posted just the system.sqsh file but you need the other files to get it to boot. To save you, and anyone else who doesn't know how to boot Android, a search please refer to the following:
Instructions
Vogue Hero files
Vogue-Android files
Follow the guide, use the two other links to get the files you need to boot, refer to the links at the bottom of the first post, get it to boot, learn to theme, post the theme here. Take the latest basefiles zip, Haret.exe, the latest zImage (kernel) and the system.sqsh image I posted. Besides the system.sqsh, available in the first post here, all of those files are on the two links above and generally you should use the newest ones. To figure out what I mean you will need to read the links at the bottom of the post as various bugs are reported, etc. Hope that helps and if not, please search/post on the main threads to get a faster answer on troubleshooting if needed.
If you already know about editing images, the image I posted only had framework-res.apk, services.jar, Launcher.apk (soon to be Advanced Launcher) and Phone and you could just overwrite another Donut with those files on an ext2 partition so long as the image is (of course) writable and you have a de/unodexed build. The link on HTC's site I posted has from 1.1 to 1.6 images all unodexed as in never were to start with and it's a candy store for getting a full ROM readily available to edit. In the interest to get people to contribute themes, I can post about deodexing and working with smali files but there are other sites that can explain that as well already.
I hope you dont mind enate but I think I will try your unodexed build for my base from what i have read today that right there is my problem.
Feel free to use it but let me know or link back if you can so people can stay updated while I bugfix.
Great thread enatefox - here is something to add to your list:
/system/framework/contacts.apk--
this contains the resources for the dialer
Check out my themed Donut here complete with themed dialer:
http://forum.xda-developers.com/showthread.php?p=4850339#post4850339
Thanks, updated the second post howto. Feel free to add your screenshots and link here. It's really for showcasing themed ROMs and the links to threads for them. Now I can update the ROM I posted..
i am running donut on my kaiser. I tried replacing this theme with the one that i had and it would never boot.
any updates in data for donut?
I don't have data so can't work on it.
Updated the first page link with a new system image that has the HTC dialer theme. If you're using the last one I posted you can just replace it and keep your old data.img.
loving the dark donut!
is it just me or is dark donut the most stable donut ive tried??
Good to hear, I'm using it for now and found it's pretty reliable. Hopefully I can finish getting wifi issues resolved in the rootfs.img so I can do a bundle. I fixed a bunch of issues but still can only connect to local IPs..
Added plemen's themed Donut to the list. First page, 3rd post will be the running list of ROMs people post in this thread.
great job on the themes.
Related
::EDIT:: This post may become a bit messy while i build it, but i promise to try and format it as much as possible to make it easier to read! If anyone finds anything inaccurate in this post please let me know!
A couple days ago i didn't think i would have the knowledge to be writing on how to theme for Android. But its amazing what you can learn, when you spend a good 2-3 hours reading on a subject.
If you haven't read How to Theme Develope for Windows for Dummies I would advise you to start there first.
This will basically give you an idea of where the files are that you can change. There are quite a bit of files that you can change and some you shouldn't, at least not until they are understood better. (i.e. any file with .9.png as the extension.) These are stretchable pics and can cause problems with your theme and phone if not done properly)
When you download a theme it looks and acts as if it were a full flash, but the truth is these files only contain what we need to theme. As people learn more about themeing Android, these files should become smaller and smaller. I will explain the folder structure of these update files to make things easier to understand, Below i even have screenshots of them. The best way to learn these folders and apks is to extract them and view them in the thumbnail view in Windows Explorer. I am sure you will find most if not all of the files familiar. When scrolling thru all of the png files see if you can figure out where they appear on your phone.
Folder structure: Folders and apks
Anyone who uses a computer should knows about folders.
apk files are like zip files or containers. They have folders and files inside of them.
There are many folders and files in the update.zip but we are only going to cover a few for now.
app folder - This folder contains all of the apps that will be installed during an update or wipe. You will need to extract only the apks of the apps you wish to change the icon and graphics for.
-Launcher.apk - This file is in the app folder and contains the menu launcher tab, clock, google search widget, wallpapers and some other things.
framework - This folder contains framework-res.apk, this is where the bulk of your editing will take place.
When you open a apk you will see:
assets - This will contain images, sounds and other content used by the programs. Not always used!
META-INF - This contain the encryption data of the update.zip.
res - This folder contains all of the png and xml files. The xml files are used to format the UI, these can be used to change the locations of things on the screen. The xmls need to be unencrypted first. Depending on the apk there can be a bunch of folders under the res folder but we will only concentrate on the drawable ones.
-drawable - The png files in this folder are displayed wheather the keyboard is open or closed. The majority of the files are here.
-drawable-land - These are the files that will show when the keyboard is open. There won't be as many files in these folders. Most of the time the programmer will re-organize the layout with an xml file.
Basically the interface of Android is a bunch of pictures, the program links these pictures to certain actions. As someone making themes you do not have to worry about any programming, in the future when people start unlocking the xml files to change the way things look. Then you will have to learn some programming, but for now we will only talk about changing the picture files.
Below are screenshots for the people who learn quicker visually:
To start off i grabbed the Windows 7 Beta 3.0 from Dave Da Illest 1. also assuming that you read the link above, you Should have WinRaR and it should be associated with zip files. If not then, right click the update.zip and choose "Open With..." and select WinRaR.
Now you should see this screen.
{
"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"
}
Click the framework folder, you will see framework-res.apk.
Double click framework-res.apk and it will open a new WinRaR window.
You will want to extract these files, i normally extract them to the same folder as the update.zip. Now if you try to extract the whole update.zip you will receive errors. I believe it is because the file is signed. I am not sure how to unsign the whole zip, or if you would even want to.
This is what the folder with the extracted framework-res.apk and update.zip should look like.
Now you want to open the res folder and go into the drawable folder. If you are using Windows Explorer, change the view to thumbnails and you will now see all the files that Dave Da Illest 1 has changed.
To compare the files from JF's RC30 and any other theme you will need to download JF's RC30 v1.31 here. The folder structure is a bit different but easily figured out.
Inside the update.zip the structure is different, but that is only because the people who make these themes have only included the files you need. So when you flash a theme you are not reflashin all of the Android OS, radio and boot loader. you will want to double click system and then you will see the folders from the themes, tucked in with the OS and whatnot. The app folder is at the top like before and the framwork folder is in the middle somewhere. Follow the same instructions as before to extract the files, then tile your windows vertically or horizontally to do a side by side comparison.
It is best to create a folder specifically for these files. (when i first did this my folders were a mess and i ended up spending an hour or so editing a bunch of files, only to flash the original RC30 files on to my phone.)
::TIP:: When you open an apk file from inside the update.zip file, WinRaR may default to a temp folder...(i.e. C:\Documents and Settings\bobbyd\Local Settings\Temp\Rar$DI71.579\framework-res) double check the location of where WinRaR wants to extract files, this is how i ended up flashing the original files after spending a decent amount of time photoshopping.
I will update this thread as more ideas come in or as i read up on more, i am at work and just threw this together very quickly.
::EDIT::
I added themetemplate.zip, Its basically all the apps folders and framework-res.apk extracted with the folder structure intact. I stripped all .9.pngs and xmls out.
Included in the zip is:
update
-app
--AlarmClock
--Browser
--Calculator
--Calendar
--Camera
--Contacts
--Email
--Gmail
--gtalkservice
--IM
--Launcher
--Maps
--Mms
--Music
--MyFaves
--Phone
--Settings
--SoundRecorder
--Superuser
--Sync
--Talk
--Vending
--VoiceDialer
--YouTube
framework
-framework-res
inside each folder is the res\drawable, drawable-land, drawable-port
reserved....
Thanks for the clarification, It does help explain things a bit more. I plan to get started making a theme as soon as I get done downin' all the needed files. I have no internet besides my tetherbot for now, so it's a slooow process!
I figured i'd help by answering some of the questions i had and answered by playing with and dissecting the already created themes.
I didn't want to bother Stericson or Dave with questions they've been asked 100 times already.
WOW good looks.. looks like its time to make some themes..
is it possible to merge this with my how too ?? seems like it would be a great add on
Dave Da illest 1 said:
is it possible to merge this with my how too ?? seems like it would be a great add on
Click to expand...
Click to collapse
I agree.... doesn't mean a thing by itself but merged together with your thread, would give a great visual representation of what is going on.
Dave Da illest 1 said:
is it possible to merge this with my how too ?? seems like it would be a great add on
Click to expand...
Click to collapse
Maybe the mods can sticky this, but wait until i am done editing it? then merge it with your thread. Unless I can still edit it when it is merged =)
yea....how many how to theme threads do we need?....
Like the visual representations...
Stericson
i dunno maybe a mod can put ur post where my reserved spot is on mines .. im not sure if he can tho but i hope he could lol
Stericson said:
yea....how many how to theme threads do we need?....
Like the visual representations...
Stericson
Click to expand...
Click to collapse
I think as many as it takes =) Reading Dave's for dummies howto makes a lot more sense to me now. But last week when i read it i was confused as all hell! I basically put in a bit of info and some pics.
You guys will be thanking me when its all done...just think how many PMs it might save you from =)
If PM=">,last_week"
Then
Thank.damnitpud
End If
I'll merge the 2, the right way, as soon as both of the thread creators give me the ok.
you have my ok
is it possible to like make a list of which file controls what
example i was trying to find the clock images course i found that but other things theres like sooo much :|
also i was wondering does rc30 images differ from rc8 images (for the res and drawbles etc)
Mikey1022 said:
I'll merge the 2, the right way, as soon as both of the thread creators give me the ok.
Click to expand...
Click to collapse
Can you merge it so i can still edit it? if so i am ok with that to.
As far as I'm concerened you can merge all three.....maybye have each of our posts one after the other...will be a great place for information
Stericson
EDIT:
btw,
If PM=">,last_week"
Then
Thank.damnitpud
End If
^^^ Funny
This thread will be closed and placed to rest.
Please post all new comments or question in the new thread, placed here.
[Guide/Tutorial][17/06/12]How to make "basic" theming mods + .9.png tutorial
If you find this guide useful then please rate the thread, i dont really care about thanks, thanks.
Give a man a theme and he can flash for a day.
Teach him how to theme and he can flash for a lifetime.
{
"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"
}
-------------------------------------------------------------------------------------------
"What's in the guide??"
*Basic image editing
*Using UOT kitchen to change the battery icons
*Popular image names and locations (GB)
*How to decompile using apk manager4.9
*Editing .9.png's
*How to use the universal theme.zip
*Create a batch Hue action in Photoshop
-------------------------------------------------------------------------------------------
I'm constantly seeing people asking for minor changes to ROMS, Themes, Mods etc, so i thought i would post this to let the talented people get on with what they do best, and the rest of us can stop harassing them for simple tasks that we are all capable of ourselves.
"Could you add these images from this ROM to your theme?"
"Can you change the colour of the battery in you ROM?"
"Is it possible to have different status bar colour?"
Well people it's time to learn some basic theming/modding/skinning, whatever you want to call it.Lets say you want to change the colour of the battery....
What you will need:
*7zip (free)
*Greenfish icon editor pro (free/ windows) or *Gimp (free/ all platforms)
Getting going:
[1]
Firstly open up your ROM/Theme/Mod with 7zip and navigate to:
"system/framework/"
*If framework-res is a folder drog and drop to a suitable location on you pc.
*If it is an .apk then extract it and unpack.
TIP: drag it out then right click>7zip>extract to "***".
TIP2: Create a copy of this folder in case you make a mistake!!
[2]
Now navigate into "framework-res/res/drawable-hdpi/", in here are your battery images named "stat_sys_battery.png"
[3]
Open up Greenfish/Gimp, and drag across the images you want to adjust.
[Greenfish] Select Filter>Hue/Saturation
In the window that opens adjust the properties until you get your desired effect.
Save and close.
[Gimp] Select tools>color tools>hue-saturation
In the window that opens adjust the properties until you get your desired effect.
Save and close.
[4]
When your happy with the results open up(NOT EXTRACT!!) the Universal Theme template provided using 7zip and navigate to-
"system/framework/framework-res.apk/res/drawable-hdpi/"
Drag the newly adjusted images across.
Close and place on your sdcard to be flashed from recovery.
-------------------------------------------------------------------------------------------Now lets say you want to use different signal images....
[1]
Get the ROM/Theme/Mod containing the images you want to use
Open up with 7zip and navigate to "system/app/systemUI.apk/res/drawable-hdpi/"
in here are your signal images named "stat_sys_signal.png"
[2]
Open up(NOT EXTRACT!!) the Universal Theme template provided using 7zip and navigate to-
"system/app/systemUI.apk/res/drawable-hdpi/"
Drag the desired images across.
Close and place on your sdcard to be flashed from recovery.
-------------------------------------------------------------------------------------------
That was easy was'nt it!
There are free software programs out there like gimp that let you batch process images but im not aware of the methods used, if anyone is then please post.
Please feel free to post helpful info and ask questions about locations of images or anything else related. Hopefully myself or anyone else in the know will help.
If you want to go deeper into theme-ing here is an amazing guide:
http://forum.xda-developers.com/showthread.php?t=916814
-------------------------------------------------------------------------------------------
>>> Universal Theme empty template <<<
Thanks to JR soft and also Intronauta for universal theme http://www.htcmania.com/showthread.php?t=258333 .Based on the "VillainTheme system" tool by VillainTeam. More info etc, head to www.villainrom.co.uk.
dully79 said:
I'm constantly seeing people asking for minor changes to ROMS, Themes, Mods etc, so i thought i would post this to let the talented people get on with what they do best, and the rest of us can stop harassing them for simple tasks that we are all capable of ourselves.
"Could you add these images from this ROM to your theme?"
"Can you change the colour of the battery in you ROM?"
"Is it possible to have different status bar colour?"
Well people it's time to learn some basic theming/modding/skinning, whatever you want to call it. Ill add more info to this as necessary.
Please feel free to post helpful info and ask question about locations of images or anything else related. Hopefully myself or anyone else in the know will help.
Like i said is is a very basic guide, if you want to go deeper into it, here is an amazing guide:
http://forum.xda-developers.com/showthread.php?t=916814
>>> Universal Theme empty template <<<
Thanks to JR soft and also Intronauta for universal theme.(based on the "VillainTheme system" tool by VillainTeam. More info etc, head to www.villainrom.co.uk).
Hopefully this helps some people.
Click to expand...
Click to collapse
Thanks dully .Very usefull guide indeed.I use paint.net for changing colour but i found really usefull this empty template
And a little help.The only thing i do is to make the necessary changes png's or xml's into system/app or framework is that right?
Do i need anything else eg extras?
Thanks again!!!
This will come in useful. thanks
Your very welcome.
I use "actions" in photoshop for batch processing, but i also have another program which is really good called "AbleBatchConverter", unfortunately thats paid software.
Greenfish is ideal for minor adjustments- its a small file size, easy on resources, quick and has some good features, but best of all........it's free.
siberian tiger said:
Thanks dully .Very usefull guide indeed.I use paint.net for changing colour but i found really usefull this empty template
And a little help.The only thing i do is to make the necessary changes png's or xml's into system/app or framework is that right?
Do i need anything else eg extras?
Thanks again!!!
Click to expand...
Click to collapse
If you put any xml's into the framework folders there is a good chance it will break it from being "Universal"
The "XTRAS" depends on what your doing.
The "XTRAS" folder is where you put apk's to be installed instead of just images in the system folder.
Example how to use "XTRAS" folder:
Open "Vending.apk"
Goto "res/drawable-hdpi/"
Drag and drop in images with matching names
Close apk
Open UT empty template
Goto "XTRAS/app/
Drag and drop Vending.apk inside
Close and place on sdcard for flashing
When flashed this will install "Vending.apk" into "system/app/"
Hope this helps.
Always here to help and share my friend...!!!
===THANK YOU=== mate !
Universal-Flasher-tool_v3.0
Hello everyone!
This version of the template that you use (2.X) is somewhat outdated. Version 3.0 has many new features, and is much faster and safer.
http://www.multiupload.com/HOP6RWMNOB
Basically, has a new advanced configuration file (MOD.config) where you can enable / disable functions (more information inside the file).
Have also been replaced binaries zip and busybox with a new binary 7z, much faster. The process is much faster now than before.
It also supports theming non-system applications (though not recommended).
Enjoy it!!!
jrsoft said:
Hello everyone!
This version of the template that you use (2.X) is somewhat outdated. Version 3.0 has many new features, and is much faster and safer.
http://www.multiupload.com/HOP6RWMNOB
Basically, has a new advanced configuration file (MOD.config) where you can enable / disable functions (more information inside the file).
Have also been replaced binaries zip and busybox with a new binary 7z, much faster. The process is much faster now than before.
It also supports theming non-system applications (though not recommended).
Enjoy it!!!
Click to expand...
Click to collapse
Does it support "sdcard"?
The last script supported "emmc", that's why I still use v.2*
dully79 said:
Does it support "sdcard"?
The last script supported "emmc", that's why I still use v.2*
Click to expand...
Click to collapse
Yes, the script autodetects the path of the sdcard. You can also manually set the path very easily to the new file MOD.config. Check this out:
Code:
[SDCARD PATH]
##########################################
default_internal_sdcard=/emmc
##########################################
##########################################
default_external_sdcard=/sdcard
##########################################
*It's not necessary to modify this
parameters unless you really need another
custom folder path for your sdcards in the
recovery. You should try before change
this!! and remember don't modify the
generic "sdcard" folder name in XTRAS.
The system will adapt the paths depending
of this values.
Cheers mate, your a legend. I could never get vrtheme to play nice but yours runs perfect.
If anyone previously downloaded the empty template, please download this version instead, it has many improvents over the old zip including speed.
Links:
>>>HERE<<<
And in the OP.
Thanks.
UOT kitchen battery
Ok lets say we want to change our battery for the new flavour of the month.
If you plan on using a battery theme from UOT kitchen then just follow "UOT Battery" instructions.
If you want to use a theme you found floating around the forums that doesn't work for your ROM then follow "Custom Battery".
UOT Battery
Here is how to gain a new battery theme using UOT kitchen:
FOR ICS AND ABOVE USE SYSTEMUI.APK
Get your "framework-res.apk", there are many methods to do this, i'll let you pick one.
Go HERE and click the "file upload" tab, select "system files" and upload your framework-res.apk. To avoid problems please us a CLEAN/UN-THEMED framework-res.apk
Now click the "battery" tab, check "use this mod", now choose whichever battery theme tickles your fancy.
Click the "summary" tab and "submit work to kitchen"
Wait for the kitchen to cook your files then flash your new battery theme from CWM
Reboot and enjoy
---------------------------------------------------------------------------------------------------
Custom Battery
Here is how to gain a new custom battery using UOT kitchen:
Download and open up the battery theme you would like to use using 7zip.
Navigate to "framework-res.apk/res/drawable-hdpi/"
Count how many "stat_sys_battery_*.png" and "stat_sys_battery_charge_*.png" are inside and remember or write it down(keep this window open).
Get your "framework-res.apk", there are many methods to do this, i'll let you pick one.
Again navigate to "framework-res.apk/res/drawable-hdpi/" and count how many "stat_sys_battery_*.png" and "stat_sys_battery_charge_*.png" are inside, then close.
If there is the same number of images in both files then goto "UT.zip" below, if not continue to step 7.
Go HERE and click the "file upload" tab, select "system files" and upload your framework-res.apk. To avoid problems please us a CLEAN/UN-THEMED framework-res.apk
Now click the "battery" tab, check "use this mod", now find a battery theme on UOT that uses the same number of images as what you wrote down earlier.
If applicable scroll down to the bottom and select a charging animation style, I would reccomend hybrid.
Click the "summary" tab and "submit work to kitchen"
Once your theme is cooked open up the UOT.zip with 7zip and navigate to "framework-res.apk/res/drawable-hdpi/".
Now select all the battery images from the window you left open earlier and drag and drop them onto the UOT.zip window, click yes to confirm and close.
Now you have a modified framework-res.apk that will correctly display all the battery images, just simply flash from CWM recovery.
---------------------------------------------------------------------------------------------------
UT.zip
Download the empty template from the OP.
Open up the empty template and navigate to "framework-res.apk/res/drawable-hdpi/". If the directory doesn't exist just simply create the folders being case-sensitive.
Now select all the battery images from the window you left open earlier and drag and drop them onto the empty template window, click yes to confirm and close.
Now you have a universal theme.zip that will theme battery images on your ROM.
Here is a link for a esk02k's CWM flashable glass orb battery mod zip, it contains 100 discharging and 100 charging png's:
esk02k battery orb mod
Preview
And here is a link for my Power Battery mod, it contains 100 discharging and 100 charging png's:
Phone Candy Power Battery
Preview
Both links are in universal theme format.
---------------------------------------------------------------------------------------------------
Thanks for the guide, dully79. Got a quick question...
I am currently on a stock (but rooted) 2.3.4 rom on my international Galaxy S2. I am pretty noobish at hacking around with the Galaxy S2, so if I may.
Rather than editing framework-res.apk from a rom and then flashing the whole thing in CWM, can I just extract the framework-res.apk from the rom running on the phone at the moment, using Root Explorer, edit the PNG files that I want, save the PNGs back into framework-res.apk and then just overwrite framework-res.apk on the phone (again using Root Explorer), reboot the phone and then enjoy the changes I've made?
Or is that asking for a disaster?
I apologise for being incredibly ignorant in the ways of Android modding. I'm still getting used to all this Android modding stuff. Modding the Nokia N900 was no trouble at all!
I have made a full backup of the phone on CWM, and I have one of them USB Jigs, just in case...
I wouldn't recommend it as your framework-res.apk is constantly being called by various things. I tried it once using root explorer on my old HTC hero and ended up in a world of pain.
If you want to do edits on board the best thing would probably be:
1- copy and paste your framework-res on your sd.
2- extract your framework and make the edits you want.
3- download the UT empty template from OP and extract that, if the files are extracted individually instead of into a folder then put them into folder.
4- copy your new images into the extracted empty template in MORPH/system/framework/framework-res.apk/res/drawable-hdpi/ (if the directory doesn't exist just create it being case-sensitive).
5- zip up the files INSIDE the extracted empty template folder using store add the compression method (beware that some zip apps don't seem to play nice with cwm).
6- flash from cwm
This method will only replace the images you added into the extracted empty template.
Hope this helps, if you need anything else just ask.
Thanks for the reply
So the empty theme template will work ok with the stock (but rooted) 2.3.4 Touchwiz rom that my phone shipped with?
Will the same method you described above also work for systemui.apk so I can edit the green Wifi/Bluetooth/GPS/Sound/Auto Rotation switches in the notification tray?
Thanks again I'm looking forward to shifting the green-ness of a lot of the graphics - I'd much prefer blue!
Yes mate it will.
If you just want to change images use the MORPH folder with the correct directory to the images like described above.
And if you want to replace full apk's you place them in XTRAS.
Don't edit any .9.pngs, as in changing the hue, these need to be decompiled before editing.
You can swap compiled .9's for compiled .9's but be careful with them as these can cause force closes and boot loops. There are guides around xda about editing them.
Another thank you to you, dully79!
I've followed the instructions you laid out, and I've turned the stock battery level (and charging indicator) blue!
I'd post a picture, but I'm not allowed to yet. Gotta shift my forum training wheels.
But I assure you, it looks goooooooood...
This is only just the beginning...
I'm going to make every single graphic a different colour, with lens flare! /vomits
Thanks again for this guide, this has started me off on the journey of Android discovery!
Crugath said:
Another thank you to you, dully79!
I've followed the instructions you laid out, and I've turned the stock battery level (and charging indicator) blue!
I'd post a picture, but I'm not allowed to yet. Gotta shift my forum training wheels.
But I assure you, it looks goooooooood...
This is only just the beginning...
I'm going to make every single graphic a different colour, with lens flare! /vomits
Thanks again for this guide, this has started me off on the journey of Android discovery!
Click to expand...
Click to collapse
No probs mate, I'm more than happy to pass on what I've learned.
Don't hesitate to ask if you needed owt.
Seeing as you've offered, I think I'll take you up on the offer to answer more questions! lol...
I am trying to change the progress bar colour. I can find progressbar_indeterminate#.png, which is fine, but I can't find the regular solid progress bar. Do you know what that's called and where it might live?
And another, I'm trying to change the colour of the background of a slider for things like changing volume in the settings, I also can't find the PNG for that. If you know where I can look, please let me know!
That's found in progress_horizontal.xml in framework-res.apk/res/drawable.
To make edits you need to decompile first to make the xml readable, then re compile.
Here is a blue progress bar with a grey background from my phone candy theme if you don't want to edit xmls, just extract it from the zip and put it in the correct directory in the MORPH folder.
The Goods
About My Script:
I have been using and working on this script for sometime now, I started back when ICS first came out and we where no longer able to decompile apks in 1 step. All of the mods and things that I have posted on xda in the last year, have been made with this script. This script allows for editing those apks with a few buttons clicks. It can edit apks from any version of android. It has been posted on the Team Venum Forum and has been working for many of the Team Venum members.
With this script you will be able to:
Compile/decompile (Odexed and Deodexed) apks and jars
Make CWM zips of your projects
Flash and Push things to the phone
Make and install signed apk projects
Search decompiled apks
and much much more...
Sections:
Header bar: This displays the script info and current project.
AIO Tool: These are all options that you can use to mod. They will all be highlighted if they are available, otherwise they will be grayed out and have a short description why it’s not available.
Mid Section: 11 and 100 will always available. 11 allows you to choose your project from the “place-here-for-modding” folder. 100 will refresh the menu (usually for connecting/dis your phone).
Odex Section: These options will only be enabled if a phone is plugged in. The phone you are working with is needed for odexing and deodexing.
- 20 Deodex the entire ROM on your phone
- 21 Deodex just one apk or jar file
- 22 Odex the entire ROM on your phone
- 23 Odex a single file
Special Items section: These are portable apps and options.
- 91 Open Color edit. Allows you to visually view and change the color.xml file
- 92 Compile all .9 images inside the dot9 folder
- 93 MD5 Checker – Seldom used, handy to double-check MD5 to verify good file downloads.
- 94 Phone/Emulator – menu for phone and emulator choices.
- 95 Search tools – app to search inside smali or res files (ie textColor="#ffc0c0c0"). (Must have C++ runtime or PRGrep installed)
- 96 Open Notepad++ – best Windows/Android editor that has smali and log syntax highlighting tweek.
- 97 Color Wheel – color wheel with cool color drag and drop from anything feature.
- 98 Color Change – for smali only. Converts from hex to smali.
- 99 Options & Misc – set Header Bar options, clean folders and check logs, Sounds, and color theme for the Script.
- ** Exit the App – usually a better option for closing the Script because it closes the ADB running in the background.
I tried to designed this to make editing apks and doing things with your phone as easy as possible.
{
"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"
}
So here you go. If you have any questions or would like to see something added just let me know.
To Install: (For Windows Only)
1. Extract the zip file to a folder on your computer that does not have spaces in the name Ex. C:\apk\
2. Run the Start_AIO script (When this is opened it will check for updates and make sure adb and java are installed. Will also make all of the needed folders in the AIO dir)
3. Place an apk or jar in the place-here-for-moddding folder and have fun.
To Update: (For Windows Only)
1. Extract the new zip into you previous AIO folder.
2. Let it overwrite the current version files
3. Have Fun.
Requirements:
1. Java JDK must be installed
2. Android SDK must be installed and up to date
Downloads:
Downloads on TeamVenum.com
ChangeLog:
Version 2.0.0.3
-Added New chgcolor that is smaller
-Added New hex to smali script from Allockse and removed xUltimates colorchange.exe
Version 2.0.0.2
-Added Updated apktool 1.5.2
Version 2.0.0.1
-Added Updated apktool 1.5.1
-Updated aapt
-Updated notepad++
-Fixed a few bugs in the script
Setting up your PC for success!
1. Download and install the Java JDK from here
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Download and install the Android SDK
http://developer.android.com/sdk/index.html
3. After the SDK is installed open it and check and install these boxes
Android SDK Tools
Android SDK Platform-tools
Check the whole folder for any version you want to work on (You can check multiple, I have from 4.1 to 2.3.3)
When installing if any ask for a password just click cancel on those
4. Set your windows environment path
Follow this guide until step 3 - http://www.itechtalk.com/thread3595.html
In the image in step 4 find the Path Variable in the bottom section (Double Click to edit it)
Add your android sdk platform-tools folder (Usually C:\Program Files (x86)\Android\android-sdk\platform-tools or C:\Program Files\Android\android-sdk\platform-tools
So at the end of what is already there in Path put this ;C:\Program Files (x86)\Android\android-sdk\platform-tools (Make sure to add the ; before the whole string)
Click ok and save all of that
5. Open my script and setup your framework files
Choose option 99, hit enter
Choose option 4, hit enter
Choose your phone, or choose the last option to put the files in manually.
Choose option 11, select your apk and have fun modding.
6. At this point you should be all setup and should be able to decompile and compile apks and jars successfully.
Please let me know if I forgot something, it has been a minute since I set it up.
Nice work :good:
Sent from my SPH-D710 using Tapatalk 2
You are a beast, thanks for the awesome script!
DarkJelly Gnex on JellyBro sent this from the app.
Thanks! Awesome work!
This will be in Android Development for all phones very soon. This is real development. Congrats and thanks to my friend Rujelus. If a noob like me is starting to understand it, this is going to make themers lives so much easier.
Sent from my Galaxy Nexus using Xparent SkyBlue Tapatalk 2
This is an awesome time-saving tool. Thanks for sharing.
Sent from my SPH-D710
thank you for this. tyvm.
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
You sir are the man! Thank you for such a great tool. :thumbup::beer:
Sent from my SPH-D710 using xda premium
Thanks for all your work to make it easier for us. Great Tools. :victory:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
mjs2011 said:
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
Click to expand...
Click to collapse
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
rujelus22 said:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
Click to expand...
Click to collapse
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
tdunham said:
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
Click to expand...
Click to collapse
It does apks and jars
Sent from my SPH-D710 using Tapatalk 2
rujelus22 said:
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
Click to expand...
Click to collapse
Thanks, I'm going to use this as my starting point for making themes!
So the new AIO is almost ready. I have some people testing it out. What is everyone's thoughts about a free and a pro version for $1. The pro version would allow for batch odexing and deodexing of a rom in minutes with one click. The free version would still allow for editing and modding odexed files the same way we do deodexed now.
With this it will make it so there is no reason to have a deodexed ROM.
New things that have been added are
-odexing full ROMs
-deodexing full ROMs
-odexing and deodexing single files
-editing of odexed apks and jars with no extra steps
-making/restoring/deleting/and fixing md5 mismatch for nands
-Tons of optimized code
-Redone most menus for easier viewing
-More I am sure I am forgetting
Let mess know what you think. I would definitely like some opinions.
Sent from my SPH-D710 using Tapatalk 2
You do so much for us that I think giving back is always good. I am up for it.
Sent from my SPH-D710 using Tapatalk 2
A dollar for the project version..?
I say go for it..a dollar is not much and some devs would charge way more for those types of options
-TeaM VeNuM Like A Boss
-Galaxy Note II Edition
As seen on the front page: http://www.xda-developers.com/android/streamline-your-app-theming-with-batchapktool/ (Thanks nikwen and Will!)
I never was overly happy with available solutions/tools/scripts for theming. So, over time my collection of homegrown batch scripts grew... and now I made a menu interface for them to collect them in a (for me, at least) logical manner. I'm gonna put them up here, maybe some people might find them useful.
BatchAPKTool differs from other Apktool/Smali-manager scripts in a few ways. It doesn't do everything everybody might find useful in a script, but it gets basic things done really fast and really neat. Where it makes sense, several working steps are combined into one command. BatchAPKTool is not a monolithic script. You can use the main menu script (!0-batchapktool-menu.bat), or you can simply click the various single scripts to get stuff done, which is usually the fastest option. There aren't a lot of folders to keep track of - everything is basically done in the root folder of the script. Just drop some APKs there and get going. BatchAPKTool automatically makes backups of the original files. And, of course, the name of the script comes from the fact that you don't select a single APK file to work with, but everything is done in batch (it's the user's responsibility to not mix system and user apps when signing/pushing/installing APKs).
On first startup the script checks if Java is installed on the computer, and sends you to the Java website if not. It also pulls the framework from your device and installs it for Apktool. After that you're good to go. The frameworks are tagged, so one can easily switch when developing for different devices.
The main menu (orange font) shows everything in order that's needed for theming system APKs. Basically, just go from option 1 to option 6 (or 7) and be done. The additional options (red font) contain features one might need as well - options 1 to 3 for non-system apps - but not as often as the main menu ones. Options 4 to 6 are just some 'internals'. It's all pretty self-explanatory, methinks:
{
"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"
}
Prerequisites are - besides Java - a custom recovery like TWRP that can mount partitions (for pushing system apps), and of course USB debugging enabled, ie. a working ADB connection.
I probably packed some safety checks in the scripts that might break operation on certain systems. Bug reports are welcome.
Tools included:
7za v9.20
aapt v0.2
adb v1.0.31
apktool v1.5.2
DeflOpt v2.07
jpegoptim v1.2.2
OptiPNG v0.7.4
signapk [?]
Stripper v1.5.5.60
zipalign
(I didn't include PNGOut for optimizing images, since it is extremely demanding, even on modern hardware... but one can easily add it to the toolchain.)
Changelog:
v1.01 Streamlined some functions, more (in)sanity checks, better integration of framework switching function
v1.00 Initial release
Cool.
Suggested it for the portal.
Awesome - thanks a lot!
A slightly updated version is coming sometime soon.
New v1.01 in first post.
Changelog: Streamlined some functions, more (in)sanity checks, better integration of framework switching function.
dfkt_ said:
New v1.01 in first post.
Changelog: Streamlined some functions, more (in)sanity checks, better integration of framework switching function.
Click to expand...
Click to collapse
Not really into cooking ROMs these days, but this tool will definately help if I enter the kitchen again and try my hand at themimg.
Thanks a lot :good:
Thanks for this, it's really productive
Thanks for this tool, Really useful & helpful!
Thanks bro, it makes so much things easier
Thanks mate. I'll give a try asap
I saw your thread from the portal and this is worth cuz it looks very useful on paper :good:
Glad you guys find it useful.
Don't hesitate to report eventual bugs, or illogical combinations of options, etc.
dfkt_ said:
On first startup the script checks if Java is installed on the computer, and sends you to the Java website if not.
Click to expand...
Click to collapse
Thanks for putting this together, but I think the download Java links in your script should point to the JRE download page instead of the main page for Java:
Java JRE download page
dfkt_ said:
As seen on the front page: http://www.xda-developers.com/android/streamline-your-app-theming-with-batchapktool/ (Thanks nikwen and Will!)
I never was overly happy with available solutions/tools/scripts for theming. So, over time my collection of homegrown batch scripts grew... and now I made a menu interface for them to collect them in a (for me, at least) logical manner. I'm gonna put them up here, maybe some people might find them useful.
BatchAPKTool differs from other Apktool/Smali-manager scripts in a few ways. It doesn't do everything everybody might find useful in a script, but it gets basic things done really fast and really neat. Where it makes sense, several working steps are combined into one command. BatchAPKTool is not a monolithic script. You can use the main menu script (!0-batchapktool-menu.bat), or you can simply click the various single scripts to get stuff done, which is usually the fastest option. There aren't a lot of folders to keep track of - everything is basically done in the root folder of the script. Just drop some APKs there and get going. BatchAPKTool automatically makes backups of the original files. And, of course, the name of the script comes from the fact that you don't select a single APK file to work with, but everything is done in batch (it's the user's responsibility to not mix system and user apps when signing/pushing/installing APKs).
On first startup the script checks if Java is installed on the computer, and sends you to the Java website if not. It also pulls the framework from your device and installs it for Apktool. After that you're good to go. The frameworks are tagged, so one can easily switch when developing for different devices.
The main menu (orange font) shows everything in order that's needed for theming system APKs. Basically, just go from option 1 to option 6 (or 7) and be done. The additional options (red font) contain features one might need as well - options 1 to 3 for non-system apps - but not as often as the main menu ones. Options 4 to 6 are just some 'internals'. It's all pretty self-explanatory, methinks:
Prerequisites are - besides Java - a custom recovery like TWRP that can mount partitions (for pushing system apps), and of course USB debugging enabled, ie. a working ADB connection.
I probably packed some safety checks in the scripts that might break operation on certain systems. Bug reports are welcome.
Tools included:
7za v9.20
aapt v0.2
adb v1.0.31
apktool v1.5.2
DeflOpt v2.07
jpegoptim v1.2.2
OptiPNG v0.7.4
signapk [?]
Stripper v1.5.5.60
zipalign
(I didn't include PNGOut for optimizing images, since it is extremely demanding, even on modern hardware... but one can easily add it to the toolchain.)
Changelog:
v1.01 Streamlined some functions, more (in)sanity checks, better integration of framework switching function
v1.00 Initial release
Click to expand...
Click to collapse
Now this will come in handy very very much! Keep up the good work and keep adding features to it
Sent from my Galaxy Nexus using Tapatalk 4
Not sure that your quote is useful.
8notime said:
Thanks for putting this together, but I think the download Java links in your script should point to the JRE download page instead of the main page for Java:
Java JRE download page
Click to expand...
Click to collapse
Yeah, that's a dilemma - the URL for the JRE direct download link is dynamic (the "1880261" part), changes with each new version. So the script would have to be constantly updated (or some really sophisticated URL crawler implemented). The lazy-but-safe way of linking to the index page is probably the best I can offer. Or maybe it's safe to link to the root JDK/JRE download page (which seems to have a fixed URL), and tell people that the JRE is enough, no need to get the JDK.
THANK YOU
Great tool. Im currently working on my dialpad theme. Great find! :good:
Dear all,
I have recently managed to modify Lloirs SlimBean 3.1 rom to both update the apps and adjust the themes, so I thought I would take the time to share how this can be done with you all.
This guide will not tell you how to build a rom from source, but instead how to initially ruin the perfectly good rom someone else made, and then eventually customise it to your little hearts content without ever having to ./make it.
The intent of the guide is to cover
rom.zip File structure
apks & apktool
SystemUI and framework-res.apk
Anything amazing I haven't thought of yet
The first thing to realise is that both the rom file that you flash and the .apk files within it are all basically .zip files and can be opened using 7zip or other linux variants like fileroller. So if all you want to do is open up the rom and poke around, then I suggest you do just that. Its a great place to start to try and get your head around what is going on in there!
I have tried to do all of these modifications with the minimum install of tools and whatnot, as I like to be as close to what is actually being done as possible. There are a variety of all in one tools available, and a quick search of XDA will find them. In my experience these tend to become outdated quite quickly or development stops. So best to learn from the basics, which means the lowest level of tool possible.
With all that said I strongly recommend getting your mits on Gimp-2.8, fileroller and apktool.
Code:
sudo apt-get install gimp file-roller
Apktool can be found from the Git - repository or the google code site,
http://code.google.com/p/android-apktool/ I'll add install instructions and info on this tool in the specific section. There is also an excellent XDA thread covering the progress iBotPeaches is making with the tool.
http://forum.xda-developers.com/showthread.php?t=1755243
rom.zip File Structure
WIP
OK lets get started with the basics. Download a flashable rom.zip file and start poking your nose where it didn't belong before. If your ready yo get down and dirty just go ahead and unzip it into its own folder. Depending on what rom.zip you have will depend on how much of the file structure below you will see:
{
"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"
}
and here we have the root of the flashable.zip starting from the top we have:
data: this contains anything that is already signed and not part of the original build but that we want to install with the rest of the rom
META-INF: Full of all the meta information you could ever dream of. This contains all the certification and signing files along with our most important file of the install script.
system: This contains all the files that actually make up our ROM so this is everything above the HAL (Hardware Abstraction Layer). In here are the goodies I will describe how to play with later.
boot.img: Is the all important kernel, if you are S-OFF this will flash on install, if not you will need to use fastboot to flash it separately.
So if your unhappy with all of this and want out of the woods already then you can just re-zip the files back together and they will work fine, no harm done. If not the lets move onto the easy folder data. I say easy because we can't break anything here, if you get it wrong then the packages here just won't install.
DATA
So as we can see above, we have a folder called app, which is full of a load of packages that I wanted to include into the rom, but and this is the important part. I didn't want this apps to be system apps, this means I wanted them to be easy to remove without using root access. As you will see system apps live somewhere else, not totally unlike the system/app folder :silly:. Another important point is that the apps/packages, I will use these terms interchangeably, that get installed from here are all signed, this means they have a signature in there meta.inf files saying that they have not been messed with. Most app developers will sign there work, to help keep it safe, and stop people from pirating it with such ease. All apps from the playstore are signed in such a manner. The apps in other folders must not be signed, but we will get back to that. If you have any apps or packages you have got the .apk from XDA thread or elsewhere this is one of the best places to put them if you want them to install with your rom.zip
So the truth be told, I have no idea what other folders you can put in aside from the app one, but I am sure there are plenty, if you find any let me know.
NEXT, we have the META-INF folder:
META-INF
Here as mentioned we have or CERT.SF which is a certification file, our MANIFEST.MF which is the manifest ie list of everything going into this rom, and CERT.RSA another signature file. DON'T BE MESSING WITH THESE. They are core to the install process, and generated by the build scripts used to create the rom in the first place. You can open and look at them all, which will help your general understanding and break nothing, however No saving the files.
Above is the full expanded file structure, again there is really nothing you want to mess with in here, but I'll explain what I know about them. First up is the:
Android folder files, which these cover the Over The Air (OTA) update information, this is just some data that identifies what version etc of the rom for what phone you are using. It used to make sure you get the right ota update, in this rom I haven't set up ota as I have literally no idea how.
google folders stashed in the second android folder are the updater files, this is effectively a list of what the recovery program is to do when installing the rom, so you will even find the lovely message that gets printed as your rom installs saying its all going well.
This leaves us with the most important of all the folders, the system folder. In here as mentioned before are all the golden nuggets that make the trove that is your rom. Lets take a peek.
As we would be hoping the folder is full of goodness! Taking it from the top we have:
SYSTEM
system/addon.d This contains shell scripts (Ones that would run in your terminal) here we have the 50 - slimupdate.sh slimupdate script, again for OTA but this backs up the hosts (I'll get to this later) file so that it is re-instated after the upgrade. Secondly we have the 81-aio_gapps.sh which backs up the gapps that you had installed before the ota update. So they can be put back afterwards. Feel free to open these look around, and if your not doing any ota they are pretty useless.
APP
system/app This is a very significant folder as it contains all the apps that will run as part of the system, in here you'll find the dialer phone.apk, the google search package velvet.apk, the google play store vending.apk and your text messenger mms.apk. All of these files are important, come unsigned as they used to be unavailable on the playstore, and for other important reasons I am unaware of. The important part is that when we start to think about editing them with apktool, or you make your own they stay unsigned them.
The system folder is protect as read only (-ro) so that these files are not available to be changed during normal use of the phone. Of course using esExplorer or another root explorer you can change the -ro mount setting to -rw allowing you to write to the folder as well, and so change the files.
I will be happy to answer any questions as to what .apk file relates to what if you are stuck at any point. You can remove and re-install these as you wish, but be warned remove the sytemUI.apk will result in very limited functionality on the phone, which is why I will be talking it up a bit later. Its also worth noting that different roms use different android versions of the .apk and they won't always play nicely together. Whats more some of the .apks are reliant on each other, for instance googles gallery.apk and camera.apk have cross funstionality, as do mms.apk, phone.apk, contacts.apk, and contactsprovider.apk, as they share usage and files.
BIN
Just like in your linux file directory the bin folder holds all the functions and programs that get called throughout the day to day use of android. As an example adb and the backuptool are in here. Again I would advise not messing with these files, but be aware that when your trying to add new packages or functionality to a rom you may find yourself adding files or functions in here.
/-- OK enough for now I'll get back to this --/
apks and apktool
OK so hopefully we now know where all the lovely .apk files are hiding within the file structure of our rom. Which don't get me wrong is nice enough in itself, but what we really really wanna do is open these bad boys up and start editing them just the way we like it.
The simplest way to do this is with 7zip or fileroller, you should be able to just double click pop them open, then navigate to the res folder where you will find all the folders with the .png and .9.png s for the gui systems in the app. If your using gimp or photoshop or pretty much any paint related software you can immediately go ahead and edit the .png files. The smart thing to do here is not to replace any files but edit and save them as the same resolution, as you may have noticed that the different res folders are separated into different resolutions and upright and sideways display. For the HOV most of what we want will always be in teh HDdpi or xHDdpi folders. Do Not Edit the .9.pngs As this will result in the failure later. This method is only really useful if your lazy, and only want to grey-scale a single image or what.
If you've got this far you probably want to be able to edit the .9.png s and start opening and changing the .xml code so that you can edit default backgrounds and text colours. To do this we will want the excellent apktool,
http://code.google.com/p/android-apktool/
This tool will unpack the .apk file and allow us to rebuild it as well, however it is rom specific to some degreee, as some .apks have been created using a different aapt file (Slim, some AOKPs) and so will require a more specific version. This may sound like a pain, but it can be dealt with super easily.
The slim one can be found here and has just recently been updated to handle Slim4.4 apks
https://github.com/SlimRoms/apktool
So how do I install, and then run these tools? How do I swap between slim and aosp or other .apktool versions?
First is first, download the version of the tools you want, either through direct link on the googlecode page or from downloading as .zip from the github page. Its worth noting that the latest apktool (v2) which works with java1.7 and can be downloaded from the github works slightly differently from the guide here, but its easy to work out how and is documented on the website.
I am going to assume we are too lazy to read the website, in which case stoppit go back read the website!
That done we can now run the install.sh script in terminal which will create an apktool folder where we can run the tool to our delight.
Importantly it should also put an aapt, apktool, and apktool,jar file into our /usr/local/bin/
Please note that any file structure starting with / is from the true root of the file structure whereas any with ~/ will be starting from your root folder in my case /mcgi5sr2/
This is one place where files go that you can execute anywhere within your file structure, so you can apktool anywhere in your file structure, please not that the decompiled files will always end up in your ~/apktool/<fileName>.apk folder.
So with this knowledge we can rip the aapt, apktool and apktool.jar out of the slimapktool, rename and put them in the /usr/local/bin/ folder for safe keeping. To use them in the heat of battle we simply rename the exisitng ones to 1.5 or 2 or whatever really, then change the name of the slim files back to aapt, apktool and apktool.jar . This way we can swap between them with ease. There are other ways of doing this, but they are beyond my ken (understanding).
OK so we are now installed, and can swap between apktool versions and have an apktool folder! We can really begin.
Delve into you rom or phone and pull out systemUI.apk from your rom/system/app folder and framework-res.apk rom/system/framework/ folder. This can also be done using adb
Code:
adb pull /system/systemUI.apk /apktool/systemUI.apk
adb pull /system/framework/framework-res.apk /apktool/framework-res.apk
Should do the trick, With some HTC roms ie stock you may find you need to also pull the htc-framework-res.apk. Once this has been done then one of the most important steps takes place. We extract the file framework for the rom so that we can decompile and recompile successfully for the phone. From within the same folder as the systemUI.apk and framework-res.apk on your computer type:
Code:
apktool if systemUI.apk
apktool if framework-res.apk
this will create a framework folder within ~/apktool/ which should contain a 1.apk and normally a 127.apk these are SUPER important let them be.
Finally it seems we are ready to decompile the .apk file we wanted to edit, a good place to start is the phone.pk or mms.apk so move the file wherever, I use the ~/apktool/ folder for all this craziness. Then type:
Code:
apktool d mms.apk
The magic should happen and you will have a ~/apktool/mms folder! In which is basically a lot of the same stuff in the unzipped version we talked about earlier. This can be edited to your delight and then recompiled, in fact its worth recompiling immediately to check it all works, nothing more annoying than spending a long time working in your res and values folders only to have it not recompile! So,
Code:
apktool b mms
Note the fact that the .apk is no longer present this is because we are building using the folder as source.
We are not done! We need to make sure the certification and signing is all correct, so we need to open the original .apk file, and extract the AndroidManifest.xml and the META-INF folder and replace the ones in the ~/apktool/mms/build/apk/ folder this will make sure we have the original signatures. Then we
Code:
apktool b mms
one final time, now the finished mms.apk should be in ~/apktool/mms/dist/ folder ready for use in the rom.
Once decompiled not only can we edit the .png files in the res/drawable folders but we can edit the .9.png files and the .xml and if we are really know what we are about the .smali files. I strongly recommend staying away from smali unless you really know whats up. There is an important rule to follow when editing .9.png files as well, that you should not alter the black lines that surround the edges. Everything else can be edited bar them.
As you can see above these lines normally only a pixel or so wide, but play an important role in how the files are used, stretched, repeated etc. In fact in some cases I have found that even using black (rgb ff000000) caused problems so I used just off black (rgb ff010000). The RGB codes used in the .xml files are also slightly different to normal, the first two digits represent how transparent the colour is with ff being solid, and 00 being transparent.
.xml files of interested will undoubtedly be found in the /res/values folder, as this is where most of the colours are defined.
There are a lot of things that can go awry in this, but if you follow these instructions you should be cool. Any issues you can try me, or go for the mega thread on apktool listed at the top.
A few pointers on what you'll find in the different folders once you've decompiled the .apk can be found in the post below about SystemUI.apk and Framework-res.apk
SystemUI and Framework-res
reserved to cover these special apks
Forgotten Isle
reserved for any new important things I may want to tag onto the en of this
File Structure
Also reserved...... for a reason yet to become apparent
Awesome work mcgi5sr2. This guide is really useful..
MScorporation95 said:
Awesome work mcgi5sr2. This guide is really useful..
Click to expand...
Click to collapse
I'm pretty busy right now, but will try and finish this for anyone else who is interested. I would add a build guide, but there are a lot of those out right now anyway.
If people are interested we could start a build and build errors thread for Primo to help each other out
Thank you!!!
---------- Post added at 09:01 PM ---------- Previous post was at 08:55 PM ----------
Very good guide
Sent from my One V using XDA Premium 4 mobile app
HTC ONE V reflash from *ZIP
hi, could you suggest me how to flash from ZIP(official EU ROM, downloaded from htc dev site), and I won't to change below mentioned?
* bootloader - LOCKED
* have orig. ROM but UK oriented
vinm07 said:
hi, could you suggest me how to flash from ZIP(official EU ROM, downloaded from htc dev site), and I won't to change below mentioned?
* bootloader - LOCKED
* have orig. ROM but UK oriented
Click to expand...
Click to collapse
You have to unlock your bootloader and install a recovery to flash a rom.