Related
Hello A little while ago I managed to learn how to theme totally from scratch. I knew nothing of anything before I started, but now I know how to port themes As I still see myself as a n00b there may be some weird things I've done, but at least I manage to create the themes This might not be the best way to theme, or the easiest, but it works
Overview PNGS
1) Getting the files
2) Getting the images
3) Port
4) Package and Sign
The only programs I've used is 7zip and autosigner download them and install 7zip and extract autosigner to a nice location for example your desktop
Getting the files
The first you need to do (after getting the programs) is to find the file you will mod (edit). This will mostly be the framework-res.apk because this decides most of looks of phone (for example the statusbar). Download the .zip of the rom your going to theme. Open it up (shouldn't require any programs, if does, use 7zip: either drag it onto the 7zip icon or right click and choose open with). Open system -> app and copy the framework-res.apk (or any other apk you would like to theme, for example the settings). Now paste it into an appropriate folder.
Getting the images
Now you need to find the images you want to use in your new theme. Find either an update.zip with a theme or an .apk with a theme chooser theme (if there is both a version for Froyo and GB, use the Froyo version as this will make it easier ) Open it up with 7zip (drag it into the 7zip icon). Now you can do either of two options:
1) You can take the whole drawable-mdpi folder and copy it out. You should probably don’t do this with a Themechooser apk, as they usually don’t have all icons in this folder, as they often lend a few from HDPI.
2) Take only the images you want and copy them to a folder. For example if you want the signal icons, copy the “stat_sys_signal_0” (-4 of course) and copy them out. If you want the statusbar background, copy “statusbar_background”. This way you can mix several themes, take the best of several themes and make your personal theme
When you’re done getting your icons, close the window.
Porting
Now open the Rom’s default framework-res.apk with 7-zip. If you’re going to port a whole theme, delete the /res/drawable-mdpi folder and copy in your own. If you’re going to port just a few icons, open the /res/drawable-mdpi folder and paste your icons. You might want to check if the icons have the same names in the different framework. For example the headset icons can be both “stat_sys_headset” and “stat_notify_headset”. Also if you port from a theme chooser theme, you will have to rename every single .png you port. This is really boring, but necessary. You need to remove the “framework_res” and the “android_systemui” from the beginning of all the names. So “framework_res_activity_title_bar.9.png” needs to be changed to “activity_title_bar.9.png”. Because this is so boring you better keep your renamed icons, so it’s easier to port it to another rom
This is kind of off-topic: my carrier lends network of another carrier. Therefor my phone is allways roaming. This puts a stupid “r” with my signal icons. To avoid this I allways take normal signal icons, copy them, and rename one of the two .pngs from for example “stat_sys_signal_1” to “stat_sys_r_signal_1”. This way I get rid of this stupid “r” and it will always show the normal icons
Packing and signing
Now the porting is done and the next job is to push the new framework to your phone. If you are familiar with adb, you can push it to system/framework on your phone. You don’t need to anything more with the apk before pushing it. Else you can create a flashable .zip for your theme. I’ve attached a .zip with update script (I haven’t created it. Just stole it from one of Elelinux’ add-ons ). Download the zip. Create a folder named system and a folder named framework. First drag the new, modded framework_res.apk to the framework folder, then drag the framework folder into the system folder, before you drag the system folder into the attached zip. If you use Clockworkmod recovery, you can just flash the zip right as it is, but if you use Amon_Ra or want it to be compatible with every recovery because you want to post it, you need to do something.
Unpack autosigner and launch the exe file inside. Drag the .zip into the new window and press sign. It will now appear a new file in the same folder as the file you wanted to sign. Its name is the same, but with “_signed” at the end. You can rename the file as you wish both before and after the signing.
XML Editing:
I decided to add a little section about XML editing as well I really don't know all about this myself, but i can tell how to set it up and some examples to what you can do Even though this may seem really complicated, it's not written in a completely different language, like Java in the smali files, so often it is possible to use logic to get what you want
Tools needed: APK Multi-tool. as well as Java, if you don't have it installed.
Overview:
1) Setting up
2) Examples
3) Finish
Settings up
Download APK Multi-tool and extract/ unzip it to wherever you want ( I have it on my desktop). Now you can place the apk you want to modify (usually the framework_res.apk) in the "Place_apk_for_modding" folder. Then you open the script. If you don't get an error, proceed to b), if you do get an error proceed to a)
a)) If you do get an error where it says something like "java not found" you need to correct the Java path (or install Java if you haven't done that, which you should have) . I had to do this to get it working. First open my computer and click disk C, or D if you have installed Java there. Open programfiles (or whatever it's called in your language) and scroll to the Java folder. Now open the folder there jdk folder or whatever you have there and open the "bin" folder. Look at the top of your window, where it says where on you're computer you are (like Windows: C to the left, and then Programfiles and so on). Right click it and click copy address. Mine is "C:\Program Files\Java\jdk1.7.0_01\bin . Now you can close the window.
Open "My computer" again. On the top bar below the navigationbar, click Sytemoptions (sorry, not really sure what it's called in Englsih, as my computer is Norwegian, please correct me if I'm wrong). On the left click the "advanced" link and in the popup that appears click "environment variables". Scroll down to the "path" variable and edit it. Paste the address you copied and click OK. You should now be able to proceed to b). If you still get an error, please tell me and I'll try to help
b) type 25 and press enter to select current project. Here you will see all the apks in the "Place_apk_for_modding" folder. Select the appropriate number (in this case probably 1) and press enter to continue. Then you hit 9 and enter to decompile it. I cannot really explain it, but it enables you to edit the xmls in the apk. If you try to edit them by using 7Zip, the xmls will be just messed up. When it's done decompiling, you have gotten a new folder in the "projects" folder. In this case it is probably named framework_res.apk. Minimize the script (DON'T CLOSE IT) and you're ready to edit the xmls
Examples on edits:
COMING SOON
Finish:
When you're done editing, open the script again (remember what I said about not closing it? ). Click 11, unless you are editing a non system apk. If you are editing the framework or settings or such, use 11. If you get an error now, you have probably done something wrong, try to see in the log what you have done wrong. Every time I've had an error, I've ended up in bootloop when I've flashed, so it is probably better to just start over. Another tip is to do one thing at the time. For example: you decompile, edit the notification color in pulldown, compile. Take the compiled apk, decompile edit another thing and so on, this makes it easier to not mess up and it also shows what you are doing wrong.
On the "Is this a system apk?" you should probably say y, as I said above. I also usually copy over the files I didn't edit, as this seems safer. Follow the instructions and you should be fine. When you're done and the script is done compiling, you will find a unsigned_**** (for example unsigned_framework-res.apk) in the "place_apk_for_modding" folder. This is your modified apk, and you can try to push it to ur device with an update.zip or adb, if you know how to use that
Well this was the end of my guide for now If there's anything which is unclear or you have other suggestions, feel free to post I've probably forgotten something
Finally after all my attemps to modify the android framework before i have do it correctly. I have changed a couple of things, the lock screen and battery icons so far. The framework I'm modifying is the one on Ele's Gingerbread and i wonder how to get the battery icon percentage 1 by 1 as i saw in some other themes. What i mean is that in the original framework there is only battery icons for 15, 20, 25 and so on, and if i push the 16, 17, 18, 19 they won't work. Is Theme Chooser the one on charge of this? how can i get that? some help please?
(Also tryed to theme a sense rom, but everything was messed up, i guess because of sense or maybe I did something wrong)
So thanks for your guide, really helpfull
Yeah, I've never tried to theme Sense so I don't know. It is probably possible to make icons for every %, but then you'll have to decompile using APK tool, and it is harder. I don't know how. If you want to try, you could try asking a question here
thanks
so funny=))
i'm tried
Great guide helped me a lo thx.
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
mDroidd said:
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
Click to expand...
Click to collapse
Hmm, ICS themes can be made really awesome, if you do some more advanced stuff. For example you want to remap the pulldownbar a bit, and change som text colors. But to do this you need to use a tool like APK multi-tool, and it is a bit more advanced. If you want to, I can create a new section where I show how to this
Thank you.
GUIDE UPDATED! Added a section about XML editing really quick, probably forgotten something and such, so just ask if there is something you don't understand This is for those who are getting used to the PNG editing and want to proceed to something slightly more advanced, for example you 7Tosta
Cheers
BTW: I should've reserved the 2nd post, this is getting messy
Edit: If there's anything specific you want me to add to the EXAMPLES section, tell me
Good Afternoon XDA Family and Friends - Modders and such...
Today, I would like to bring you something of a how to that would possibly get Sticky-d as I think that this app is growing in popularity and customization requests. Due to some demand on our Youtube Partner Channel, we are working on a Video on how to modify and deploy these new themes for this app to your non-rooted phone / device.
Many of you may or may not know about this software: MiLocker - App to allow you to get the MIUI type Themes that are seen on their ROMS on Non-Rooted and Rooted Phones. This app will let you customize your Lockscreen and have that MIUI type theme.
Please note that this tutorial - How To involves basic knowledge of XML and modifications of types of variables that are used in the theme.
I have enclosed 2 Samples that you can use as a basis, I have converted them from Japanese / Chinese language so that you can understand them better.
Some of the basic steps are outlined below.
1. First get the theme downloaded that you wish to modify using the Machine of your choosing: Mac or PC.
a. Upon getting the theme from the provider of the application to the device, you will then need to get it on the PC.
b. Connect your device to your machine as normal, and use “Disk Drive” to access the data storage on the device. (this could be internal or SD depending on device)
c. Once you have accessed the data on the device, look for the folder “MIUI” and under will be the “Theme” folder. In this folder will be all your downloaded themes. (MTZ Format)
2. After you have the MTZ files copied to your machine, (always best to create copies as this ensures you don’t break the mtz file you have already as source)
3. You can then (if you don’t already get 7zip for PC or The Unarchiver for Mac both free utilities) to then open the MTZ file and extract it’s contents to your desktop or destination of choosing.
4. Upon extraction you will usually find a few folders and files in there. Most notably: “Preview Folder”, “Wallpaper Folder” “Fonts folder”, lockscreen file, icons file, description.xml.
5. These are usually the basics for the theming. Most of them are self-explanatory.
a. For modifying or making your own wallpaper or preview, this is quite simple, just modify the wallpaper you find in the folders and create new ones using Paint, Photoshop or GIMP (utility of your choice)
b. Create a new wallpaper of the same dimensions used and name it the same as the original file found in the folder. Just delete the original when done. (Best cases for this I have tested are : 480x954, 480x860 and a few others) at about 72DPI or better.
6. Once you have created the wallpaper and it’s preview that you wish to show in the chooser, place those files in the respective folders.
7. To first start the modification and in this the main reason for the XML is to change the Chinese Characters displayed to English or US. Most people will just change the Wallpaper and repack, and that is ok. This is for those who seek to have English displayed.
8. In the first XML : description.xml - This file allows you to customize fields of Title of the Theme , Author, Version and such. These are the only three I recommend changing. ONLY CHANGE DATA between the <Title> THIS IS TO BE CHANGED</Title>
a. (changing only the data between the start and stop tags which are the <Field></Field> items)
9. Please note that changing the information in-between the start tags and end tags for XML is how the data is read by the application. So those values are how this is displayed.
10. The second XML is called the manifest.xml file, and it’s in the lockscreen file.
11. To modify this file, you need to rename the lockscreen file to lockscreen.zip and then extract the contents and open the folder under and look for the manifest.xml file.
a. Renaming method for Windows: Start > Run > cmd | in the command prompt, CD to the correct location of the lockscreen file and then issue the command with out quotes: “rename lockscreen lockscreen.zip”
b. Renaming method for MAC: Terminal – cd to the location of the lockscreen file issue the following command : “sudo mv lockscreen lockscreen.zip” It will ask for password, input your user password.
12. If the renaming happened correctly you should now see the file as a zip file.
13. You can now extract this file using 7zip or Archive utility or other to extract to a destination of your choice.
14. After you have done this, find the “manifest.xml” file in the folder from extraction.
15. You can edit this file in any great number of free XML utilities out there: PC : Notepad++ and MAC : TextWrangler. Editing this will allow you to find all the characters, which are not English and then copy them, open a browser and go to translate.google.com and translate them and insert the correct words as necessary.
16. When you have completed editing all the Japanese and Chinese out of the document, save it and then back out of the directory that you extracted and then ZIP the lockscreen file back up using Winzip, 7zip or Arhcive Utility in Mac or whatnot.
17. Once you have compressed and ZIP’d the lockscreen folder back up, you will see a new lockscreen.zip file with your modified files in it.
18. Now it’s time for you to Reverse Rename the file and removes the .zip file making it a file plain object. (Hint – Do the reverse of step 11 above, going from lockscreen.zip to lockscreen)
19. Once you have completed this phase, you will need to compress it to a MTZ to put back on the phone. 7Zip has this built in and you can just compress using 7zip and select MTZ as the file format. As for MAC I recommend using this Automator, which will do it for you. (MAC USERS WILL NEED TO TO one extra step)
a. Mac users will need to after creating the MTZ file, make the file Unix Executable – Terminal (open this app) and then go to the MTZ file and issue the following command: “sudo chmod a+x yourfile.mtz” , it will ask for password, do as above. Then the system will make it a UNIZ Executable just like the other MTZ’ files
20. Now transfer the MTZ file you have created back to your device and launch the app and choose your new theme.
MAC TOOLS for MTZ:
PLEASE EMAIL ME for TOOLS (don't have enough posts)
IF you have any questions, please feel free to email us at [email protected]
Or check our Youtube Channel as we will be posting a tutorial on this soon!
Please EMAIL for YouTube Channel (not enough posts)
Thanks.
FluxboxMedia and GeekTekneek
*****UPDATE******
Upon more and more research , our team has discovered that simple repackaging of the theme once modified does not always work as listed above. If you are using the PC and wish to use the 7zip method, the tip we found on DroidForums was to Open the MTZ file in 7zip and leave it open. Then 'Drag' From the file manager of 7zip the contents to your machine which will allow you to modify a copy of the theme. Make your changes , wallpapers and such, and then copy 'drag' them back into the open Archive of MTZ theme you did from above in this update. Once done, close the archive by closing 7zip. If you make any changes to the 'advance' folder under the lockscreen file (note you can just 2x click on the lockscreen file while in the 7zip archive and it will open), you will need to copy the changed files into this folder, and then click the "up one folder icon " it will annouce "There are changes to the original packing files, would you like to update the file and repack?" CHOOSE YES. Then you can close the entire 7zip app and deploy to your device. If you have questions, please feel free to email us. Video YTube tutorials will be online shortly.
Great idea. I really like this application. I also see it becoming a hit.
Yup, this app is awesome! I didn't know about 7zip's ability to compress to mtz, thanks for sharing that. What we really need is a tutorial on converting themes to mdpi
Great tut tho. Excellent and clear.
Tapatalkin it from my IHO CM7.1'd, ICS Themed Optimus V
Thanks for the support so far. We at our studio have done lots over the last 2 years with customizations and installations and testing, and just feel that now is the perfect time on a brand new app.
We are going to be doing a tutorial Video which will show the basics on it.
Some of them however are not happy with configuring the XML in the manifest file. (meaning as soon as you modify any part of it, the repack and then put on device) The theme comes out as just the default.
We are still working on some of the buggy themes.
Thanks
Examples of our work thus far
Examples of the Customization Completed
Converted from Japanese/Chinese to English Format
Attached as Inline image posting is restricted to people more posts than 8
???
Nice, I'm also working a TUT, nice locker/screenlocker to have! Easy to theme!
Pitty it doesn't run the ICS'ed ones
Hello
if i want to modify a theme for my SGA what resolution and DPI should i choose?thnks
kcls said:
Yup, this app is awesome! I didn't know about 7zip's ability to compress to mtz, thanks for sharing that. What we really need is a tutorial on converting themes to mdpi
Great tut tho. Excellent and clear.
Tapatalkin it from my IHO CM7.1'd, ICS Themed Optimus V
Click to expand...
Click to collapse
From HDPI to M/LDPI just resize images, and change dimension values in manifest.xml (be aware of how MIUI roms/apps sees y value), although you don't need to do that, if you're using newest MiLocker version (1.4.2 I guess?). But as for M/LDPI Miui rom port you have to do it.
Sent from my GT-I5800 using Tapatalk 2 Beta-5
Nice Info for people who are Novice about MIUI Themes and Lockscreens.
Thanks for the great tut :good: You deserve more thanks.
{
"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?
SplashInjectorsplash injector is a tool created by me based on the work done by @makers_mark . it is a basic command line interface but it gets the job done. it supports all oneplus devices so far except the oneplus x :crying: i can add support once someone gets me the logo.bin file from that device. The tool is pretty simple its based on the work here https://forum.xda-developers.com/oneplus-3/themes/mod-splash-screen-image-injector-t3441999 this is where i got this all from. i know it can be kinda hacky and only supports unix systems(and windows kinda) i think you can get it working by using git bash on windows. In its current state it can decode and encode all oneplus logo.bins (Including the OnePlus 5!) it can also pack flashable zips for you automatically. all you need to do is run the decode option edit the file you want in the output folder. Then you can run the encode command and it will pack it all back up. Then package it with the package command. Once again major credit to @makers_mark he did all the leg work. i just made it a little more friendly. lmk if there is any issues you find
Telegram: @ethanbanker if you need anything contact me here.
Now lets get to it
follow the instructions here located here
https://github.com/ethanbanker2428/SplashInjector
Updates:
1.52: Ok guys im not a windows expert...i barely use it so the tool does support windows now but it cant package files. it does give you all the tools and files you need to package one tho. you can use a tool such as this https://forum.xda-developers.com/android/software-hacking/tool-6-feb-android-flashable-zip-t3551772 this update also includes a completely revamped system. lmk about any bugs you find. for windows you need to install and use GIT bash. i also added a update function to easily update the tool. its simple but it works. heres my git again for you guys https://github.com/ethanbanker2428/SplashInjector
WARNING I AM NOT RESPONSIBLE FOR ANYTHING YOU DO. DO THIS AT YOUR OWN RISK
Can you actually download from github? Or just look at the code to build yourself? I couldn't even find where to do a pull request. Or did somebody just create this thread just to let people know that they made the tool? Probably my error. Pm if you can help....
Introduction
This is going to be a long post! A few weeks ago I started thinking about making my own themes for my LG G5. I had installed some custom roms previously and used substratum a bit but I have always ended up going back to xpirt's Fulmics rom, which doesn't allow this. I started to think how I could do this and have today got to the first stage of being able to change the colours of my phone to precisely what I want, not only for the settings but in some of the stock apps. I thought I would share this with the community and provide some step by step instructions so you can try it yourself. This should work on LG G6, V10, V20 & V30 if you use an app made for these phones but I have no way of testing this so don't hold me to it. This has taken me about 5 full days to work this out and there is still more that I need to do.
I am not in anyway a developer or coder and have very little knowledge of Java so if anything goes wrong here it is likely that I will not be able to help you. I absolutely am a noob at this and do this only for a hobby, using just my common sense and our friend Google to overcome the problems I have come across. Saying that, I will try to offer assistance if I can.
I managed to make my theme from reverse engineering a free LG theme app that was readily available. If you do this method though please consider getting approval from the app developer first. There is a template on here posted by Raafat here. While this was helpful it was only basic and I could not work out exactly what to do. Reverse engineering an app was much easier. Here is how I did it with step by step instructions:
******DISCLAIMER******
I am in not responsible for what you do to your phone. If you decide to try and theme your phone make a backup first or be prepared to do a full reset if anything goes wrong. You do this at your own risk.
1. Programmes
The programmes/software needed for theming are:
• Notepad++
• Apktool
• Android Studio (I used version 2.3 as I was getting an error on re-signing with 3.0)
2. Installing Frameworks Using Apktool:
• Firstly, delete the files in your local temp directory. To do this open ‘Search’ and type in %temp% and delete all files in this folder. You may not be able to delete some of the files. This does not matter
• Next, extract the framework files from your rom/custom rom. For Fulmics 5.5 this was:
Frameworks-res.apk
lge-res.apk
• At a guess I would say that any rom will have these files named exactly as they are above, but I am not sure if these have been altered by xpirt for his rom so you may not be able to use them across other roms.
• Open a command prompt and navigate to the folder where the framework files are kept. This is easiest in a folder called C:/apktool so create a folder in your C:/ drive and place them there. You can of course name the folder or locate it where you want though.
• Use apktool to install the frameworks using this command in the command prompt in C:\apktool
apktool if framework-res.apk
apktool if lge-res.apk
• Once this is done you should find the following files Installed here: C:\Users\[your username]\AppData\Local\apktool\Framework
1.apk
2.apk
• If, like me, you get an error with apktool that says it cannot write to C:\Users\[your username]\AppData\Local\apktool\Framework and instead has placed them in the temp folder then go into the Local folder using the pathway above and create a folder called 'apktool' and then a subfolder called 'framework'. Try the commands again and it should then work.
• You should also find the following files in the C:\apktool folder (if that is the folder you are using). If they are not here you may have to copy and paste them from the apktool github download.
apktool.jar
apktool.bat
• If you have found these files then you are set to go with decoding the theme/app you have chosen as a basis to amend.
3. Decoding APKs Using Apktool
• Download the apk/app you want to use. I used Backup and Restore app from Play to get the app I wanted to use onto my PC. Once you have this on your PC place the main APK/app in the same folder as the apktool.bat and the apktool.jar (for me this this was C:\apktool)
• Point the command prompt at this place and type the following:
apktool d [app name]
• A folder with the name of the app you just decoded will appear in the directory that you use (in this case C:\apktool)
• In this folder you should find another folder called assets. There may be more sub APKs here in subfolders. This subfolder will likely be assets>overlays
• All the sub APKs in here will have to be decoded otherwise you will have different signing keys and the app, once compiled again, will not work. Decode all the sub APKs in this same folder. You will have to copy the following files to the folder you are decoding the sub APKs in. These are:
apktool.jar
apktool.bat
• Decode every sub apk using the command apktool d [sub_apkname]
• You should now have the same number of folders in the drive as the number of sub APKs, if you decoded them all.
4. Changing the Colours and other Themes from the Decoded APKs Using Notepad++
• Many theme APKs will have internal APKs, such as common, settings, phone, systemui, calendar etc, etc. This is what I have worked out so far:
Common: Changes the switches, brightness bar and the text headings in settings, changes swipe left panels in apps such as gallery, changes background, message icon & phone icon colour in contact/phone app, statusbar background, separating lines in settings (some themes do not have these), background bar of setting title (i.e. wireless network, device etc), settings text colour, secondary text (i.e. the text you see under Wifi and Bluetooth which shows you what you are connected to), the headings in apps such as clock where it shows 'Alarm' 'World Clock' 'Timer' etc
System UI: Changes the quick settings tiles & text and the non-heading text in settings
• To change the colour of these you have to amend the colors.xml located in one of the folders in the assets>overlays and then the folder of the overlay you want to change. I used Notepad++ to do this. Navigate to 'res' folder and then usually something like 'values-xxxhdpi-v4'. There is sometimes more than one color.xml file so you may need to look in more than one folder and amend all the color.xml files. The colours are at the end of the lines of text and will be standard Android colour coding, such as ffffffff (white) or 00000000 (black) or any other colours.
5. Building APKs & Signing with Android Studio
• If you are building the sub APKs from an app (these are the ones inside an APK such as common, systemui, phone etc) I found it best to use a different folder. For this I used C:\apktool builder
• Copy and paste the folder from the decoded APK (e.g. the [appname].LGE.common folder) that is in the asset>overlays folder to the apktool builder folder above
• Once you have made the colour amendments it is time to build the amended themes. To do this you will need Android Studio
• Open the splash screen of Android Studio and instead of the 'Open' command use the 'Import Project' command and navigate to the folder you want to import
• When opening Android Studio you have to configure the frameworks otherwise you will not be able to sign the app. This warning should come up automatically. THIS MUST BE DONE FOR IT TO WORK
• Navigate and find your APK in apktool builder and import it. If you do this more than once you will be prompted to overwrite the settings a few times.
• Go to ‘Build’ along the top and choose ‘Generate Signed APK’. If this is the first time it will ask for the Key Store Path. You will need to choose ‘Create New’. Select a place to store this key (I chose C:\apktool Builder) and input the passwords and the other data in the boxes. You must put a two-digit country code in the last box, for example US, UK etc). For ease I kept most of these very simple. For example, password was 'asdfgh'
• Once this has been completed and if there are no errors (warnings are ok) then it will generate a signed sub APK and save it to the location you are in (in this case C:\apktool builder). Copy and paste that sub APK over the one in the C:\apktool folder where the original sub APK was kept.
• Once you have done this then you need to sign the main app APK. Do the same as above and build in Android Studio. If there are no errors it will save it to your directory (in my case C:\apktool\[app name].
• Copy and paste this APK into your phone, apply the theme and it should work.
Everytime you amend a sub apk you will have to re-sign it through Android studio and then re-sign the main app apk. Once you get the hang of it though it is fairly straight forward.
6. Other Things
Nothing else in the app will change at this point. The name, wallpaper jpegs, screenshots and icons will all be the same. I am working on this at the moment but they don't actually need changing that much. The difficult thing for me is how to change the 9.png icon files and still get them to work. Once I have worked this out I will be able to finish it off.
7. Screenshots
Attached are some screenshots of how my phone now looks. I have made a few different apk's with different colours so I can now change this daily if I want a change (see post 2 for updated screenshots).
8. Thanks/Credits
@xpirt - Made it easy to get the framework files I needed for apktool and for a great custom rom!
@Raafat - for giving me the idea and the initial information
@iBotPeaches - for developing apktool.
.
Building Your Own LG Theme
I've been able to fine tune the themes over the past few weeks and have been able to colour the settings icons on the main settings page as well as putting a background behind it. I've also been able to theme the switches initially getting over a problem of the 'off' switch not showing. Here is some updated screenshots of a green/grey&blue theme.
I've also attached the updated blue & red theme from the initial post. I've not fully completed this yet though as I started to concentrate on the green/grey&blue theme as I preferred that.
Could someone make a stock theme just dark? I found one on play store but is not the best thing (it changes system sounds and other things that i don't like) I'd like a full stock theme but dark. Thanks in advance
Help
Can you help me? I tried changing package names in .json file and added new icons in the theme. I don't understand why it is failing on apply. It was running properly with only color change before doing this.
[email protected] said:
Can you help me? I tried changing package names in .json file and added new icons in the theme. I don't understand why it is failing on apply. It was running properly with only color change before doing this.
Click to expand...
Click to collapse
Here is the apk.
I probably won't be able to get round to this until the weekend due to work commitments but will have a look and let you know.
strikerman10 said:
I probably won't be able to get round to this until the weekend due to work commitments but will have a look and let you know.
Click to expand...
Click to collapse
Take your time, and thanks. ?
[email protected] said:
Take your time, and thanks. ?
Click to expand...
Click to collapse
In case you haven't checked the apk I provided earlier, I have found and fixed some package name errors but the result is still same. It get stuck at 90% and then fails. I have changed icons too, is there anything needed to do in public.xml ? New apk is attached below.
strikerman10 said:
I probably won't be able to get round to this until the weekend due to work commitments but will have a look and let you know.
Click to expand...
Click to collapse
Did you took a look at it?