Hi there.
The greatest thing about Android is that you can change just about every element of the U.I, and if all you want to do is change a few images it's as simple as copying and pasting, but this guide will teach you how to...
[*]Use ADB Commands
[*]Deodex
[*]Decompile
[*]Recompile
[*]Sign
[*]Zipalign
...in an easy to follow manner that will have you theming your own apks in no time. There are many many GUI programs which I'll link to below that automate the following process but experience has taught me that it's important to know the basic process for when those programs don't work, are no longer maintained or you just don't like them for whatever reason etc, and to be honest command line editing for me is just as quick, and I personally prefer the ability to have everything in one folder. So lets begin.
Some Requirements:
A Rooted Phone.
A BACKUP OF YOUR PHONE!
Java - Do this first if you don't have it installed already.
Notepad++ - An essential program for xml editing!
Photoshop or Gimp - You'll need one of these for image editing.
7-Zip or WinRar - Required for apk editing.
Patience. :silly:
Use Linux or a Mac? See the following threads for more information on using apktool on other Operating Systems...
[WIN/LINUX][Decompile/Compile] Quick Mod Tool 4.0 [decompile and compile with speed]
APK Manager for Mac OS X
[Linux][UTILITY][TOOL] APK Multi-Tool
[tutorial] decompiling,recompiling and signing in linux (27-01-2013)
How to install and use Apktool with Ubuntu
Quick Tips;
.apk files are applications on your Phone, but when they''re on your computer you can browse them exactly like you would a .zip file, so set your default zip program as the default program for handling apks which will makes things much easier when working with them.
Download themes for your Phone, for other Phones too even and compare the res folders and screen shots of the theme as that will give you a good idea of what image you need to look for when modding your own apks.
If all you want to do is change images then you don't even necessarily need to decompile, you can just drag and drop images in to an apk to replace a stock image so long as they have the same file name.
For more complex mods like changing text colors and layouts (.xml files) and editing .9 png images then you will have to decompile.
{
"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"
}
Most of us will have Java already installed, but if you don't then get it installed before doing anything else. To save you the time and hassle of figuring out what else you need to download etc I've made a zip for you to download which contains Apktool and ADB.
Download APKTool_CMD.zip to a location of your choice, preferably the C:\ drive which will give you a folder to work from. This is how mine currently looks...
Once your folder is setup, java and other tools installed, you're going to want to get any apks you want to theme off your Phone and there are numerous different ways to this, but we're going to use adb commands to pull files to your computer so we need to open a command prompt window in your Apktool folder. To do this simply hold the shift key then right click your mouse in the Apktool folder and select "open command window here", or just click on the included command prompt.bat.
I like to pull the whole system as soon as I'm rooted as it gives me a backup of stock files which I can then copy and deodex to be themed.
The command to pull your whole system is...
Code:
[B]adb pull /system/ Z1C_368[/B]
...you can choose something other than Z1C_368 as your folder name but it will create that folder in your Aktool folder. Alternatively you can just download individual folders, the commands are as follows...
Code:
[B]adb pull /system/app/ Z1C_368 app
adb pull /system/priv-app/ Z1C_368 priv-app
adb pull /system/framework/ Z1C_368 framework[/B]
...or pull individual files...
Code:
[B]adb pull /system/framework/framework-res.apk[/B]
...so now you should have a APKTool_CMD folder with another folder within it and at least your app, priv-app and framework folders in that, which we can use for the next step.
The tool I use is this - [Tool/Utility] JoelDroid Lollipop Batch Deodexer. While I will deodex all the files I've pulled to my computer experience and battery life has taught me to only deodex the apps I've themed on the phone, rather than run a fully deodexed ROM.
Before you can do anything else you need to install your framework-res.apk and SemcGenericUxpRes.apk/twframework.apk, which will put two apks at C:\Users\YourPCName\apktool\framework which are the resources apktool uses to work its magic. The two commands to install your two resource apks are...
Code:
apktool if framework-res.apk
apktool if SemcGenericUxpRes.apk
The command for decompiling is...
Code:
[B][U]apktool[/U] [U]d[/U][/B] framework-res.apk
...which will create a folder named like for like except for the .apk extension, and in this folder is where you'll find a couple of folders, the main one always being the res folder as it's in this folder that you'll find your images and xmls to edit. First glance of a decompiled res folder can be overwhelming, 596 folders in my frameworks, but we only need to focus on a handful in the majority of apks, and they are...
drawable
drawable-xhdpi-v4 (drawable-xxhdpi-v4 depending on your device)
layout
values
...you may need to delve into others sometimes but it's very rare that I've had to.
Once you've finished making your mods you need to recompile your apk using the following command...
Code:
[B][U]apktool[/U] [U]b[/U][/B] framework-res
...notice you only use the folder name here. If you get any errors here due to a bad edit apktool will usually tell you, in a roundabout way, you just need to read the code it throws up then retrace your steps, correct any bad edit and try again. If all goes smoothly you'll now have a new folder called dist, which contains your newly modified apk, but you can't use that just yet.
This is where 7-Zip or WinRar comes in to play. We need to extract from the original apk the Android.Manifest.xml and META-INF folder, into the dist folder, then from the new apk extract the resources.arsc also into the dist folder, then drag and drop all three files back into the new apk, but NOTE, it's important that you choose store as the compression method, any other will break the apk, and if you replace a broken framework-res.apk you will bootloop.
And signing is as simple as that. Alternatively you can use the following command...
Code:
[B]java -jar signapk.jar testkey.x509.pem testkey.pk8[/B] framework-res.apk.apk framework-resS.apk
...notice the extra "S", the output name has to differ from the input name otherwise it will give an error, if done right it will create a new apk called framework-resS.apk, just remember to rename it back to the original before using it on your Phone.
[TOOL] pySignare - Quickly Sign APKs [Windows]
Signing For The Play Store
If you plan on Publishing a Theme or any other app/apk to the Play Store then using the above method to sign your apks just wont work because you need to give it an individual signature that is unique to you, thankfully @AndroidGraphix has written a great guide that will show you how, it's a bit more fidgety than the above method but simple enough to follow...
AndroidGraphix said:
Click to expand...
Click to collapse
- Noobs guide to signing an APK with a Private Key
DISADVANTAGES OF UNALIGNED APKs
Quite understandably, situation would be reserved for unaligned application packages. Resource reading would be slow and memory usage would be on the higher end of the spectrum. It would also depend on how many unaligned applications are present. For example, if less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
Click to expand...
Click to collapse
- SOURCE
Move your new signed apk into your APKTool_CMD folder, you can overwrite your original if you want, and use the following command...
Code:
[B][U]zipalign -v 4[/U][/B] framework-res.apk ZAframework-res.apk
...notice the ZA, zipaligning creates a new apk which has to be named different from the original, but use what you want, it'll need renaming again before you use it.
So now we need to transfer your apk back to your Phone, you can do it by copying to your SD, then to your system, change permissions, then copy to the right folder, but that's not only time consuming but highly tedious too, so a simpler method is to use adb using the push command as this allows us to push straight to the system overwriting the original with the correct permissions too. To use this method you'll need you'll need an unsecure kernel and/or Chainfires adbd Insecure app. Try the app first but if you still can't mount and push files read this thread - [HOW TO]Make your favorite kernel adbd insecure to run ADB as root on /system and try again.
Rename your zipaligned apk to it's original name, then we need to mount the system before we can push direct to the the system, and the command for that is...
Code:
adb remount
...then we need to make sure we're pushing our apk to the right folder on the Phone, so for the framework-res it's...
Code:
[B][U]adb push[/U][/B] D:\Xperia\Z1C_368\APKTOOL\framework-res.apk /system/framework
...yet for the SystemUI it's...
Code:
adb push D:\Xperia\Z1C_368\APKTOOL\SystemUI.apk[B][U] /system/priv-app/[/U][/B]SystemUI
...if it's any one of those two then generally you need to reboot, so just type...
Code:
adb reboot
...your Phone will restart and if you've done everything right your new mods should be displayed, happy days. So that's it for how to use command prompt for modifying apks.
So now you know how to prepare an apk for editing your going to want to theme it obviously, and the following links will help you with that.
XML 101 - XML Modding Made Easy!
How To Edit Resources
The Ultimate Android Themeing Guide
[GUIDE] Smali coding guide for beginners
[Reference] Interactive Phone Modification [GUIDE]
[TOOL] Android Drawable Resizer Tool
[GUIDE] Want to learn how to theme?
[Guide] demystifying build.prop [Valid entries]
General Questions about Themes GO HERE!!!!!
[INFO] Custom framework-res.apk resources.arsc using vendor overlays
[Tutorial][NICS Themer] Create Your Own Themed apk & Become a Themer
U.I Modding
Tutorial :- Changing App Icons
[TUTORIAL]How to Theme Your MMS
[How-to] Edit the "About Phone" display
[Tutorial][VIDEO] Add/integrate apps into Settings app!
[TUTORIAL] Where to find the colors for making a theme
[MOD][GUIDE]LockScreen Clock with seconds[ANY ROM]
[TUTORIAL] How to add various framework/Settings mods
[TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie!
[HOWTO] Integrating/Adding applications to the settings menu
[TUTORIAL][ICS][GB][JB]How to change Android's black background
[GUIDE][Ultimate]Theme Apps To Dark Theme | Theme Whole System | Newbies Here! 12/11
Text...
Text Color Guide
[GUIDE] Tips for themers
[GUIDE][REF]Changing System Text Settings
Statusbar...
[MOD][TUT] Merge The WiFi And Signal Icons
[GUIDE][MOD][SYSTEMUI] How to add 0.00KB/s meter on statusbar GB/ICS/JB
[TUT] How To Center The Clock On The Statusbar..And Move Other Icons As Well!
[How-To]Removing Battery Percentage, Adding Toggles,Battery Circles to Statusbar
[GUIDE][Mods][All Devices]How to add/ Change Clocks to Analog/ Digital with Seconds
The three best/most popular GUI programs are...
@Diamondbacks - Virtuous Ten Studio
@Ticklefishs - [TOOL] Tickle My Android
@BDFreaks - [Tool]Advanced ApkTool
...there are others but these are I what I tend to see referred to the most.
TIP:
Restoring modified files if you mess up is easier and quicker with a CWM.zip, especially if you're modifying any framework apks! Just because an apk might build with no errors doesn't mean it won't give you any when installed to the Phone.
I hope after reading this explanation you're left wondering what all the fuss is about, as it really is quite simple. I'll use the following two images, btn_default_pressed_holo.9 & status_bar_close_off.9 to illustrate the basic point of the borders...
Decompiled .9pngs:
Recompiled .9pngs:
Those borders control which part of the image is stretched (Left & Top) and where on the image content will be displayed (Right & Bottom). We'll use Draw 9-patch which is for editing the borders of decompiled .9pngs and lets you see how the image, when stretched, will be displayed on the Phone. Notice that the borders are different sizes, well that's because I only want/need a certain part of the image to stretch to get the desired look on the Phone.
...in the image below the left side shows the stretched image and desired effect should look on the Phone and the right side shows how it would look if I had edited the borders incorrectly or used none at all...
You can get away by not using a border but you would need to edit your image to specific dimensions to accommodate for the stretching, for example it might look fine for a simple OK button but it might not look right if you used the same .9png for a screen press which stretches the whole length of the screen, so you're better off just using them to begin with, plus you'll more than likely get errors down the line while decompiling or recompiling your apk.
The use of the border is made even more clear when you add text to an image. For my status_bar_close_off.9 I've filled all four sides of the image (except for an empty pixel in all four corners as that is the max amount of border you can use) as I need it to stretch the image just how I've edited it...
...but if I used the same sized left side border as the btn_default_pressed_holo.9 then this is how it would look on the Phone...
...which is obviously not the look I'm trying to achieve, as the left side border is causing the image to stretch incorrectly.
So that's basically it, depending on the image you're editing you can usually leave the borders alone but if you create one from scratch then you might need to play about with them if your images doesn't look quite right when used on the Phone. Here's a few links that will assist you further, especially the batch editing...
How to edit .9.pngs
[TUTO] Create your 9.png !
[UTILITY][TOOL] 9patchPngSuite [Windows&Linux]
How to draw NinePatch images with Photoshop - .9.PNG
[TOOL][Multi-Platform][.9.png][ALL DPIs] Android Resizer Tool
[Tutorial][Commentary] How To Batch Edit .9PNG/PNG Images
[tool] 9compiler - batch process for themers android
ClockworkMod Recovery zips are used for flashing individual files to whole ROMS and can be a life saver if you push a badly edited apk to your Phone that results in a bootloop. There's also a few programs that can assist you with that too, but if all you're doing is replacing a few files all you really need is a template, then it's just a matter of creating the Phones folder setup in the zip which is simply creating folders: system\app - system\media\audio etc then dragging and dropping your files into it. A basic understanding of the updater script is essential, a ROM.zip will more than likely wipe your Phone whereas a Theme.zip may just replace files but it might delete some also.[/QUOTE]
See below for a CWM.zip Template but first some helpful links...
[Tool]easy flasher v4 (ur own update.zip)
[Tool][Windows/Linux] Android Flashable Zip Creator
[Utility-Tool][DEVandThemers]CWMflashpack.zipCreatorV1{TheCollective}w/EdifyScripting
ERRORS encountered in CWM Recovery
[TUT] [for NOOB] editing updater-script for noobs!
[TUTORIAL] Making Flashable ZIPs, EDIFY Script, ZIP Signing & Key Creation
This is my Restore_zip which is set up so you can add your own files to the framework and apps folders in the main system location, but you can easily add other folders to it if you want to add things like fonts, tones or anything else, just remember to add folders within folders if that's where the files you want to include are such as tones, media\audio\alarms for example.
If you navigate to META-INF\com\google\android you will find the updater-script which controls how the zip works and the text you see when you run it in CWM. As this zip is just for basically over writing files you don't need to edit anything except for a few lines...
...this is how I've edited it for my theme...
...so just edit it using Notepad++ to your liking.
When adding files to your zip add them using Normal as the Compression Method...
...Remember to remove the text files I've added otherwise they will be flashed to your folders too.
And that's pretty much it, the only way you're really going to learn is by reading then putting into practice what you've read and picking stuff up along the way, fortunately there are numerous guides for numerous mods and tools to help with a variety of tasks.
Notable credits and thanks to @iBotPeaches and @Brut.all for making it possible with - Apktool
Useful Suff...
rovo89 said:
In this thread, I'm presenting a framework which gives you the possibility to modify your ROM - without modifying any APK (developers) or flashing (users)!
...
Advantages:
No need to modify any APKs. This means:
No need to decompile, change things in smali, compile, sign, ...
It will work for odexed and deodexed ROMs.
Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Hell, it will probably even work with different ROMs.
Multiple mods can be installed at the same time, even if they change the same package. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.
It does its magic at runtime. That means you can implement options to let the user decide if they prefer the bikeshed to be painted in red or blue. Or you can have some extra logic for certain ROMs without building different mod versions.
It can be disabled easily without having to reflash.
It's open source.
Click to expand...
Click to collapse
- [FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs
Annex1 said:
CM10.1-THEME_BOOK
Theme book was created by Annex and Ebs512. I've been asked alot of questions from how to get started? what do I need to get started? to What Graphics program do I use? etc. We made a real simple theme guide to help get you started. This is in Layman Terms.. Nothing fancy.
ONLY THING FANCY IS MY FLASH BOOK
YOU MUST HAVE A FLASH PLAYER INSTALLED TO VIEW THIS!!!
Click to expand...
Click to collapse
- [GUIDE] HOW TO THEME CM10.1 - Animated Book
[Guide] Porting XTheme themes
[How to] XMLGenerator.jar + batch script v2.0
[Guide] Xposed Framework/TabletUI (Noob-Friendly)
[Tool] Drawable XML generator for CM7 theme chooser
[Guide] How to port themes to T-Mobile Theme Chooser
[Tool] [Theme Creator] [CM/Avatar] Theme creator tool
[INDEX][WiP] List of APPs & MODs that use XPOSED Module
[Tool] nhnt11's XML Generator Revived V2+Extended UPDATED!
[DEV/GUIDE]Creating APKs for use with TMobile Theme engine
[Tool][PortCx] Port CM Themes to Xtheme Engine in One Click!
Theme-Porter [v1.0] [Any Firmware / Rom Compatible] [WINDOWS]
[GUIDE] T-mobile theme engine for the faint at heart (non-linux users)
[1/30/2013] Mega 4.2.1 BlackBean Theme Template [XXHDPI/XHDPI/HDPI/TVDPI]
[MOD][XPOSED][4.0+] XThemeEngine beta5 - Theme engine for any rooted phone
[APK][Xposed] ResXploit : Theming your android the easiest way! No decompiling APKs!
-·=»‡«=·-[JB][CM10] Theme Engine Template Updated To V4 [8-7-12][XHDPI/HDPI]-·=»‡«=·-
Hi Guys, I tried to do a small tweak to my ROM like just a color change to signal bars, as mentioned in the XDA university, but once the apk is pushed to system/app and restarted, it went to bootloop. I just changed the color of a image file using GIMP (as mentioned), then dint work, so just tried decompiling SystemUI.apk and then recompiling then folder without any changes and push to system folder, even that dint work, then i saw this thread, i tried the replacing the resources.arsc from old apk (opened using winrar, and dragged to my folder), the opened my new recompiled SystemUI.apk with winrar and added this resources.arsc file which i extracted with compression option as Store, then pushed it bcak to /system/app folder , every time i pushed i connected the phone in recovery mode. But still in bootloop, the moment i replace the apk with original one, it works, can some one pls point out what am I doing wrong ?
Hardware - I9100 - galaxy S2
ROM - JellyBAM 3.3
Kernel - Siyah 5.1+
thanks,
merin
merin_83 said:
Hi Guys, I tried to do a small tweak to my ROM like just a color change to signal bars, as mentioned in the XDA university, but once the apk is pushed to system/app and restarted, it went to bootloop. I just changed the color of a image file using GIMP (as mentioned), then dint work, so just tried decompiling SystemUI.apk and then recompiling then folder without any changes and push to system folder, even that dint work, then i saw this thread, i tried the replacing the resources.arsc from old apk (opened using winrar, and dragged to my folder), the opened my new recompiled SystemUI.apk with winrar and added this resources.arsc file which i extracted with compression option as Store, then pushed it bcak to /system/app folder , every time i pushed i connected the phone in recovery mode. But still in bootloop, the moment i replace the apk with original one, it works, can some one pls point out what am I doing wrong ?
Hardware - I9100 - galaxy S2
ROM - JellyBAM 3.3
Kernel - Siyah 5.1+
thanks,
merin
Click to expand...
Click to collapse
Hi There
Try using 7zip to update the apk instead of winrar. if that doesn't work, post your logcats,
Thanks
trevd said:
Hi There
Try using 7zip to update the apk instead of winrar. if that doesn't work, post your logcats,
Thanks
Click to expand...
Click to collapse
I will try that when i get back home today, and is there any option i need to set when using 7zip like store mode ?
thanks,
merin
hi, I tried with 7zip, 1st i just opened the recompiled zip with 7zip and dragged and dropped the resources file from original apk to this archive, and pushed to phone , still boot looping, and then tried to right click on the resource file from original apk, and selected add to 7zip archive, and changed the archive format to .zip/compression mode to Store and saved, then pushed to phone, still boot looping. So here i have attached the logcat, hope that is correct how i have done it, after rebooting the phone, i typed in consle logcat > log.txt and it was waiting for device, once in boot loop i did ctrl + c, then it exited. Please let me know if you need more info, do i need to attach my original SystemUI.apk and framework-res.apk ??
Happy New Year !!!
thanks,
merin
Nice tuts I will try at home :thumbup:
Sent from my ST18i using xda premium
merin_83 said:
then i saw this thread, i tried the replacing the resources.arsc from old apk (opened using winrar, and dragged to my folder), the opened my new recompiled SystemUI.apk with winrar and added this resources.arsc file which i extracted with compression option as Store, then pushed it bcak to /system/app folder , every time i pushed i connected the phone in recovery mode. But still in bootloop, the moment i replace the apk with original one, it works, can some one pls point out what am I doing wrong ?
Click to expand...
Click to collapse
Hi.
Are you copying the AndroidManifest.xml and META-INF folder from the original to the new apk too?
Actually i did the exact thing you said yesterday, when i found in the youtube, and it worked thank you!, but dint copy the resource file (but had some fc's when opening camera 1st time), may thats the reason,,, so i should copy AndroidManifest.xml and META-INF and resource file ?, and is this a standard procedure when we do a recompile every time ? or it varies with situation ?
thanks,
merin
Hey hi guys....can any 1 tell me how to set boot image which i want hmmmmm
Sent from my HTC Desire HD using xda app-developers app
merin_83 said:
so i should copy AndroidManifest.xml and META-INF and resource file ?, and is this a standard procedure when we do a recompile every time ? or it varies with situation ?
Click to expand...
Click to collapse
It's how I do it every time and never have an issue (unless I've screwed up somewhere), so yes.
sagar4all007 said:
Hey hi guys....can any 1 tell me how to set boot image which i want hmmmmm
Click to expand...
Click to collapse
oh okey thank you XperienceD, does it make a difference if we just use apktool or Androidsuite for decompiling and building ?
thanks,
merin
merin_83 said:
oh okey thank you XperienceD, does it make a difference if we just use apktool or Androidsuite for decompiling and building ?
thanks,
merin
Click to expand...
Click to collapse
I think androidsuite uses apktool for its decompiling and build it just uses it through a ui as apktool is command line so its more a preference of use for you
Sent from my GT-N7000 using XDA Premium HD app
ttibbetts83 said:
I think androidsuite uses apktool for its decompiling and build it just uses it through a ui as apktool is command line so its more a preference of use for you
Click to expand...
Click to collapse
What he said. I've set this up for when such programs don't always work.
How about some links for how to guide for Ubuntu user and some links on .XML file editing I was doing .apk mods on windows then started messing around with Ubuntu and find its I little more work to get it setup but all an all it to me is a better environment for android then windows IMOA
Sent from my GT-N7000 using XDA Premium HD app
ttibbetts83 said:
How about some links for how to guide for Ubuntu user
Click to expand...
Click to collapse
After a quick search for android theming ubuntu there doesn't seem to be a lot of information for it, and this post...
Nikkopt said:
What and where have you heard about Ubuntu helping on theming? It depends on personal taste and choice. You also have much more tools to help you graphically on windows and mac os.
Click to expand...
Click to collapse
from this thread - Which version of Ubuntu is recommended for theming? suggests why.
here are some links for ubuntu installs that will help with .apk modding on ubuntu for those who want it
how to setup apktool on ubuntu
http://my.opera.com/ubuntunerd1/blog/2012/08/20/how-to-apktool-with-ubuntu-under-construction
ubuntu version of paint.net
http://pinta-project.com/
xaraxtreme looks to be a good program from what i have read but i have not tryed it out yet
http://www.xaraxtreme.org/download.html
gimp is avalable through ubuntu software center and for .xml ubuntu has built in editer software just by right click and open with text editer
hex color website http://www.procato.com/rgbfind/
Nice guide my friend :good:
if anyone get apktool doesn't work on apk JB 4.2.2 ROM you can use this Latest apktool http://d-h.st/cze
Rizal Lovins said:
Nice guide my friend :good:
if anyone get apktool doesn't work on apk JB 4.2.2 ROM you can use this Latest apktool http://d-h.st/cze
Click to expand...
Click to collapse
Thanks Rizal.
Related
In the following 3 manuals, you will be shown/told how too create a theme.
Thank you to the authors. Most of all to Stericson for he is the first to figure out HOW to create a theme for your phones.
Thank You Again
Restore your G1 back to it's original theme and fonts!
To create themes, or to edit themes to your liking, you will need a working knowledge of android, adb, how to resign apk's, knowledge of your own O/S.
Things you will need:
The rom you intent to create a theme for... Now a days there are so many to choose from so none of this will be rom specific.
You will also want to get the latest and greatest bootloader installed on your phone and to HIGHLY suggest everyone trying your theme to install it as well.
You'll find this on Android Development
You will also need the latest SDK and java:
Link to Java: http://java.sun.com/javase/downloads/index.jsp
Downloading SDK: http://code.google.com/android/intro/installing.html
You can also use any zipping archive to extract files from and to the update.zips. I believe there are links below to some of these.
Very Important!
You do not usually need to resign every apk that you change! Usually you only need to resign the update.zip! However there may be times that you may need to resign an apk. So dont sign the apks...if you have problems with the update then try to resign the apks.
JesusFreke was kind enough to build a custom signing tool for me that would allow me to right click on an apk and resign it from there. I am posting it here for others to use as well. Note that this is a courtesy of JF, so thank him for it. I cannot stress how much time this has saved me and will save you.
Automatic version!
Do not use this to sign APK files in Vista or windows 7! It will cause your theme to loop phones when placed on a device. Only use this to sign update files if your using those O/S's
Note, this will not work if your SDK or the path that you place this in has any spaces in the dir name!
An Example of this is c:\users\Nikki and Stephen\sdk\tools
Try to put the SDK and the contents of the zip in a dir where the names are all together and not like the one above.
I have made a batch file that will automate the entire process of setting up to use the signing tool made by JF. This batch file will set the CLASSPATH, set the PATH, install the registries, and will even allow you to sign files manually if you wish. I plan on building onto this batch file to include other things. However, for the moment, it will only include what you see here.
In order to use this you should have downloaded the sdk already. Simply extract all of the files into the tools dir of your sdk, and run autosign.bat follow the instructions and go through the options one by one, starting with 1 working through 4. You can however, put the contents of this zip anywhere on your computer and it will work. It is just better to put them into the tools dir of your SDK. Especially for the consideration of future versions.
Autosign .zip: https://docs.google.com/leaf?id=0B5...MTEyMi00NzI4LWJkMDQtZTUzNjBjMTZlMWNj&hl=en_US
Want to set up the signing tool manually?
Before using this you need to know how to set this up:
Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.
FOR XP:
Right click on My Computer click properties, then choose the tab that says advanced.
Click the button that says environmental variables.
Go to system variables find the one that says CLASSPATH
double click it
go to the end of variable value.
There should be a semicolon ; at the end, type in the path to the testsign.jar located in the tools directory of your SDK
for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar
If CLASSPATH is not in your system variables then create it.
Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory.
For example, mine was c:\sdk\android-sdk-windows-1.0_r2\tools
FOR VISTA:
Open a cmd prompt.
Replace THEEXACTPATHTO-TESTSIGN with the path to the dir that holds the file testsign.jar.
Type:
echo %CLASSPATH%
If it is returns %CLASSPATH%
Type the following:
set CLASSPATH=THEXACTPATHTO-TESTSIGN\testsign.jar
If it comes back with something else then
Type the following:
set CLASSPATH=%CLASSPATH%;.;THEXACTPATHTO-TESTSIGN\testsign.jar
For Example, when I type this it looks like:
set CLASSPATH=%CLASSPATH%;.;c:\Android\SDK\tools\tests ign.jar
To set the PATH
Replace THEEXACTPATHTO-SDK with the path to the tools dir of your SDK.
Now type:
set PATH=%PATH%;.;THEXACTPATHTO-SDK\tools
For example, when I type this out it looks like this:
path-%PATH%;.;c:\Android\SDK\tools
Now through doing this you have done two things, first off you have made the resigning process extremely easy, secondly you will not have to cd to the tools dir of the sdk to use adb or any other tool in the sdk.
Signing the Files:
Now right click the reg file that you extracted and choose to install it, or merge.
Now, right click an apk, do you see an option that says ResignApk? That's how you will resign your .apks and .zips.
When you choose it a cmd window should open for a few seconds and then close. the file you signed will be overwritten with the new resigned file.
If you find the right click menu not working for some reason you can type the following in cmd to sign your files: java testsign whateverfiletosign
General Info:
You will need to be specific in addressing what version your theme is for, RC8, RC30, or ADP1. Make sure you test the update.zip before you release it.
Every .apk contains the images relating to itself. However, every apk has the ability to use the images in framework-res.apk. The images for every apk is located inside of itself. To find these images open up the apk, you can rename it to .zip or open it with an archiver of your choice, winrar, winace, etc. Then after opening the apk open the folder called res and inside of that there are folders that are named Drawable, drawable-land, drawable-port, etc. This is where the images are stored.
There are some things you cannot edit unless you rebuild the entire apk from source, which we will not go into here.(another tutorial, another time) Just know that at this time you SHOULD NOT edit, or even open images with the extension .9.png doing so will corrupt the .9.png and cause the image to distort. You can however compile the images with eclipse.
Editing .9.png's - http://forum.xda-developers.com/showthread.php?t=487001
Be aware, messing with .9.png's can cause problems if they are not done correctly.
If your going to build your own update.zip from scratch:
To simplify this process for you though, most rom devs provide a theme template with their roms now. You can also download someone elses theme and use their files, since they are resigned already. It may also be easier to see what files do what and go where since they have already been edited and are easy to point out.
Now, your ready to start changing things up.
You will now need to open the apk, which you can do by adding .zip after .apk, effectively changing it to a zip. or you can use your favorite archive opener.
I dont use the archive process because it can lead to very aggravating problems such as things not getting signed correctly and have heard reports of it interfering with the signing tool above. Anyways I just add zip and it works great for me.
For those renaming the .apk's to .zips
Note that if you are using windows you will need to unhide known file extension types. you can also use your favorite archiver such as winrar, winzip, etc.
See here to unhide known file extension types for Xp: http://www.mediacollege.com/microsof...on-change.html
See here to unhide file extension types for Vista: http://maximumpcguides.com/windows-v...ile-extension/
Tips:
After opening the apk copy the folder called res.
Go to your desktop, or wherever, create a new folder called Images, or whatever.
Open the folder, paste the res in there.
Now you can see what the files look like without opening them, by using thumbnails to see what they are.
Btw, you may also want to add -frame, or -launcher, to the end of the res folder you copy over to keep them separated from others.
Almost Done
So now your theme is done and your ready to make an update.zip for others to install your theme.
Update script
The update script is in a Unix format, while you do not need linux you must save it in a Unix format. I suggest using Textpad to edit this script and saving it in the Unix format.
Link to Textpad: ftp://download.textpad.com/pub/textpad5.2/txpeng520.exe
XML Edits
I have provided some additional support for the process of hex editing xml files to change things like text color, size, and more things not easily changeable.
You can find this thread here: http://forum.xda-developers.com/showthread.php?t=479019
Final Notes:
Editing market apps
With market apps, if you make changes you usually need to make sure you dont resign their apk because you will overwrite their signature keys with the test keys.
If anyone has any questions please try asking for help in this thread before emailing me for help Usually I will respond to questions in this forum.
I hope this Tutorial has been helpful. I will add on to it as needed.
Any questions can be directed to me at [email protected]
Stericson
Links of interest:
Using ADB: http://code.google.com/android/reference/adb.html
How To Theme Develop for Windows For Dummies in 10 easy steps (( no your really not a dummy its just an easy name for a how to lol))
well i'm going to give this a shot in the dark on how to create this how to be as easy as possible
1st
download these files if you don't already have them
JAVA
http://java.sun.com/javase/downloads/index.jsp
download the JDK
Winrar
http://rarlabs.com/rar/wrar380.exe
and Auto-sign.zip
http://www.mediafire.com/download.php?uwzjjydnm2r
2nd
Download my included Auto-sign files.
what it contains.
the Test keys file..
and an update.zip file
and a batch file i created called auto-sign to make things easier to sign
3rd
after you have downloaded my Auto-sign
then you extract it to where ever you want.
4th.
use the update.zip included if your a Beginner it includes my windows 7 theme .. i edit so many files that it's easier to tell what does what and whats goiing to go where. now open that zip file DON'T EXTRACT just open it using winrar..
5th
When it is open go to Framework.. and open Framework-res.apk
NOW IF THE APK. POPS UP AND SAYS IT CANT OPEN BLAH BLAH SELECT A PROGRAM AND THEN SELECT WINRAR.
6th
Once you open Framework-res.apk KEEP THIS WINDOW AND UPDATE.ZIP WINDOW OPEN!!
then just extract the whole Res Folder to where ever you like this makes it easier to see what files you wish to edit.. most of the files will be in the folder called Drawable
7th
open up your favorite photo editor .. i use photoshop along with 90% of the people who Graphic Design... Edit your pictures Remember a file with a .9 can mess up your phone so edit those carefully.. and save what ever pictures you have
8th
Now drag the whole Res Folder .. back into the Framework-res.apk
now your update.zip file is going to say files has been changed to framework-res blah blah do you wish to save it . click yes .. now your framework has been updated you can close everything out
9th
go to the Auto-sign folder.. and open Auto-sign this will now sign your update.zip .. and rename it to update_sign.zip .. now just delete your old update.zip.. rename update_signed.zip to update.zip
10th
put it on the root of your memory card.. reset using green call + menu + end
then hold home and end .. until the recovery mode shows up .. then press Alt+S and hope your device isn't bricked
Disclaimers
I'm not responsible if your brick your device.. but i will help to the best of my abilty and if i can't help i'm sure XDA will
i don't sign every file in my update.zip i just sign update.zip .. and hey it works lol..
For ADP or RC 8 versions .. just download your favortie ADP theme or RC 8
put it in the Auto-sign folder.. and rename it to update.zip if it isn't already then just follow my steps
ToDo:
1. Explain about the files that make up themes
a. Explain update.zip and folder structure
b. Explain about pngs and apks
2. Explain the tools
a. WinRaR
b. Auto-sign
c. Java JRE and JDK
d. Draw9patch tool
e. Editing tool
3. Setting up your phone for themes
a. Choosing which JF firmware to use
b. Using the Eng Boot Loader and why
4. Explain the process to get the files
5. Explain which files to edit
6. Explain how to import modified files
7. Explain about auto-sign and how to use it - I am building a program that will making signing files easier. check it out as i build it! here
1. When you download a theme it comes in the form of an update.zip file. Basically the same as the full update looks, but it is a watered down version. All of the operating system, boot loader and radio files have been removed.
a. If you check the file size of JF’s RC30 1.31 and compare it to any of the themes, you will notice that the theme file is about a 3rd the size. JF’s update.zip contains data, META-INF and system folders it also contains a boot.img file. Where as a theme update.zip contains app, framework and META-INF folders. The theme update.zip only contains the folders and files that are necessary for changing the Android theme. If you were to dig deeper into JF’s RC30 1.31 update.zip you will find the folders that are in the theme’s update.zip. For example, double click the system folder and you will see 11 folders and 2 files. The only ones we are concerned about are app and framework. So when you flash a theme it doesn’t bother rewriting all of the OS and boot loader, but only the app and framework folders.
b. Inside the app and framework folders are apk files, apk files are like zip files or containers. There are many folders and files inside 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 a few 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 contains the encryption data for 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. They 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 programmer links these 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 basic programming, but for now we will only talk about changing the picture files.
2. The tools you use for creating themes are very basic and you might already have 3 out of 4 installed.
a. WinRaR is a must have for everyone, it allows you to create and open compressed files (i.e. Zips, RaRs and about 25 other file types) It would best if you associate WinRaR with zips and apks, the zips can be associated during the install of WinRaR. To associate apks you can right click on an apk and choose “Open With…” make sure to check off the box that says “Always use this program to open this kind of file”
b. Auto-Sign was released by Dave da illest 1, to make signing the apks and update.zip an easier process. Before you can flash an update or theme the phone checks to make sure the update.zip is signed by google or by JesusFreake. I will explain this more in Section 3.
c. Android apps are built on Java, hence the need for JRE and JDK, You will not be working directly with these apps but part of the signing process uses Java. You can get both files here: http://java.sun.com/javase/downloads/index.jsp you will want to grab the first and second downloads.
d. The draw9Patch tool comes with the Android SDK, it is located in the tools folder. This tool is used to edit stretchable images. There is still a lot of research that needs to be done on using this tool. So for now let’s just say do not touch any files with .9.png as an extension. Dave da illest 1 has changed a few of these .9.png files without issue so maybe we can get him to explain them better. I have also edited some of these files but it made some of the images stretch weirdly.
e. I am not sure what other photo editors you can use, but everyone I have spoken to about modding the theme uses Adobe Photoshop. I am sure you can use other programs. But I am not aware of any at the time of this writing.
3. Before changing the theme on your phone you will need to gain root access which is explain here: http://forum.xda-developers.com/showthread.php?t=442480
a. As you look through all of the different themes, you will notice some say they are for RC30, RC8 or ADP1.
i. RC30 – Is the US version
ii. RC8 – is the UK version
iii. ADP1 – Stands for Android Developers Phone and was produced for programmers. This version is completely unlocked and does not have any of T-Mobile’s software or locks.
b. So your phone is rooted and you’re wondering why you should have the engineering boot loader. Well one reason is because of the 3 Androids on skateboards, the other reason is if your phone bricks during a flash you can fully recover your OS with the fastboot option. More about this can be found here: http://forum.xda-developers.com/showthread.php?t=455860
4. You have a few options here, you can either get the files from RC30 update.zip, one of the other theme’s update.zip or you can use the themes template at the bottom of this thread. All 3 methods you will need to open the update.zip go into the framework folder (if you get it from RC30 you will need to go into system\framework) Extract the framework-res.apk to a folder of your choosing. Most of your editing will take place on the files from this apk. When you are looking at these files in Windows explorer it is best to change the view to Thumbnails and look at all of the images and see if you can figure out where they are placed on your phone’s screen.
::TIP1:: Your best bet is to create a Themes folder on your desktop or in My Documents, somewhere simple to find. You will be dealing with a lot of files and it can get very confusing quickly.
The other file you will want to change is Launcher.apk; this file is in the app folder and contains the menu launcher tab, clock, Google search widget, wallpapers and some other things.
::TIP2:: When you open Launcher.apk 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 the files, this is how I ended up flashing the original files after spending a decent amount of time photoshopping.
5. Now the only files you will want to edit are png image files. There are also xml files, they are used to format the UI, you can change the locations of things on the screen but the xmls need to be unencrypted before you can edit them. I have not done this process yet and will update more information later.
6. Importing the files is very simple, as long as you know the layout of the update.zip. Once you have edited all of the files you plan to or just want to test to see how your theme looks. Open the update.zip in WinRaR and go to the location of the files (i.e. Say you changed the 3G icons, you would go to the framework folder and double click on framework-res.apk. This will open another WinRaR window, open Windows Explorer where your edited files are and hold the Ctrl key while clicking the files you want to copy. Now drag them onto the open WinRaR window from the framework-res.apk. When it asks to replace the files choose “Yes” or Yes to All”. Close that WinRaR window and the one from update.zip will tell you “Files have changed would you like to save this file now” click “Yes” again and now your update.zip will contain your modified files.
7. Download and install Stericson's auto-signing tool here.
I have been slacking on this guide, I will update soon again.
[HOW TO] Easy steps for creating a theme
I know there are a million and 1 walkthroughs on here for creating themes but after doing it for a while I have really refined my process and made it as easy as possible. Im just hoping to clear up some of the confusion so after you know how to sign your files you will know how to finish making them into your own custom theme.
First you need to get signing setup properly. This topic is covered in many places and my recommendation is to use the Stericson walkthrough or the Stericson auto-signing setup tool. Once you can click on any zip or apk file and get the option to Resign it you are ready to proceed with making your own theme.
1. Download an archive manager that allows you to open archives inside of archives without creating new windows. My recommendation for this is the application 7-zip. It is tiny, free, easy to use, and on all my computers it has replaced winzip and winrar.
2. Now take a blank theme from Stericson to use as your starting point, in my case I use the ADP1.1h version since I am building for JFv1.43 which uses ADP1.1h this will be the minimum needed to change your theme and will contain all the original artwork.
3. Open the update.zip and inside are typically 3 files, framework, system or app, and META-INF. Leave META-INF alone, you wont be touching that. Inside framework and system/app is where the files are that you can change. In this case we will open update.zip, then double click framework and then double click framework-res.apk (this is where the next archive will open inside the same window, your life just got a little easier).
4. Now you are looking at assets, META-INF, res, and a couple other random files, the resources.arsc can be edited but I will show you that in another tutorial. Now open up the folder res and you will see the treasure we are searching for, folders with the name drawable. All of the folders that start with the name drawable are where we can edit the themes, this includes drawable, drawable-land, drawable-port, and drawable-finger.
5. Now drag and drop the folders drawable and drawable-land onto the desktop. Once they are on the desktop you can edit the .png files in those folders until you are ready to put your theme together.
6. Now in your still open window at \framework\framework-res.apk\res\ you will open the drawable folders one at a time and drag and drop your edited files into the archive, only dragging and dropping the files you edited and not just everything inside the folder.
7. Once you have your new images copied into the archive in the correct place you can just hit the close button or browse up a couple directories and find other files to edit. Any time you edit an apk and browse out of it or close it you will be prompted to update it in the archive by 7-zip (this is my secret shortcut), always press ok.
8. Now you have a freshly created theme ready to install, all you have to do is right click, chose to Resign the file, and once its done you can copy it to your SDcard, make sure its named update.zip, and flash your new theme.
Its literally that easy! And you use this same technique in the system/app folder to edit the apk files for the individual apps on the phone. Explore around in the update.zip and see what you can find, I only told you about the major items but there is plenty more to find and change. You can always copy a folder out of the archive and if you cant edit anything just toss it but if you can find something to edit, do so and throw it back in the archive. You guys now have all the info I had when I started plus all my tricks to making that process 10x easier.
I Just Want To Change My Clock. I want everything else stock. Sorry for asking but when i search so much comes up. I know its really simple to do. If anyone can just point me in the right direction or give me a quick how to that would me AMAZING!
Read:
http://forum.xda-developers.com/showthread.php?t=482205
notifi
jut want to change notification to white on statusbar
Before I tried to setup the autosign tool, when I double clicked on zip files it opened them up, which was how I wanted it. After trying to setup the autosign, when I double click on zip files nothing happens, except a java command prompt window pops up, same happens when I right click and hit resign zip, how can I fix this?
Edit: I reinstalled Java which fixed my issue
i got this tryin to update
E:No digest for framework-res.apk
i edited someone else theme, did not edit no .9 file.. i right click on the update.zip and resigned it. what went wrong?
EDIT: nevermind i got it.. i followed the one for dummies, guess i am dumb lol
What the image file for the tab on the bottom of the screen called? I couldn't find it searchin throguh the framework-res.apk
its in launcher.apk. Check in drawable portrait and drawable landscape.
Stericson
thanks i should of explore more before posting
Hi,
I've got 99% of my theme done although I can't find where the bottom of the notification bar is and the white bit where the notifications would be.
I've done a little picture below to help me explain.
Bottom notification bar is the arrow.
The white bit where the notifications would be is the hatched.
{
"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"
}
Thanks for help in advance.
Also could someone tell me how to put icons in for well know apps from the market. At the moment I have put the full apk in the update and change the icon. But this increases the theme size. Thanks again!
NO DIGEST? Failed?
what does it mean when I try to flash the new update.zip and it fails because it says NO DIGEST? What does this mean? Any help would be greatly appreciated. Thanks
parmenti said:
what does it mean when I try to flash the new update.zip and it fails because it says NO DIGEST? What does this mean? Any help would be greatly appreciated. Thanks
Click to expand...
Click to collapse
means it hasn't been properly resigned.
thanks, that's what I thought. Can't seem to get it right. Does the image, the apk, and the zip all have to be resigned? Or just one or the other? THanks for your help.
parmenti said:
thanks, that's what I thought. Can't seem to get it right. Does the image, the apk, and the zip all have to be resigned? Or just one or the other? THanks for your help.
Click to expand...
Click to collapse
Just the update.zip needs to be resigned.
To get started, read the posts below by tsachi.
Then give this a glance - Do it yourself guide for theme editing
More Resources:
http://forum.xda-developers.com/showthread.php?t=982300
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Info on how to edit the items in notification bar:
+ http://forum.xda-developers.com/showpost.php?p=11158662&postcount=3
All credit belongs to the original authors. I am simply gathering all this information to make it easier.
For any help or support, post in this thread and we will try to help you the best we can.
Expanded Information
Introduction
The link in OP gives you instructions on how to replace images, but it lacks information for the inexperienced themer. Here is some background information and some more details on the steps before and after you insert new images in your framework.
System Icons and background images sit in two main files: framework-res.apk and twframework-res.apk. Within these files there is a res directory, and under that you have the folders containing data. Google has guidelines on icon design, although themers usually ignore those in order to get a different from stock look. One thing you would notice is that there are a lot of repeated icons. For example, framework-res.apk has both drawable-hdpi and drawable-hdpi-v4. The first is there for compatibility with older APIs (anroid 1.6 or older) so I am not sure why it is still there, but if you remove it your phone will not like it.
Each application has its own res folder where the launcher icon and other visuals are kept. There are, however, a lot of applications that reference the framework.apk for visuals. An example is the dialer that calls on some background images from both framework-res and twframework-res.
There are 2 types of images that you would encounter. Normal icons and images are non-scalable. They take a certain amount of real estate on the phone, and that’s it. Example of these are the battery levels and notification icons. The other type is the .9 images. These are images that are going to be stretched to fit whatever space is needed. An example of that are the menu backgrounds. The .9 images have a special format. The one pixel border around them defines how they stretch and how content is displayed in them. It is highly recommended to follow the standards in order to get repeatable and consistent look. Android SDK has a tool to help with .9 file design: draw9patch.bat.
Important note: The .9 files show the borders ONLY when de-compiled. If you grab a file from the framework directly you will not see that line. It is therefore required to compile the .9 files after you make them. You can use apk manager or ThemePro-JAVA to recompile the framework apk after modifying the files.
Definitions for which image is used where sit in the xml files under the drawable folder. These are compiled xml files, you can’t edit them with a text editor. For this introduction I will not go into modifying xml files. Each apk also has a resources file that describes what is in there. If you add, remove, or rename files in the apk you will have discrepancy with the resource file and the theme will not work (more likely you will be stuck in an infinite bootup loop)
Before you start:
Warning: frameworks are highly linked with other files. You can’t just take a framework from one ROM and put it in another. Always keep a backup of the original files ready to be installed (see below), otherwise you may need to re-flash the ROM. Frameworks are also sensitive to compression. DO NOT use winzip to handle the files, it can cause problems with the final apk file.
There are several things you would need before you start
A rooted phone
SDK installed on the computer
A zip handling software other than winzip (winRAR and 7-zip are both good options)
Auto-sign (http://forum.xda-developers.com/showthread.php?t=471634) or signing tool (http://forum.xda-developers.com/showthread.php?t=473580)
Create a backup
Grab the framewor
k-res.apk and twframework-res.apk from your phone. They are located in the system/framework folder. You would need them as a starting point for your modification and you need them for a backup
Create a clockwork installation file of the original files (see post below)
Name the installation framework-original.zip, or something else that would be easily recognized in
case of trouble, and then copy it to your internal sd card.
After you are done modifying files
Create an installation file (see post below)
Give the file a name that is easy to recognize and copy it to your internal sd card
Reboot into recovery
Select install zip from card -> choose zip from sdcard
Select the installation of the new framework and confirm the installation
Reboot
If you are stuck in an infinite boot-up cycle
Take the battery out
Using 3-key combination boot into recovery (up-down volume + power. Hold until the AT&T screen cycles back, then release)
Install your original framework backup and reboot
Creating clockwork installation
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Puzzle Lock Screen Mod
Here is information for people who want to modify the look of the puzzle lock screen. It is only the list of images to replace, not the coding to change functionality.
The files sit in framework-res.apk under res\drawable-hdpi. The files are zzz_unlock_puzzle...
puzzle pieces
zzz_unlock_puzzle_noti_icon_call.png : Missed call piece in the floating state
zzz_unlock_puzzle_noti_icon_call_fit.png : Missed call when it gets to the unlock spot
zzz_unlock_puzzle_noti_icon_unlock.png : General unlock floating
zzz_unlock_puzzle_noti_icon_unlock_fit.png : General unlock at the unlock spot
Same for messages and voicemail.
Background
zzz_unlock_puzzle_bg.png : The image that shows on the lock screen. This should be semi-transparent if you want to show the regular screen background
zzz_unlock_puzzle_bg_pressed.png : Image that shows while dragging the puzzle pieces. Usually a slight modification of the regular background
zzz_unlock_puzzle_bg_land.png : The landscape version
Music player
zzz_unlock_disk... and zzz_unlock_ctr_pr... are the files related to the player.
zzz_unlock_ctr_bg.9.png is the background for the music controls
Text background
Overlaying the unlock image is text. That text can have background that is more opaque than the rest of the unlock screen.
The attached image shows the three regions. These regions also apply to the glass unlock.
Note: These are .9 files and should be done right to ensure correct stretching and text boundries.
Other files
There are some extra background files in the frameworks but I haven't been able to find where they go. There are also some files to control the clock numbers zzz_unlock_clock_...
Working with APK manager
What is APK manager?
APK manager is a tool for decompiling / recompiling apk files. If you want to change anything other than images, it is a must have.
The basics
The basic flow when using APK manager is
Place apk file in place-apk-here-for-modding folder
run the Script.bat file
Type 22 and select the file you want to work with
Type 9 and wait for it to finish decompiling
Modify the items you want modified (they will be in the projects folder)
type 11 to recompile
Sounds easy? It is, and it isn't. There are several places where things can go wrong. Here are a few of the things to watch for:
Bad starting file
This is mostly true for framework files that went through several cycles of modifications. The framework is forgiving to having extra items, or having bad .9 images (see post above about .9 images). Some people may have replaced images without recompiling the framework in a way that breaks internal links. If this happens you will very likely see error messages during the decompile stage. If that happens check the log file and correct things. One of the most common errors is .9 files replaced with regular images. See this post for how to solve this.
Things may not always be "fixable", so the best approach is to get the original framework that is the base for the one you need. Having a clean start can save a lot of headaches later on.
Overwriting your changes
When you recompile, assuming everything worked ok, you are prompted if this is a system file. Most likely you want to say yes. This ensures that the original signature is copied over. You will also be prompted if you want to copy some files over from the original. BE CAREFUL!. There are people who say you reduce the risk of errors if you copy things that didn't change. Personally, if I changed anything that required recompilation (mostly added new images or modified xml files) I always choose not to copy extra files. If you do choose to copy some files over, pay attention to the next step. Do not hit any key until you remove the modified files. You will need to go to the newly created "keep" folder (in the top apk manager directory) and remove any image that you changed and any xml that you modified. Also, if you modified xml files to add new images you need to delete "resources.arsc".
Failed rebuild
APK manager is trying to minimize work by only compiling newly changed items. If you built an apk and realized you have an error, or want to add more changes, I recommend removing the cached build. Go to the projects folder and delete the "build" folder. I've had cases where the new items didn't catch.
Removed items
I highly recommend to leave icons that you do not need. I've had occasions where I removed things that I thought had no more reference, but then ended with endless boot-loops. For example, if you modify the xml to only show 6 out of the 101 battery charge animations, leave the remaining icons in your project.
If you're stuck
Look at the log file. That would usually give you an answer. Also, if you are working on a recent GB ROM you probably need to get the beta 5 version. Version 4.9 will have problems compiling the newer files.
Thanks for the info!!! I have been wanting to play with themes for a while. Now I gots the knowledge.
sent from my Cap using the app.
Thanks for this post...I'll be looking into this for sure.
tsachi said:
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. Make sure that you have the original update.zip file on the sdcard. If you have a rooted phone, you probably have that already, but if not you can install ROM manager from the market and run it to get the update in place.
To create the installation file follow these steps:
Create a folder \framework
Place your modified framework files in that folder
Back in the main folder, create the following folder tree: \META-INF\com\google\android
In the android folder create a text file named update-script
WARNING: Do not name your framework file "update.zip"! You need both the original update.zip and the framework one for the installation.
Note: Although copying of the framework files may be possible, it is highly risky. In my experience installation from clockwork is the easiest
Click to expand...
Click to collapse
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
TorqueWrench001 said:
Thanks for this.. Question In #4 above the text file in the android folder. Is that an empty file? no extension? Thanks for your help.
Click to expand...
Click to collapse
The file has no extension but it isn't empty. It contains the installation instructions. Typical instructions would be:
copy_dir PACKAGE:framework SYSTEM:framework
which copies everything in the frameworks folder in the zip file to the system/framework folder on the phone
Sent from a captivate running phoenix using XDA app
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=916814
Good info
Thanks, been wanting to play with themes for a while now!!!!!
This needs a bump for all those requesting themes to be made.
This needs to be a sticky. I detailed guide is just what was needed. I been wanting to play around with themes but always end up doing something stupid so it never works. Now I have some more knowledge and hopefully can avoid that mistake.
Thank you, one of the links has the info I need to fix my text color issue in my notification/menu window!
Sent from a phone using an app.
Why it's not pinned it's beyond me. We have a thread pinned for must have apps that aren't even must have apps, but not this.
That was do to some how me missing this thread for the post few months. It is corrected now. Stuck
Since the thread is getting more life, I just added info on lock screen (fourth post)
Sent from my captivate running the latest firefly
Resorce dump
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
whiteguypl said:
Well now that this is not going to fall to the depths of page 500, ill unload some rubbish into it.
http://android.modaco.com/content/zte-blade-themes-and-design-customisation/328510/guide-theme-editing-and-related-things/
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showthread.php?t=593932
http://forum.xda-developers.com/showthread.php?t=695701
http://forum.xda-developers.com/showpost.php?p=8105110&postcount=2
http://developerlife.com/tutorials/?p=309
http://www.droidforums.net/forum/team-inversion-conversion/116419-so-you-want-edit-xmls-more-adb-apk-manager-how-basics.html
http://www.colorschemer.com/online.html
http://www.colorsontheweb.com/colorwizard.asp
Edit: I purposefully did not include descriptions in the links. If you dont know what your doing reading all but the last two links in there entirety will help get you on your way.
Click to expand...
Click to collapse
Very nice, I will add these to OP with details about each link.
I'm quite happy that this has been pinned finally. Now to get to work. I haven't decided on which ROM I want to do, or even if I wanna port another theme or make my own. SO MANY CHOICES!!
Index
post 1: Introduction
Post 2: Simple image swap
Post 3: Decompiling and recompiling files
Post 4: Image locations in Sense ROMS
Post 8: How to use the kitchen
Post 9: Advanced modification: Add / Remove alarm notification
Post 10: Advanced modification: Add / Remove Location indicator
Introduction
There are several resources available with information about theme creation, however I find that information is usually scattered on many different threads. It is also not always newbie friendly. In this thread I would like to give a quick summary for the newbie to help start making your phone look the way you like it. Before I go into the actual details, I would like to suggest some shortcuts. You don’t always need to do things the hard way. The options that you have are:
Use the Ultimate online Kitchen . For those not familiar, this is an online tool that lets you pick and choose components and then packages them for you into the base files you supply. You can get very far using the kitchen with lots of options for customizing your phone.
Start with the kitchen and add some images. The kitchen is great to get a good baseline without going into code. You don’t have to worry about finding where color definitions sit, or what hex values are good to use. Most of the time, however, we want icons that are not available in the kitchen. The solution a lot of themers are using is to create a good base in the kitchen, then add modifications of their own.
Replace individual images, but keep everything else the same. This is a solution for those who want to manually swap battery files, or create their set of notification items and move it from ROM to ROM. You can use this either on the stock files from your ROM, or on files you generated in the kitchen.
Going into the guts – this is the advanced version. You decompile the files and modify the source code to get what you want. This is the only way to get the non-standard stuff done. Once again, you can start with a stock ROM, or you can run it through the kitchen to do some of the tedious work and then go into the guts.
I will describe the methods for both 3 (post 2) and 4 (post 3). I also have a list of where you can locate icons on the phone in post 3, that I will expand in the future.
Background
System Icons and background images sit in two main files: framework-res.apk (in system/framework) and system-ui.apk (in system/app). Additionally, sense ROMs have com.htc.resources.apk (in system/framework Within these files there is a res directory, and under that you have the folders containing data. Google has guidelines on icon design, although themers usually ignore those in order to get a different from stock look. One thing you would notice is that there are sometimes repeated folders of icons. This is usually baggage from different android versions (2.1, 2.2, 2.3). One thing to remember, it’s usually easy to add images, but you can get into all sorts of trouble if you ake things out.
Each application has its own res folder where the launcher icon and other visuals are kept. There are, however, a lot of applications that reference the framework.apk for visuals. For example the my location in maps, or google talk notification.
There are 2 types of images that you would encounter. Normal icons and images are non-scalable. They take a certain amount of real estate on the phone, and that’s it. Example of these are the battery levels and notification icons. The other type is the .9 images. These are images that are going to be stretched to fit whatever space is needed. An example of that are the menu backgrounds. The .9 images have a special format. The one pixel border around them defines how they stretch and how content is displayed in them. It is highly recommended to follow the standards in order to get repeatable and consistent look. Android SDK has a tool to help with .9 file design: draw9patch.bat.
Important note: The .9 files show the borders ONLY when de-compiled. If you grab a file from the framework directly you will not see that line. It is therefore required to compile the .9 files after you make them. You can use apk manager or ThemePro-JAVA to recompile the framework apk after modifying the files.
Definitions for which image is used where sit in the xml files under the drawable folder. These are compiled xml files, you can’t edit them with a text editor. For this introduction I will not go into modifying xml files, but I’ll describe it in a later post. Each apk also has a resources file that describes what is in there. If you add, remove, or rename files in the apk you will have discrepancy with the resource file and the theme will not work (more likely you will be stuck in an infinite bootup loop). To add, remove, or rename files you have to go through full apk decompile.
Before you start:
Warning: frameworks are highly linked with other files. You can’t just take a framework from one ROM and put it in another. Always keep a backup of the original files ready to be installed (see below), otherwise you may need to re-flash the ROM. Frameworks are also sensitive to compression. DO NOT use winzip to handle the files, it can cause problems with the final apk file.
There are several things you would need before you start
A rooted phone
SDK installed on the computer
A zip handling software other than winzip (winRAR and 7-zip are both good options)
Amend2edify . If you are on a mac you will need auto sign for mac instead
For advanced work - APK manager
These are mostly windows tools, with some support for linux, so if you're on a mac you need to find the equivalent program.
Create a backup
Grab the framewor k-res.apk, com.htc.resources.apk and system-ui.apk from your phone. They are located in the system/framework and system/app folders. You would need them as a starting point for your modification and you need them for a backup
If you plan to modify any other files, grab them and note where you took them from (most likely /system/app for things like dialer, email, etc)
Create a clockwork installation file of the original files (see post below)
Name the installation framework-original.zip, or something else that would be easily recognized in case of trouble, and then copy it to your internal sd card.
Create installation and test it
After you have finished modifying the files, the best way to get them to the phone is through clockwork installation. You can push files to the phone using adb, but in my experience it's not worth it.
Create install file
I am calling the parent folder “main”
Create a folder main\framework
Place your modified files (framework-res.apk and com.htc.resources.apk) in that folder
Create a folder main\app
Place the modified files (system-ui.apk + any other apps you modified) in that folder
Create the following folder tree:main \META-INF\com\google\android
In the android folder create a text file named update-script
Edit the update-script file content “copy_dir PACKAGE:app SYSTEM:app copy_dir
PACKAGE:framework SYSTEM:framework”
From the main folder add the three folders you created to a new zip file
Use amend2edify to convert and sign the zip file you created
WARNING: Do not name your framework file "update.zip"! Do not name your file “PG05IMG.zip”!
Testing
Give the file a name that is easy to recognize and copy it to your internal sd card
Reboot into recovery
Select install zip from card -> choose zip from sdcard
Select the installation of the new framework and confirm the installation
Reboot
If you are stuck in an infinite boot-up cycle reboot back to recovery
You can try to send “adb reboot recovery” to the phone over usb
You can battery pull then use power + volume key to boot into recovery
Install your original framework backup and reboot
hint: if you are like me and have a lot of files, name your test file z_filename.zip That way in recovery you use the up volume and get to it quickly.
Simple image swap
Simple image swap
If all you want to do is swap some images, all you need is a zip handling application (I recommend not using windows built in zip, it does not have the flexibility to properly do everything you need).
Select the apk file you want to modify and open it using a zip program
Inside the opened go to \res\drawable-hdpi\
You can extract all the images from that folder as a starting point
Modify the images you want
Copy the modified images back into the \res\drawable-hdpi\ folder in the apk file
A few things to watch for
Do not try to modify any file that ends in .9.png using this method. You are likely to create weird looking visuals on the phone
If you already know which files you want to copy over (let’s say you have a set of images that you are moving from one ROM to another) you don’t need to extract the images from the apk. Please note, however, that not all base versions use the same file names. Double check the filenames in the new apk before copying over your existing images.
Sense and AOSP roms sometimes use images from different locations (sense may use system-ui.apk for signal and AOSP may use framework-res for signal). If you try changing one place and it doesn’t work, try the other. Over time you will learn what sits where.
Different ROMS and different themes make changes to the xml files, telling the system which images to use. This means that copying files over may not be enough. This is mostly an issue with battery and battery charging, but other status bar animations can be affected. For example, if you start with a stock based rom that only uses 5 levels of battery indication you can copy over 100 images to show accurate progress, but on the phone you will still see only 5 (and probably the wrong 5). Similarly, charge animation can be 5 icons, 30 icons, or 100 icons. It can include the current battery level or not. Copying images from one type of animation to another will result in something that does not make sense on the phone. You have two options to solve this. You can take the full mod way and modify the xml, or you can try to run the framework through the kitchen and select a battery mod that has the behavior you want. After that you can modify the files.
Decompiling and recompiling files
Modifying files by decompile/recompile
What is APK manager?
APK manager is a tool for decompiling / recompiling apk files. If you want to change anything other than images, it is a must have. EDIT: A new thread for APK manager 5 is out, make sure you don't get the old 4.9 version.
The basics
The basic flow when using APK manager is
Place apk file in place-apk-here-for-modding folder
run the Script.bat file
Type 22 and select the file you want to work with
For AOSP based: Type 9 and wait for it to finish decompiling
For Sense based: Type 10. When prompted, drag your com.htc.resources.apk onto the script window, then hit enter
Modify the items you want modified (they will be in the projects folder)
type 11 to recompile
When prompted about system file answer YES
When prompted about copying files over answer NO
Item 6 is where all the magic happens. Go to the projects folder and you will find a sub-folder with the apk name. Inside you have res, where you can replace images and work on xml files.
Bad starting file
This is mostly true for framework files that went through several cycles of modifications. The framework is forgiving to having extra items, or having bad .9 images (see post above about .9 images). Some people may have replaced images without recompiling the framework in a way that breaks the .9 format. The program saves an empty file with the .9.png extensions and a copy of the original without .9 in it. If this happens you will very likely see warning messages during the decompile stage, but you don't see warnings unless you look at the log. This means that you would actually catch it only at recompile. See this post for more details and how to solve this.
Things may not always be "fixable", so the best approach is to get the original framework that is the base for the one you need. Having a clean start can save a lot of headaches later on.
Overwriting your changes
When you recompile, assuming everything worked ok, you are prompted if this is a system file. Most likely you want to say yes. This ensures that the original signature is copied over. You will also be prompted if you want to copy some files over from the original. BE CAREFUL!. There are people who say you reduce the risk of errors if you copy things that didn't change. Personally, if I changed anything that required recompilation (mostly added new images or modified xml files) I always choose not to copy extra files. If you do choose to copy some files over, pay attention to the next step. Do not hit any key until you remove the modified files. You will need to go to the newly created "keep" folder (in the top apk manager directory) and remove any image that you changed and any xml that you modified. Also, if you modified xml files to add new images you need to delete "resources.arsc".
Failed rebuild
APK manager is trying to minimize work by only compiling newly changed items. If you built an apk and realized you have an error, or want to add more changes, I recommend removing the cached build. Go to the projects folder and delete the "build" folder. I've had cases where the new items didn't catch.
Removed items
I highly recommend to leave icons that you do not need. I've had occasions where I removed things that I thought had no more reference, but then ended with endless boot-loops. For example, if you modify the xml to only show 6 out of the 101 battery charge animations, leave the remaining icons in your project.
If you're stuck
Look at the log file. That would usually give you an answer. Also, if you are working on a recent GB ROM you probably need to get the beta 5 version. Version 4.9 will have problems compiling the newer files.
Image loactions in Sense ROMS
Image locations for Sense roms
Framework-res:
1. Progress bar information. Some is in xml files (just color definitions), but there is progressbar_indeterminate*.png that has the progress bar with diagonal lines
2. Spinning processing indicator: spinner_black*.png and spinner_white*.png
3. Most notifications (stat_notify_*.png) including the sync animation (stat_notify_sync*.png)
4. Battery (stat_sys_battery*.png) and battery animation (stat_sys_battery_charge_anim*.png). There are also the stat_sys_battery_unknown.png and stat_sys_battery_charge_animfull.png (this one does not show up on sense)
System-ui:
1. Signal related notifications (Bluetooth, wifi signal, network signals) in stat_sys_data_*.png. Note that connection type is usually named like stat_sys_data_connected_3g.png, but I’ve seen those with different naming conventions
2. Alarm, location, and the “more” stat_notify_alarm.png, stat_notify_more.png, sym_gpsone*.png.
3. GPS: stat_sys_gps_acquiring*.png, although gps on is usually in framework-res (stat_sys_gps_on.png)
Elsewhere:
1. Email and Gmail notifications (in mail.apk and gmail.apk)
2. USB connection (in pcsII.apk)
3. Google voice (in gvoice.apk)
How to use the kitchen
Link: http://uot.dakra.lt/kitchen/
The kitchen's XDA UOT page has all the information on how to get started. I will just give a quick introduction here specific to the TB roms.
When you go to to the web site you have several tabs. go through one at a time and select the modifications you want. The simplest example would be to change the stock battery of the ROM so I'll use that.
1. Select the tab of interest
2. Check the "use this mod" box and the options appear. You can choose the preview option, but don't have to.
3. Once you're done select the File upload tab.
4. In the section Select your rom from kitchen's list, or upload your own files check the "system files" radio button
5. Upload framework-res.apk, SystemUI.apk, and com.htc.resources.apk (for sense ROMs). You will need to extract them from the ROM's installation file if you are on stock view or from the theme install file if you are using a theme. You can also get it from your phone (copy the files to the sdcard using root explorer and then to your computer, or use adb pull if you know how). twframework-res.apk is for Samsung phones only.
IMPORTANT: Some mods require SystemUI.apk and some require framework-res.apk. If you are not sure which one you need upload both. In any case ALWAYS upload com.htc.resources.apk for a sense ROM, without it the kitchen will fail to compile your mod (AOSP based roms don't have the com.htc.resources.apk)
6. Go to the summary page and select "submit work to kitchen"
7. Wait patiently for your files to be ready. It can take a while when the server is busy.
8. Install your modified files and enjoy
Advanced modification: Add / Remove alarm notification
For this modification you will need to decompile SystemUI.apk (see above post).
Go to the SystemUI.apk\smali\com\android\systemui\statusbar\policy folder created by apk manager. Find StatusBarPolicy.smali
search for the text
const-string v1, "alarmSet"
Click to expand...
Click to collapse
There is a line before that that starts with .line and a line after that starts with .line. This is the section you need to change.
Note: The line numbers can vary from ROM to ROM. DO NOT change those two lines. Replace the entire content between them.
Show Alarm Clock:
const-string v1, "alarmSet"
const/4 v2, 0x0
invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v0
Click to expand...
Click to collapse
Hide Alarm Clock:
const/4 v0, 0x0
const-string v1, "alarmSet"
const/4 v2, 0x0
Click to expand...
Click to collapse
Recompile the apk and install.
Advanced modification: Add / Remove Location indicator
This will add or remove the general location indicator. It does not affect the GPS indicator.
For this modification you will need to decompile SystemUI.apk (see above post).
Go to the SystemUI.apk\smali\com\android\systemui\statusbar\policy folder created by apk manager. Find HtcCdmaStatusBar.smali
search for the text
.method private updateMtGpsIcon()V
Click to expand...
Click to collapse
The section you are interested in is
.method private updateMtGpsIcon()V
.locals 7
.prologue
const/4 v5, 0x3
const/4 v4, 0x1
const/4 v3, 0x0
Click to expand...
Click to collapse
Show location indicator
const/4 v4, 0x1
Click to expand...
Click to collapse
Hide location indicator
const/4 v4, 0x0
Click to expand...
Click to collapse
I am not sure where I have missed it but when I download the newest APK manager and open the zip there isn't a folder that says place apk here or anything like it in any part of the apk manager. Did I miss something in the instructions about this folder being somewhere else?
TDubKong said:
I am not sure where I have missed it but when I download the newest APK manager and open the zip there isn't a folder that says place apk here or anything like it in any part of the apk manager. Did I miss something in the instructions about this folder being somewhere else?
Click to expand...
Click to collapse
They will be in the directory you installed it to, so something like, c://ApkManager/
Sent from my TBolt using my f***king thumbs...
TDubKong said:
I am not sure where I have missed it but when I download the newest APK manager and open the zip there isn't a folder that says place apk here or anything like it in any part of the apk manager. Did I miss something in the instructions about this folder being somewhere else?
Click to expand...
Click to collapse
If it isn't there as a subfolder when you extracted it, it should be created the first time you run the script
Sent from a gingerbread thunderbolt
tsachi said:
For this modification you will need to decompile SystemUI.apk (see above post).
Go to the SystemUI.apk\smali\com\android\systemui\statusbar\policy folder created by apk manager. Find StatusBarPolicy.smali
search for the text
There is a line before that that starts with .line and a line after that starts with .line. This is the section you need to change.
Note: The line numbers can vary from ROM to ROM. DO NOT change those two lines. Replace the entire content between them.
Show Alarm Clock:
Hide Alarm Clock:
Recompile the apk and install.
Click to expand...
Click to collapse
Would this tutorial work for removing the clock and battery from the status bar?
sent from my mecha using XDA Premium App
warmonster said:
Would this tutorial work for removing the clock and battery from the status bar?
sent from my mecha using XDA Premium App
Click to expand...
Click to collapse
This is the file you need, but the changes are different from what I described here. I'll try to look them up and add them
Sent from a gingerbread thunderbolt
tsachi said:
This is the file you need, but the changes are different from what I described here. I'll try to look them up and add them
Sent from a gingerbread thunderbolt
Click to expand...
Click to collapse
thanks man, I want to learn how to do this but right now this looks very confusing. Also I downloaded apk manger but some vgrabber program installs and I cant find apk manger.
warmonster said:
thanks man, I want to learn how to do this but right now this looks very confusing. Also I downloaded apk manger but some vgrabber program installs and I cant find apk manger.
Click to expand...
Click to collapse
Here are the instructions http://forums.miuiandroid.com/showthread.php?5603-Q-Removing-the-clock-from-the-status-bar, .should work on our ROM too, but I haven't tried it yet.
In terms of apk manager, it is a zip file that you extract, should not install anything else. I think you clicked on a wrong download somewhere. I updated the link to the new apk manager 5 thread, try from there.
Awesome write up!!! Just found this this morning while at work. I've been stubbing my toes all weekend through trial and error to accomplish what you've summed up here. Thank you so much! Subscribed for a more thorough read when I get home.
Sent from my ADR6300 using xda premium
Hey my man, I'm trying to use the kitchen from my phone Inspire 4g..and when I try to upload files to kitchen I don't know where it looks for them at in my phone. It will open my upload folder but I can't find it on my phone anywhere? Dose anyone know what parent folder the upload folder is in...
Sent from my Inspire4G using xda premium
Towboat_man said:
Hey my man, I'm trying to use the kitchen from my phone Inspire 4g..and when I try to upload files to kitchen I don't know where it looks for them at in my phone. It will open my upload folder but I can't find it on my phone anywhere? Dose anyone know what parent folder the upload folder is in...
Sent from my Inspire4G using xda premium
Click to expand...
Click to collapse
First, I think it mentions somewhere on the site or on the kitchen XDA page that they are generally not compatible with phone browsers. Not sure what the compatibility issue is, but you may want to look it up. If you do get it to work from the phone you need a way to browse the system folders. If you can't see the /system/ when you browse for files I would suggest using root exlorer (paid) or file expert (free) to first copy the files over to the sdcard, and then go through the web site and grab them from the card. A lot of the basic explorers, especially those that weren't designed for rooted phones, don't have access to the /system/ so that may be your problem. The files are in /system/framework/ and in /system/apps
{
"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"
}
Tickle My Android - Over Seven Years Old And Still Going Strong!
Download version 16.5 from here: https://www.androidfilehost.com/?fid=4349826312261743827
Click The Box Below For The Changelog:
Version 16.5 - Fixed apktool 1.5.2. usage, new future-proof option for reusing original signature
Version 16.4 - Extra decompiling option, colour options available Version 16.3 - Apktool 2.4.1, new decompiling option, decompile then recompile option added
Version 16.2 - Bug fixes, AOSP framework integration, Java help integration
Version 16.1 - Bug fixes
Version 16.0.0.1 - Complete rewrite and redesign with emphasis on speed, efficiency and ease-of-use
Click The Box Below To See The Credits:
(All The People I Have To Thank)
Big thanks go to these people, without their hard work none of this would be possible:
@Brut.all, @iBotPeaches, @scrosler and @JesusFreke.
I actually have a lot more people to thank than that.
So many, in fact, that it now crashes the website if I try to list them all!
So thank you so much to everybody who's helped over the years. You're all amazing people!
Click Here For Frequently Asked Questions And Help
TMA is a quick, powerful and easy-to-use tool that uses a piece of java called "apktool" to decompile and recompile Android app's.
Along with that, Tickle My Android offers the ability to:
decompile and recompile multiple files in a batch,
sign APK and JAR files
zipalign APK files,
create flashable ZIP files,
let you choose between multiple versions of Apktool
lets you theme up to eight different roms or devices at the same time,
use the tool in different languages
control the tool by keyboard or MOUSE!
To use Tickle My Android, you will need:
- a rooted Android phone or tablet with USB Debugging enabled and a custom recovery installed,
- any version of Android on that device,
- a Windows PC (XP or above) with the phone or tablet's drivers installed,
- Java Runtime Environment 8.0 or above installed to your PATH (http://www.java.com/en/download/help/path.xml),
- a USB cable to connect your device to the PC,
- patience and a little common sense
If you're running Android 4.3 or above, you'll also need to give USB Debugging permission on your phone when this sort of message pops up on the screen:
(Thanks to @carl1961 for the picture)
Download the latest version from the link at the top of this post and run it. (Please don't look in the 'Downloads' tab - it's not working right now.) This is a self-extracting archive which, once it's extracted everything, will put on your PC a new folder called "Tickle My Android". This is where the tool runs from.
The "_WorkArea1", "_WorkArea2", "_WorkArea3", "_WorkArea4", "_WorkArea5", "_WorkArea6", "_WorkArea7" and "_WorkArea8" folders we'll talk about later.
The "tool_files" folder contains various files Tickle My Android needs to run. Don't touch these!
The "user_files" folder holds different versions of Apktool, as well as the different language files.
And the "Tickle My Android" exe file starts the tool. Double click on that and away we go!
How To De/recompile An App
If you want to know about decompiling and recompiling APK and JAR files, take a look at the second post in this thread. There's a lot to talk about!
How To Add An Application To A Flashable ZIP
Head to the third post in this thread to find out how to add APK and JAR files to a flashable ZIP!
What Happens If It Goes Wrong?
Tickle My Android has been designed to be easy to use but the very nature of Android means that things might not always go smoothly.
If you're having problems, look at the 4th post in this thread: http://forum.xda-developers.com/showpost.php?p=25621684&postcount=4 This is the FAQ post which should hopefully be able to help you out.
If you're still having trouble, please feel free to post in here. Include your "history.txt" and I'll try to get to back to you as soon as I can!
How To Say "Thanks"..
TMA is free and always will be. You can use it as much as you like, you don't owe me anything.
But, if you want to give something back, please consider placing one of the banners below somewhere in your signature.
Your support lets me know I'm doing something useful and it keeps this tool alive!! Spread the word!
XDA:DevDB Information
[TOOL] Tickle My Android - Decompile & Recompile With Ease, Tool/Utility for the Android General
Contributors
Ticklefish
Version Information
Status: Stable
Current Stable Version: 16.3
Stable Release Date: 2019-11-30
Created 2018-11-30
Last Updated 2019-12-03
XDA:DevDB Information
[TOOL] Tickle My Android - Decompile & Recompile With Ease, Tool/Utility for the Android General
Contributors
Ticklefish
Version Information
Status: Stable
Current Stable Version: 16.5
Stable Release Date: 2020-03-12
Created 2018-11-30
Last Updated 2020-03-12
How To De/recompile An App
Decompiling and recompiling an Android app for the first time can seem quite complicated and time-consuming, but it really isn't once you know what you're doing.
First you'll need to choose which WorkArea you want to use. There are eight WorkAreas in total, which means you can easily work on up to eight different rom's or devices without having to reset the tool everytime you want to change from one to the other.
Inside each WorkArea are five folders. The '_in' folder is where files about to be decompiled go, the '_working' folder contains the results of that decompiling and the '_out' folder contains the recompiled files. There's also a "Frameworks" folder, which will contain the framework files you've installed. You can pretty much ignore that last one most of the time.
(When you first use TMA, you'll be in WorkArea 1 by default.)
To decompile an app, you'll first need to put the relevant APK in the "_in" folder. You can either copy this into the folder yourself or you can 'pull' it from your Android device. If you want to pull the file, this next section is for you. If you don't, skip ahead to the one after that.
How To Pull A File
First select the "Pull File From Device" option.
This gives you the option of pulling some of the most commonly modified system apps, or any other file you wish.
Choose which file you want to pull and the tool will try to do that for you. If the pull fails, it could be that you don't have the adb drivers installed on your PC for your particular device, or the file doesn't exist, or any one of a number of things. Have a look in the "history.txt" file that's automatically generated to see what's going on.
That's actually all we need to know about pulling - it's really not that complicated. Once you've pulled all the files you need, you can move on to decompiling them. But you might need to install your frameworks first..
How To Install Framework Files
If you want to modify a system app (like SystemUI.apk or framework.jar) you'll need to install the right framework files. These are files that contain resources that are shared amongst most of the system apps. Those resources need to be made accessible to apktool (the program that does the actual decompiling) or the app won't decompile fully and it won't work.
There are many framework files available. Stock Android only comes with one (so far) and it's called "framework-res.apk". OEM's like to include their own, though, just to make life more interesting. Samsung used to have "twframework-res.apk" in their rom's before replacing it with "samsung-framework-res.apk". Framework files are found in "system/framework" on your devices internal memory and should be an APK file with "res" in the filename. You need to make sure you install every framework file in your rom to ensure a system app decompiles, so make sure they all are put in the "_in" folder.
Select the "Install Framework File" option and choose whether you want to install all the framework files in your WorkArea or some individual ones. You can select up to five individual files to install in one go.
If the tool isn't able to install the files you'll be shown an error, otherwise you'll go back to the install menu. If you've installed all the framework files you need to, go back to the title menu because we're finally ready to do some decompiling!
How To Decompile A File
Select the "Decompile File" option and choose whether you want to decompile all the files in the "_in" folder or individual ones.
Once you've chosen your files, you'll be asked whether you want to decompile with "Standard" or "Advanced" settings. This is new to Version 16 of Tickle My Android. Apktool has a lot of different options when it comes to decompiling and you can now choose which ones you want to use. The standard settings will just make the tool try to decompile the entire file, as it used to in previous versions. The advanced settings let you control the process a little better..
These are the main decompile options available for the latest version of apktool available at time of writing (2.4.0.). Full explanations of each are available on the apktool github here: https://ibotpeaches.github.io/Apktool/documentation/#decode. To give you an idea though, you can use "Don't Decode DEX Files" if you don't want to modify any smali files, which makes the decompile a lot faster!
Choose your options and the tool will try to decompile your file for you. If it succeeds the decompiled files will be in the "_working" folder, if not you'll get an error message. The full details of that error will be in the "history.txt" file.
Once your app is decompiled you will be free to modify it however you like. Change images, alter layouts, add functionality..whatever you want to do. When you're done, you'll need to recompile your app to be able to use it again.
How To Recompile A File
Select the "Recompile File" option and choose whether you want to recompile all the files in the "_working" folder or individual ones.
Once you've chosen your files, you'll again be asked if you want to recompile with standard or advanced settings.
You can find explanations of the first few options on the apktool github again: https://ibotpeaches.github.io/Apktool/documentation/#rebuild. It is very important to know what the options that you've selected but there are two that's worth paying extra attention to..
"Copy Original "AndroidManifest.xml" And "META-INF" Folder" - Modified system apps need to be signed with the same 'key' as the original app, or they won't run. This option ensures that the original key is used on the new app. If you want to change the Manifest file, though, you'll need a different key which involves disabling signature verification. That's a bit more complicated than this tool allows for..
"Use "aapt2" [apktool_2.3.2+]" - More recent apps can be constructed with a newer version of a tool called aapt. If you're trying to modify a file made with the newer version, you'll need to have this option actve for the recompile to work. There's no easy way to tell if this is needed or not so, if you get an error, try again with the option turned off.
(Different versions of apktool will have different options. Selecting an option that isn't available on the version of apktool you're using will cause an error.)
There are also options to sign and zipalign your recompiled apps. Signing uses a generic key and zipaligning can sometimes break V2 signature checks so, if you've no idea what that all means, it's best to leave these options alone until you know you need them.
And TMA has an option to put your recompiled apps into a ZIP file that you can flash in a custom recovery. I'll go into this in more detail in the next post but I always recommend replacing system apps this way. It's much safer than trying to replace them while the phone is running.
Choose your settings and sit back while the tool does its thing.
Once it's finished you'll get a message saying the file recompiled...or one saying it didn't. If it didn't, you can find the full error text in history.txt.
If your file recompiled, you'll find it in the "_out" folder. It's now ready to go back to your phone.
It's up to you how you do that but the route I always recommend above all others is using a flashable ZIP file. Check out the next post if you want to know more!
How To Create A Flashable ZIP File
Once you've got a recompiled app, you need to put back to your phone. If you've modified a system app, I always suggest using a flashable ZIP file in recovery. That way you're replacing part of the system, while the system isn't running. Using a file manager app, or using adb, is asking for trouble. I've broken a tablet that way and nearly a phone as well.
Tickle My Android can create that flashable ZIP for you and it's really easy to do so. You can either tell the tool to do it as soon as the app's recompiled, or use the dedicated option on the title screen.
To start, select the "Create Flashable ZIP File" option from the title screen. You'll then be asked if you want to use files from the "_in" folder or "_out" folder. This can be handy if you want to make a flashable ZIP of the unmodified apps. I normally have at least one of those containing my original SystemUI.apk just in case a mod goes wrong.
Next you'll be asked to choose your files. You can add up to five files to the flashable ZIP. Once you've confirmed which file, or files, you want to use you'll be asked where those files are going in the ZIP.
Make sure your apps go back to the right folder. If you put a modified framework-res.apk in the "system/app/" folder, for instance, those modifications won't be actioned.
Once you've chosen where the files are going, you'll next be asked what filename you want the ZIP file to have. TMA will automatically generate one for you based on the current date and time, but you can have whatever filename you want. Make sure not to use too many special characters or it could confuse the tool and/or the recovery. If you want to use the default filename, just press ENTER.
The tool will now ask you to confirm all the details.
If you're happy, then the ZIP will be made and placed in the same folder as the tool.
Copy this to your phone, flash it in reoovery and enjoy! But always, always, always make sure you have a backup first!!
F.A.Q.
Having trouble using Tickle My Android?
Something not making sense?
Something not working the way it should?
Read on..
Q. I can't de/recompile something!
A. With Android being open-source, more and more companies and developers are putting their own spin on the OS and it's not unusual to find that something won't compile even when there's no obvious reason why it should.
I can help..but you need to do something for me first.
In the tool's folder, you'll find a file called 'history.txt'.
Share that file with me and let me know a little bit about what's going wrong.
That should give me enough information that I will be able to fix your problem.
Please be aware that I won't be able to help you without this information.
Q. I'm getting a 'Java Not Installed" error...but I do have Java installed!!
A. You may have Java installed...but you probably don't have it in your PATH.
TMA is a batch file, which runs in a command-line environment. If you don't have Java in your PATH, the tool won't be able to access it and won't be able to do any decompiling or recompiling at all.
Adding Java to your PATH is actually a lot easier than it seems. Have a look at the official guide here: [url]http://www.java.com/en/download/help/path.xml[/URL]
(Big thanks to @carl1961 for the pictures!)
required SDK &other tools?
Sent from my GT-S5660 using Tapatalk 2
si_bolang said:
required SDK &other tools?
Sent from my GT-S5660 using Tapatalk 2
Click to expand...
Click to collapse
Nope, everything that's needed is included. You do need to have the right drivers installed but that's about it.
Ticklefish said:
Nope, everything that's needed is included. You do need to have the right drivers installed but that's about it.
Click to expand...
Click to collapse
Hey, how do i get transparensy statusbar? i use cm 7.2 can it work then ?
Edit: Great tool btw
Decompile your framework-res.apk and SystemUI.apk, then use the Change Status Bar Color option.
It should work on your rom but not every launcher supports transparent statusbars. Let me know how you get on!
Oh,and thanks!
Sent from my SK17i using xda premium
Just wondering if you could make these for me with your tool cos i'm likely to do something wrong if I try it myself lol.
I don't want on screen buttons.
How to change status bar in cm7.2 to make look like miui status bar
Like This :
First off, thank you! This seems like a great useful tool. The problem im having is that following the steps above, whenever i get to where i decompile the apks and its says the files are placed in the "working" folder, nothing is in there? What could i be doing wrong?
Thanks for your help
Hi,
Awesome tool, I was really excited when I found this. But I am running into some issues. I am running Thundershed (cm7) on HTC thunderbolt, computer is win7. When I try and "pull" I get a quick "unexpected error" message and your tool closes. I have manually pulled framework out of the system and put it in the "in" folder, tool sees that it is there, but when I try to decompile, I get the same unexpected error. The only thing I have managed to get this tool to do is reboot my device.
ok, i was able to get a screenshot of the error.
X-Droidinary said:
Just wondering if you could make these for me with your tool cos i'm likely to do something wrong if I try it myself lol.
I don't want on screen buttons.
Click to expand...
Click to collapse
Well, this can be used to do a lot of the modifications you have in those images. The ICS battery icon is available from the battery icon menu. Changing the position of the clock is relatively simple but exactly how you do it depends on your exact rom.
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
X-Droidinary said:
Just wondering if you could make these for me with your tool cos i'm likely to do something wrong if I try it myself lol.
I don't want on screen buttons.
Click to expand...
Click to collapse
Well, this can be used to do a lot of the modifications you have in those images. The ICS battery icon is available from the battery icon menu. Changing the position of the clock is relatively simple but exactly how you do it depends on your exact rom.
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
themisterwilson said:
First off, thank you! This seems like a great useful tool. The problem im having is that following the steps above, whenever i get to where i decompile the apks and its says the files are placed in the "working" folder, nothing is in there? What could i be doing wrong?
Thanks for your help
Click to expand...
Click to collapse
Hmm. How far do you get with the decompile process? Can you share a screenshot please?
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
trainriderben said:
ok, i was able to get a screenshot of the error.
Click to expand...
Click to collapse
I think I know what's going on here. When it says to press x to cancel or any other key to continue, do you press RETURN on its own or do you press another key first (like 1, a or similar)? One of the quirks of MS-DOS is that if you only press RETURN, it enters the character you used last time you just pressed RETURN.
In other words, it gets confused and closes the tool. Try typing a letter or number then pressing RETURN. If that doesn't work, let me know!
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
Ticklefish said:
Hmm. How far do you get with the decompile process? Can you share a screenshot please?
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
Click to expand...
Click to collapse
I'm guessing it completed the decompiling process, it didn't give me any errors or force closes or anything. It just doesnt show up in the working folder..
themisterwilson said:
I'm guessing it completed the decompiling process, it didn't give me any errors or force closes or anything. It just doesnt show up in the working folder..
Click to expand...
Click to collapse
No, it's not decompiling at all. Odd. Looks like I need to include an error check at that point.
What happens if you try the decompiling option in the theming menu?
Can you share your framework-res.apk? I'll try it out on my version and see if I can't work out what's going on.
Sent from my U20i, SK17i, GT-P1010 or something else entirely.
One noob question. Is this work on ICS device completely?
Hi guys,
Here is third version of my ROM Tools PC Version (Automatic decompile classes.dex file to edit smali content) exclusively for Galaxy Y and Galaxy Ace I
Totally tested for every feature and bug free, it is now loaded with new awesome features.
Screenshot:
{
"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"
}
Changelog :
Code:
Version 3
8 May 2013
-Added many new features
-Option to reboot
-Option to recovery
-Option to Hot Reboot
-Option to view and save logcat with nice integration of verbose and long command
-Option to fix permissions
-Option to RESET PASSWORD of pattern lock or passwork or pin
-Added a small Easter egg
Version 2
18 April 2013
- Changed it from a script to multi tool
- Added folders for convenience
- Made eye candy
- Made it noob proof
- It's like changing Baichung Bhutiya to Lionel Messi
Version 1
- Just one smali.bat file and one baksmali.bat file with one one line each of commands to Baksmaling and Smaling (duh!)
PHP:
I am not responsible for your device being dead,
you flashing stock ROM,
you using your device as a brick,
or the decrease in love of your Girlfriend because you use your mobile so much
What does it do?
As you are aware, there are smali files in jar files and apks you need to edit for adding 4-way boot into power menu, extending Power options, changing clock colour, adding CRT effect, changing the pop up that comes up when you touch the easter egg image, adding brightness slidebar, adding lidroid toggles, etc and so manyyyy things
In order to edit them, you need to decompile apk and classes.dex
It is not a problem in editing smali files of apk as they are decompiled itself by APK-Multitool(I use it)
But, it does not work for jar files
I know that there is smali.jar and baksmali.jar for it but I don't like repeatedly commading same operations when I can do it with one click
This program decompiles and recompiles classes.dex from any jar or apk in one click(very useful when you only need to decompile dex file only)
However, it's main objective is to recompile and decompile classes.dex only, but I added few more option to make it really a full fledged ROM Tool
Expect a few more features in upcoming releases
Pre-Requisites:-
*PC
*My Tool
*Java JDK(or JRE) (If you are running Windows 7 64 bit, you may need to add Java in environment variable)
*7-Zip (For in zip operations[pull out classes.dex])
*classes.dex file(on which you will operate)
*Android Phone to be connected to PC with USB Debugging on to use features other than decompiling and recompiling
Guide:-
Main Options
1. Download my Tool.
2. Extract it in any folder.
3. Place classes.dex in the input folder. DO NOT RENAME IT.
4. Run script.bat. Choose Option 1, Decompile classes.dex . In a few seconds, there will be a prompt that it is "Done. Press anykey to continue" (Note:- If you have UAC [User Account Control] on, you may run it as administrator or it might not be able to create folder if you have extracted it in System Drive)
5. Go to decompiled folder. There will BE classout folder. Make any changes in smali in classout folder(ALWAYS USE NOTEPAD++). DO NOT RENAME CLASSOUT FOLDER.
6. Again open script.bat if you had closed it or if not, then return to the window.
7. Choose 2 option "Compile classes.dex" . A new classes.dex will be formed in output folder.
8. Enjoy
Note:- Once you change things in classout folder, and you decompile another classes.dex, previous version in decompiled folder will be deleted. So if you want backup of it, move it somewhere else
Same thing will happen to classes.dex on output folder when you compile another one.
Other options
1. Connect you phone to PC with USB Debugging on and not on USB Tethering. Make sure you aren't using adb before using the tool. If so, Go to Alt+Ctrl+Del and to Task Manager and close adb.exe process
2. Choose the option what you want.
a) Logcat, either view or save it
If you view it, a window will appear with logcat in it. If you are done, just close that window
If you save it, it will be saved in the same folder where Script.bat is present. To stop saving it, Press Ctrl+C and type Y and press Enter
b) Reboot, may take some time in rebboting and rebooting in recovery.
c) Fix permissions and Reset password
3. Try to find Easter Egg
Download:-
ROMToolsPCv3.zip
Down below is attached v1
iamareebjamal said:
Hi guys,
This is sunday and I am here to post a new tool made by me.
(Actually making it was a piece of cake)
PHP:
I am not responsible for your device being dead, you flashing stock ROM, you using your device as a brick, or the decrease in love of your Girlfriend because you use your mobile so much
What does it do?
As you are aware, there are smali files in jar files you need to edit for adding 4-way boot into power menu, extending Power options, changing clock colour, adding CRT effect, changing the pop up that comes up when you touch the easter egg image, adding brightness slidebar, adding lidroid toggles, etc and so manyyyy things
In order to edit them, you need to decompile apk and classes.dex
It is not a problem in editing smali files of apk as they are decompiled itself by APK-Manager(I use it)
But, it does not work for jar files
I know that there is apktool for it but I don't like repeatedly commading same perations when I can do it with one click
Also, I get many errors in apktool.
This program decompiles and recompiles classes.dex from any jar or apk in one click(very useful when you only need to decompile dex file only)
Note:- This program is for those who either are very much newbie in this task or want one click solution
Any experienced person will know how easy it is to do it by himself/herself/itself.
Pre-Requisites:-
*PC
*My Tool
*Java JDK(If you are running Windows 7 64 bit, you may need to add Java in environment variable)
*7-Zip (For in zip operations[pull out classes.dex])
*classes.dex file(on which you will operate)
Guide:-
1. Download my Tool.
2. Extract it in any folder.
3. Place classes.dex in the folder
4. Run smali.bat. In a few seconds, you will see a classout folder made.(Note:- If you have UAC on, you may run it as administrator or it might not be able to create folder if you have extracted it in System Drive)
5. Make any changes in smali in classout folder(ALWAYS USE NOTEPAD++)
6. Delete classes.dex file.
7. Click on baksmali.bat. A new classes.dex will be formed
8. I did not make the folder very clean. Please bear with it.
9. Enjoy
Download:-
View attachment 1756046
Click to expand...
Click to collapse
Hey, i already made the thread for this but nice tool!
http://forum.xda-developers.com/showthread.php?t=2160478
possible copy?
js2892 said:
Hey, i already made the thread for this but nice tool!
http://forum.xda-developers.com/showthread.php?t=2160478
possible copy?
Click to expand...
Click to collapse
What do you mean?
iamareebjamal said:
What do you mean?
Click to expand...
Click to collapse
i'm just saying two almost same threads within same section look weird!
I'm not claiming copyright over ur thread or tool..!
But you could have made a post in the older thread about ur tool instead of making new thread!:good:
js2892 said:
i'm just saying two almost same threads within same section look weird!
I'm not claiming copyright over ur thread or tool..!
But you could have made a post in the older thread about ur tool instead of making new thread!:good:
Click to expand...
Click to collapse
Man, yours is a guide.
Mine is a tool made by me
iamareebjamal said:
Man, yours is a guide.
Mine is a tool made by me
Click to expand...
Click to collapse
well...okay!:good:
Version 2 Uploaded
Man, AWESOME, it's so easy. Far Far better than typing each command over and over again.
Updated to version 3
Added many new options
Screenshot:
Changelog :
Code:
Version 3
8 May 2013
-Added many new features
-Option to reboot
-Option to recovery
-Option to Hot Reboot
-Option to view and save logcat with nice integration of verbose and long command
-Option to fix permissions
-Option to RESET PASSWORD of pattern lock or passwork or pin
-Added a small Easter egg
Version 2
18 April 2013
- Changed it from a script to multi tool
- Added folders for convenience
- Made eye candy
- Made it noob proof
- It's like changing Baichung Bhutiya to Lionel Messi
Version 1
- Just one smali.bat file and one baksmali.bat file with one one line each of commands to Baksmaling and Smaling (duh!)
iamareebjamal said:
Updated to version 3
Changelog :
Version 3
-Added many new features
-Option to reboot
-Option to recovery
-Option to Hot Reboot
-Option to view and save logcat with nice integration of verbose and long command
-Option to fix permissions
-Option to RESET PASSWORD of pattern lock or passwork or pin
-Added a small Easter egg
Version 2
18 April 2013
- Changed it from a script to multi tool
- Added folders for convenience
- Made eye candy
- Made it noob proof
- It's like changing Baichung Bhutiya to Lionel Messi
version 1
- Just one smali.bat file and one baksmali.bat file with one one line each of commands to Baksmaling and Smaling (duh!) [/CODE]
Click to expand...
Click to collapse
good work areeb....
abhi922 said:
good work areeb....
Click to expand...
Click to collapse
Thank You
Works on linux?
Sent from my GT-S5830i using xda app-developers app
luteriace said:
Works on linux?
Sent from my GT-S5830i using xda app-developers app
Click to expand...
Click to collapse
No. How can a bat file work in Linux!
luteriace said:
Works on linux?
Sent from my GT-S5830i using xda app-developers app
Click to expand...
Click to collapse
nope (NO) ,
works only with windows....
Link not working for me :/
x3reme85 said:
Link not working for me :/
Click to expand...
Click to collapse
It's working fine for me
http://www.mediafire.com/download/1bmy46ed7qxhj67/ROMToolsPCv3.zip
you are a star
You arae a Star! thanks alot,
will i was struggling for about 50 hours untill i learned decompiling htc one camera apk, but your software helps alot what i am going to do is i extract apk then with your tools i extract classes.dex i make changes then without recompiling it i will replace com file with com file in decompiled folder, so i can edit xml file at once.
i have noticed com file in decompiled folder is 12.7mb and size on disk 15.8
while with your tool i get 12.8mb but size on disk is 15.8 so it is nearly the same but
i got little minor error while decompiling my apk but was working when i recompiling it, so i believe this methods will recompile with 0 error.
thanks again.
i do not know if you have knowledges of changing camera apk setting, i want to try break the limites size recording because i am restricted to 3.79GB then record stops and says maximum record size is reached, i am still searching and try to get solution.
another question is while the camera apk was stock camera apk i just modified few icons color, remember this is not extracted, so i have access to all xml file also but just quick test changed icon color when i replaced on system app it started but when i reboot phone it does go back to original stock camera and if i switch off and on then the camera will not start at all.
so if you have any idea please let me know.
it does not matter if you do not know by this software you served me alot thank you.
i may try to learn coding in java its good for everything
zindu said:
You arae a Star! thanks alot,
will i was struggling for about 50 hours untill i learned decompiling htc one camera apk, but your software helps alot what i am going to do is i extract apk then with your tools i extract classes.dex i make changes then without recompiling it i will replace com file with com file in decompiled folder, so i can edit xml file at once.
i have noticed com file in decompiled folder is 12.7mb and size on disk 15.8
while with your tool i get 12.8mb but size on disk is 15.8 so it is nearly the same but
i got little minor error while decompiling my apk but was working when i recompiling it, so i believe this methods will recompile with 0 error.
thanks again.
i do not know if you have knowledges of changing camera apk setting, i want to try break the limites size recording because i am restricted to 3.79GB then record stops and says maximum record size is reached, i am still searching and try to get solution.
another question is while the camera apk was stock camera apk i just modified few icons color, remember this is not extracted, so i have access to all xml file also but just quick test changed icon color when i replaced on system app it started but when i reboot phone it does go back to original stock camera and if i switch off and on then the camera will not start at all.
so if you have any idea please let me know.
it does not matter if you do not know by this software you served me alot thank you.
i may try to learn coding in java its good for everything
Click to expand...
Click to collapse
Thank You. *blush* *blush*
I recommend using APK2JAVA to decompile it to it's original source to learn more about coding of the app
You'll eventually get it done :good:
About Camera reverting to original or not working, I doubt I know why that's happening.
iamareebjamal said:
Thank You. *blush* *blush*
I recommend using APK2JAVA to decompile it to it's original source to learn more about coding of the app
You'll eventually get it done :good:
About Camera reverting to original or not working, I doubt I know why that's happening.
Click to expand...
Click to collapse
Thank you,
i found that tool, and also found that i have to use dx.bat on sdk folder to convert it back to classes.dex but i could not find how, but that's not a problem, because i am going to learn java and after that learn how to make apk apps, so i will learn that.
i have some knowledges like html, and i did try to learn phph but i gave up for learning photoshop and after effects, but this time i am persist i have to learn it because it make me different person. to me programmers are the base of live and any one know it have to be proud.
have a good day and thanks again
good job man