Ladies and gentlemen, after a lot of typing, headaches and late nights, I can finally now present..
Tickle My Android
5.4
Tickle My Android, or TMA for short, is a command line tool for Windows that uses apktool to help you pull and decompile files from your Android phone or tablet.
But it can also:
change the battery icon,
change the WiFi icon,
change the signal icon,
change the emoticons,
change the notification toggles,
change the transparency of the statusbar (if the rom allows it),
add Ice-Cream Sandwich-style transitions
zipalign apk files,
sign new apk files,
sign recompiled apk files in the same way as the original,
deodex apk and jar files,
backup personal data and transfer to a brand new device,
resize and change boot animations,
change fonts,
add sounds from other devices,
create backup-generating flashable zip files
..and now comes in Portuguese and French!!
To use Tickle My Android, you will need:
- a rooted Android phone or tablet with USB Debugging enabled and ClockworkMod Recovery installed ,
- any version of Android on that device,
- a Windows PC (XP or above) with the phone or tablet's drivers installed as well as Java Runtime Environment 1.6 minimum,
- a USB cable to connect your device to the PC,
- patience and a little common sense
Download the tool to the root of 'c:\' from the link at the bottom of this post and put it in the folder you want to do from your modding from and run it. 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 "_deodex", "_in", "_out" and "_working" folders we'll talk about later.
The "tool_files" folder contains various files Tickle My Android needs to run.
The "user_files" folder will hold your backups, boot animations and fonts.
And the "Tickle My Android" shortcut starts the tool. Click on that and away we go!
************************************
Click here to find out how to change your icons.
Click here to find out how to change your boot animation and font.
Click here to find out how to deodex your rom and how to backup personal data.
Don't worry, TMA has been designed to make things as simple as possible..
First, backup your phone or tablet. If you don't know how to do this, it's worth finding out first before going any further. Tickle My Android lets you change the very workings of your device and if you don't know what you're doing, it's possible to get things wrong. If you haven't made a backup, you could lose everything..
Then choose Option 2 to go to the theming menu.
Next use Option 2 again to go to the pull menu.
This gives you the option of pulling (copying from your Android device to the PC) one of the most commonly modified system files, or any other file you wish.
Pull, decompile and install framework-res.apk first.
You may need to do this even you're not planning to mod framework-res.apk itself. Installing it to the PC will make its resources available, which can be essential if you're modding any other system app.
In fact, depending on what you're modding, you may need to install other resource files as well. You'll normally find these in your framework folder with "resources" or "res" in the filename. If in doubt, use the 'ADB Shell' option and enter the command 'ls system/framework' to see what files you actually have in the framework folder.
This file goes into the "_in" folder. You then have the option of backing it up (always a good idea), then decompiling it. Once a file has been decompiled, have a look in the "_working" folder. You'll see a folder with the same name as that file, this contains all the various files (images, xml, smali, etc) that the file you pulled actually consists of. Now you can make all the changes you desire.
Once you've finished changing things, go back to the theming menu and select Option 13 to recompile and put everything in that folder back into a single file. This recompiled file will now be in the "_out" folder. From there you can push it back to the device, right?
Well...no.
Or at least, not yet.
If your recompiled file is an .apk or a .jar, it will have everything it needs in it but it might not be laid out the way Android likes and it might not be signed correctly either so it won't actually work.
If you pulled a system file, then it needs to be signed the same way as it was before and the compression rates need to be the right way around as well. So select Option 14 to prepare the file correctly. If it's not a system file, you can use Option 15 to sign it instead.
Now you can push it back to the device.
This is where ClockworkMod Recovery comes in. Head back to the title menu and select Option 7 to create a flashable zip. This uses the Universal Flashing Tool by JRsoft and Intronauta. This is a very handy tool and full credit goes to them. It can do a lot of clever things but the bit that I like most is that it creates a flashable backup of every file you've changed. Don't like what you've changed? Just flash the backup!
Simple, no?
Well, if you're having trouble, or if you have no idea what any of the above means, Tickle My Android now comes with the Mini Menu. This is a slower method but it does everything for you. You don't need to worry about installing the right resource files, or what files to decompile when, or remembering to prepare the files after. The Mini Menu will do it all for you. All you have to do is tell it which mods you want to apply and it will do the rest.
Use Option 1 to get it ready, Options 2-7 to make changes and Option 8 to create a flashable zip in the "_out" folder. Then Option 9 to clean up, ready for next time.
The Mini Menu is simple, but slow, and is meant for less advanced users. But there's no shame in being a less advanced user, we've all been there.
************************************
Compatibility Issues
Tickle My Android's decompiler function always uses the very latest apktool files, as well as the very best aapt files, available. But, because Android is an open-source OS, there will always be some implementations of it that TMA will not be fully compatible with.
Currently, TMA is not fully compatible with some official MIUI rom's. This is because MIUI isn't open-source, unlike Android itself, and the developers aren't sharing how they construct their files.
TMA is also not fully compatible with HTC Sense 4.0+. This is because HTC have constructed their files in a different way to the Android norm and aren't letting people outside the company know how they did it.
TMA also has problems with stock Asus Transformer apk's. BUT there is a fix! Click on this post here to find out what to do. Many thanks to allan1313 for this.
There will be some devices/roms that are unable to use the zip files TMA creates and you'll be given an error code:0. This is down to the update-binary and can be easily fixed.
Take the update-binary from a working zip file and place it in the user_files folder. Run the tool and it will be absorbed into the zip template. In other words, all future zip files will use that update_binary!
************************************
If you're having problems decompiling or recompiling, I'm more than happy to help..but I will need information from you first. So here's how to help me to help you:
Fill out this form here. Just copy and paste then fill in your answers.
What phone/tablet are you using?:
What version of Android are you running?:
What sort of rom are you on? (I need to know about OEM roms as well. That's things like Sense, Touchwiz, etc)
What are you trying to decompile/recompile?
What resources apps have you installed?
Are the files you're using odexed or deodexed?
What mod are you trying to do?
Do your files work if you decompile, recompile and prepare them without changing anything?
Have you tried the Mini Menu and, if you did, what happened?
What problems are you having? (Give me some detail here, don't just say "It doesn't work.")
Please also copy and paste the log files for the files you're modding (use Option 1 in the theming menu) as well as the history.txt logfile.
It can take a lot of time, and a lot of posts, to track down what could be causing an error, so I will need this information before I can start to help you. The more information I have, the faster I can fix the issue.
Please be aware that I won't help you without this information.
Version 5.4 - Improved compatibility with modern devices, added French language option
Version 5.3 - Improved preparing process, added Portuguese option
Version 5.2 - Process tweaks
Version 5.1 - New apktool, bug fixes, improved file preparing algorithm
Version 5.0 Beta 04 - Code improvements
Version 5.0 Beta 03 - Bug fixes, new toggle icons, theming log
Version 5.0 Beta 02 - Latest apktool with Android 4.2 compatibility
Version 5.0 Beta 01 - Latest apktool, customised appt, significant UI changes, added toggles and emoticons to icon changing, removed pushing to phone, re-added statusbar transparency, added the Mini Menu, added option for changing the tool language (languages to follow)
Version 4.3 - Added apktool 1.5.0, minor bug fix
Version 4.2 - Added apktool 1.4.10, added option to make log files when decompiling or recompiling
Version 4.1 - Bug fixes, UI tweaks, added option to change boot animation size, major improvement to preparing file speed, increased Android compatibility, moved version number to credits screen
Version 4.0 - Added ZIP maker, UI and code changes to improve user friendliness, 2 new battery icons, added option to use own battery icons, latest apktool and aapt ensuring compatibility with nearly all Android devices, updated deodexing for ICS and JB, expanded quick file select, improved installation of resource files, better error handling
Version 3.0 - Added deodexing option, signal and wifi icon changing, code tweaks, UI overhaul, more battery icons
Version 2.2 - Improved battery icon adding, improved framework adding, improved error handling, UI changes, small code tweaks
Version 2.1 - Improved de- and recompiling of files, fixed "Enter 'x' To Cancel" bug, other slight tweaks
Tickle My Android can be used to change the battery icons on your Android device, as well as change the WiFi icons, signal icons, notification toggle icons and emoticons.
But..make sure you back it up first!!!
And this is how to change your battery icons (the process is very similar for the other icons):
First, start the tool and select Option 2 - Theming Menu
Then Option 2 - Pull Files From Device
Now pull, backup, decompile and install the relevant files
This is the tricky bit, to be honest. In most roms and Android versions, battery icons are stored in framework-res.apk and/or SystemUI.apk. But you may need to install certain resource files before you can decompile those.
If you're on a Sense(HTC)-based rom, you might need to decompile and install com.htc.resources.apk.
If you're on Touchwiz(Samsung), it could be that you need twframework-res.apk.
If it's LG, then it might be lge-res.apk.
It it's Motorola, then moto-res.apk and/or blur-res.apk.
If it's Sony, it could SemcGenericUxpRes.apk.
If you're on MIUI, maybe it's framework-miui.res.apk.
Or it could be something else. Search your system/framework folder and make sure you pull and install every apk with "res" in the title.
By the way, if you're changing your toggle icons, you might need to pull and decompile lidroid-res.apk.
Now, after all that, go back to the theming menu and choose Option 6
You now have the option of using your own battery icons instead of the ones included in the tool. Add any images and any xml that you want to use to the "user_files\BATTERY" folder and select Option 1 to add them to your decompiled app's.
Please note, it is your responsibilty to make sure any images and xml you use will work. If your battery icon currently changes every 10% and you add enough images for a 1% icon, it will still change at every 10% unless you add some new xml files as well.
If you want to use some of the icons included in TMA, select Option 2 and pick which battery icon you want to use
Tickle My Android will work out where it needs to put the relevant files and gets on with it.
This is set up to cope with icons that change every 1%, 5%, 10%, whatever% so you don't need to worry about that. Please note that every battery icon will work on every device, but some may look better on higher resolutions. There are currently 59 to choose from. Some I've found here and in other Android forums, some have been very kindly shared by the original creator, some I've made myself and some I've adapted from other formats..including iPhone!
I've credited the original creator where I know them but if any of these were made by you and I haven't mentioned you, please let me know!
You can choose from these battery icons:
(Massive thanks to OlliG for help with creating these thumbnails! The rest will be posted soon!)
Arrows by tr.slate
Block Battery by tr.slate
BlueBall
Blue Circle With White Text
Bolt Battery
Car Battery by tr.slate
Car Battery Blue by tr.slate
Circles by Hoolm
Coffee by Ticklefish
Colorful
Colour-Changing Heart by Ticklefish
Columns by lfc1977
Cyanogenmod 9 by Perka
Digital Numbers by Zaphod Beeblebrox
Digits Only by patmorris
Dots And Arrows Battery by tr.slate
Droid Battery by DroidPirate [droidpirate.com]
Emoticons by FastIcon
Fading Heart by Ticklefish
Flames by Killrsquirrel
Full Circle by Pendo
Gauge by DroidPirate [droidpirate.com]
Gauges by matdogg
Glowing Circle
Glowing Circles
Grainy by Vector Images
Heart Battery by tr.slate
Ice-Cream Sandwich
Ice-Cream Sandwich With Percentage
ICS Circle by nbeebe
Japanese by Ticklefish
Liquid Battery by Vector Images
Liquid by DroidPirate [droidpirate.com]
Matted Blues by lfc1977
Meter by UOT Kitchen [uot.dakra.it]
Metered Battery by Vector Images
Minimal Circle
Multi-Tone Circular
My Little Pony Pinkie by Wendy E
New Sense
Numbers by hlxanthus
Numbers by Ticklefish
Opiummmm Foxxies by D14852001neko
Power by Ticklefish
Purple Android by UOT Kitchen [uot.dakra.it]
Red
Ribbon by unknown
Scala by OlliG's Battery Icon Creator
Six Segment Circle
Solid Circular With Ticklefish Animation
Stars
Status
Stencil Battery by itiskonrad
Stock Gingerbread Battery With Percentage
Untitled by Kalagas
White Battery Frame
White Circular
Whiter Digits by patmorris
Yorks Emoticons by Doenerking
Once the icons and animations have been added, go back to the theming menu and use Option 13 to recompile the file(s). You only need to recompile the files that Tickle My Android said it was adding battery files to.
Once recompiled, go back to the theming menu again and use Option 14 - Prepare System App For Pushing. This will organise the compiled file(s) so they'll actually work on your device
Now head to Option 7 on the main menu to create a flashable zip file. This uses the Universal Flashing Tool which automatically creates a backup file, just in case you don't like the icons you've selected
Reboot into recovery
Flash the zip
Wait a little while for it to load the new info
The device reboots and...there's your shiny new battery icon!
And that's about it. If you don't like the icon, you can either try another by repeating the above steps. Enjoy!
Changing WiFi Icons, Signal Icons, Notification Toggles And Emoticons
You can also use the same process to change other icons on your device. Again, I've found icons from all over the internet. Some are designed to match certain battery icons, some are a little..odd, but all will work with your phone or tablet.
It's worth mentioning that different roms use icons in different ways. It's possible that the icons you've selected won't work quite the way you'd want. That's why it's so handy having a backup!
How To Change Your Other Icons, Boot Animation And Fonts
The above post will tell you the basic process for changing other icons on your device apart from the battery icon.
Available WiFi icons are:
Blocks by Alexsandra Wolska
Clouds by UOT Kitchen [uot.dakra.it]
Colour-Changing Heart by Ticklefish
Colour Dots by HungLeon
Coloured Gingerbread by Ticklefish
Emoticons by FastIcon
Gauges by matdogg
Labels by unknown
Letter W by E-Dragon
Mi by Dan B
My Little Pony Pinkie by Wendy E
Orange Bars by Cadu Gauch
Shrinking WiFi Logo by Ticklefish
Steel Blue by Team Carbon
Stencil WiFi by itiskonrad
Stock Gingerbread
Stock Ice-Cream Sandwich
Untitled by Kalagas
Violet by unknown
Available signal icons are:
Blocks by Alexsandra Wolska
Clouds by UOT Kitchen [uot.dakra.it]
Emoticons by FastIcon
Gauges by matdogg
My Little Pony Pinkie by Wendy E
Rainbow by sgoo
Round Green by Haledroid
Sig by escnead69
Steel Blue by Team Carbon
Stencil Signal by itiskonrad
Stock Gingerbread
Stock Ice-Cream Sandwich
Untitled by Kalagas
Violet by unknown
Yorks Emoticons by Doenerking
Available Toggle Icons Are:
AlloyUI by xIC-MACIx
Black Hole
Fusion by Vegeta1
Green
Grey by raubkatze
HD by milton.bain
ICS-Style Blue
Kalagas
Metrostation by Orochi
MIUI-Style
PurpleGreen by Naddict
Reflections
Switches
Touchwiz Gingerbread
Untitled by deez
Xperia White
And available emoticons are:
Android Stock
Galaxy Note
Green
The Blacy by Roker
Timescape
Yolks
Tickle My Android can also be used to change your boot animation as well as your device's fonts.
And this is how:
Select Option 3 to go into the modifying menu
Then Option 4 to go into the boot animation menu
Use Option 1 to backup your current boot animation. Please note that this will currently only work if your boot animation is stored in /system/media on the device. Also be aware that only one backup is stored at any given time.
Reboot your device to recovery and mount the /system partition
Go back to the boot animation menu and select Option 3 to push a new animation to your device. Pick an animation and confirm.
Once it's been pushed, unmount the /system partition and reboot your device
Watch your new boot animation
It's really that simple. Don't like the new animation? Try another or use Option 4 to push your old one back.
But what if you like the boot animation but it's the wrong size?
Well, that's what Option 2 is for. This can change the height, width and framerate of any boot animation. In fact, there'll already be some animations provided with TMA. These are ones that I've found in various different places and changed with this tool to work on my particular phone. It's quick and it's simple.
However...it might not work on every animation. Boot animations contain a text file which controls the way it works. It's this text file that TMA changes. If the original file isn't in ANSI format (ie. if it was made on a Mac or Linux) then TMA could cause wreck it.
So make sure you make a copy of whatever boot animation you want to change before you change it. If the change is successful, you don't need to worry about the copy. If it isn't, then you'll have to change the details manually.
How To Change Your Font
Changing your font follows a similar sort of method but you have two extra options.
Here you can also change just the font that's used for the clock in the status bar or you can change all the fonts to the original Android ones.
Android devices will work with any Truetype font (.ttf) but I can't guarantee the font you try will actually look good. Make sure you back up your current font first!
New for Version 3 is the ability to deodex files. This gets a little long-winded, but follow the instructions and you'll be fine.
Some Android rom's have been 'odexed'. What this means is that some of the system apps have been split in two, with part of the app going into an .odex file.
The benefits of this are debatable. It makes the initial boot faster but, because the apps are missing certain files, it can make theming and modding much harder.
And now, if your rom is odexed, you can do something about it.
For our example, we'll imagine that you've got an odexed framework-res.apk on your device. This means that in the same folder that framework-res.apk is in (/system/framework), there'll also be a framework-res.odex as well.
And that's what we want to get rid of.
So..
First of all, ignore the deodexing menu for now and head to the theming menu instead
Use the theming menu to pull, backup and decompile framework-res.apk
Then head back to the deodexing menu. We'll come back to the theming menu later
Use Option 1 to pull the contents of your /system/framework folder into the "_deodex" folder. This is because you need various 'dependency' files to deodex something. Knowing precisely which dependency file you need for deodexing which app is a major headache, so Option 1 simply gets them all.
If you're deodexing a file from /system/app you may need to use Option 2 as well
In this instance, because we've just pull the /system/framework folder, we already have the odex file that we want. So use Option 4 to back it up. Always make a back up!
Use Option 5 now. This will show you a list of all the odex files available. There might be quite a few..
Enter the filename of the file you want to deodex (in this case, framework-res.odex) and confirm
Deodex can take a little while. Don't worry, stuff is actually happening!
When the file is deodex, a new folder called "out" will appear in the "_deodex" folder. This contains all the bits from the deodexed file. So now use Option 6 to add these bits to your decompiled framework-res.apk.
Now you make any changes you want to the decompiled framework-res.apk. When you're done, head back to the theming menu and recompile, prepare and push it back to your device. Make sure you put your device into recovery mode and mount the /system partition before pushing.
And that's it. Your framework-res.apk on your device is now deodexed and working fine.
Except that's not actually it at all. You still have framework-res.odex sitting on your device which is going to cause problems. So don't unmount the /system partition and reboot just yet.
Go back to the deodexing menu and use Option 7 to delete the file from the device. Be sure you get the filename and location right. If you delete the wrong file it may be gone forever and you might have to reflash the whole rom.
With the odex file gone from your system and a deodexed app taking the place of the odexed one, you may now unmount your partition and reboot your device.
It will take longer than normal to reboot. This is fine and to be expected.
And now that's it. It seems like a long, complicated process but it's not really. Just follow the steps and remember to backup before you do anything!
How To Backup Your Personal Data
Tickle My Android can be used to backup some of your personal data. It can even be used to put that data onto a new rom or a whole new phone or tablet!
And this is how:
Reboot your phone into recovery and mount the /data partition. Please note I said the /data partition, not the /system partition as I have in the above posts!
Go into the modifiying menu and select Option 1 - Backup, Restore Or Transfer Personal Data
Choose one of the first four Options to backup either your contacts, messages, dictionary or calendar
This information can be stored in one of three different places, depending on your particular rom. This will find out where it's stored on your device and then create a timecoded backup.
To restore the backup, simply use Options 5, 6, 7 or 8 depending on what you want to restore.
This is also a handy way to transfer your data onto a new device or rom. Tickle My Android will search your /data partition to find the right place to restore the backup to.
It may turn out that your new device or rom stores personal data in a different location. Tickle My Android will find that location and push the backup to the right place.
When writing an app with performance in mind, you most likely want to write it native code using the … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?