[MULTITOOL]ROM Tools PC v3 [Updated 8 May 2013] - Galaxy Ace S5830i General

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

Related

[Tutorial] White Notification Bar [Updated 5/13/10]

Here is a pack of 3 files that, if pushed to your rom will give you the white task bar. This will change status icons and is just a work in progress "fill in the the gap" type of thing until I can write a proper update script for an update.zip. Currently this has only been tested to work 100% with:
Evil Eris 2.0.1 (It will, however, break the Sense launcher. So if you want the white bar, use another launcher)
Ic3Rom 2.0
It DOES NOT work on
TaintedVanilla 1.3.1
Or any rom that has it's System/Framework apk's and jar's odexed.
Please let me know if it works with any others.
Also, please not that this will change the status bar highlights to green.
http://www.multiupload.com/4YV5D61YRX
Click to expand...
Click to collapse
Just push the three files and reboot. Reboot will take about 5 min, so don't freak out if it takes forever. If you get into a boot loop, however, it didn't work.
DISCLAIMER: I'm not responsible if this bricks your phone. Please don't yell at me if it does. Also, be smart: do a nandroid backup before you try this.
Click to expand...
Click to collapse
This tutorial is for a white menu bar. It's still kind of a work in progress, but it works for the most part. When done, it looks like this:
{
"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"
}
Ok. Here is the extremely long way to do this, but it should work with any rom and will give you a full (date/time/notifications) white/vanilla task bar.
(Seriously, this may take 30 minutes or more if you're unfamiliar with some of these commands)
DOWNLOAD: http://www.multiupload.com/VZWCE0A0FN
Unzip the files and there should be 4 folders and 1 file: framework-res, com.htc.resources, PCSCII, Tools, and StatusBarIcon.smali.
Also included are the tools needed to crack open the .dex file from services.jar, smali.jar and backsmali.jar
First you'll need to pull the proper files to modify from whatever rom you're using. Open up your command line program of choice and do this:
cd [your tools folder in the android sdk]
adb remount
adb pull /system/framework/framework-res.apk framework-res.apk
adb pull /system/framework/com.htc.resources.apk com.htc.resources.apk
adb pull /system/app/PCSCII.apk PCSCII.apk
adb pull /system/framework/services.jar services.jar
Click to expand...
Click to collapse
Copy all these files into a new folder.
Things can get messy so name them whatever you'd like to keep things organized.
After all this you can start copying files. First we need to open up services.jar. Easiest way is to change the .jar ending to .zip and expand it with whatever program you'd like. Copy the classes.dex into a new folder. Keep the original folder of the expanded services.jar, it makes things easier in a few minutes.
Here is where things get a little complicated. You'll need to open up the classes.dex file with backsmali.jar. First, make sure Backsmali.jar is in the same folder as classes.dex. Next enter this command into the terminal:
cd [the folder with backsmali and classes.dex file]
java -Xmx512M -jar baksmali.jar -o classes/ classes.dex
Click to expand...
Click to collapse
This will expand classes.dex into a folder. Click through this folder until you find a folder called Status. Now drag the StatusBarIcon.smali into the Status folder. Allow the replacement.
Now we need to close the classes.dex file back up. Make sure smali.jar is in the same folder as the classes folder (make a new folder just to avoid a conflict with your original files) and use these commands:
cd [the folder with smali and the classes folder]
java -Xmx512M -jar smali.jar -o classes.dex classes/
Click to expand...
Click to collapse
You should have a fresh classes.dex file now. Now put this new classes.dex file into the original services.jar folder (that you expanded from a zip) and rezip that file. Then change the name from a .zip to .jar.
Step 1: done.
The next few parts are a lot easier, so stick with me here.
Now we need to open up the Framework-res.apk and replace all of the image files needed for a sexy white menu bar. All of the needed files are in the folder named (you guessed it) framework-res. First, you'll need to expand this .apk, do so by changing it into a .zip. After you expand it, copy the files from my folder to the matching folders. Don't drag and drop the folders, it won't work. Select all inside them and paste/drag/whatever over to the one from your phone. There should be a folder of image files, and a folder with two xml files. Once done return to the top folder of the framework-res.zip you expanded and re-zip the contents. Make sure you select the contents and zip them.
**DO NOT ZIP THE FRAMEWORK-RES FOLDER ITSELF, SELECT THE FILES INSIDE THE FOLDER AND RE-ZIP THEM**
You should now how have a new archive. Rename it to framework-res.apk and set it aside for later use.
The last parts are essentially the same things, but with the other two folders I've included: PCSCII and com.htc.resources. Copy the files, and re-zip them into .apk files.
Ok. Almost done.
Now it's time to send the files back to your phone. Place the new versions of these files into your Tools folder in the Android SDK.
Now let's push them back to your phone:
cd [your tools folder... again]
adb remount
adb push PCSCII.apk /system/app/PCSCII.apk
adb push framework-res.apk /system/framework/framework-res.apk
adb push com.htc.resources.apk /system/framework/com.htc.resources.apk
adb push services.jar /system/framework/services.jar
adb reboot
Click to expand...
Click to collapse
Reboot can take a while, so be patient. I'm thinking rebooting into recovery and clearing your dalvik cache may help, but haven't tried it.
If everything worked correctly, you should have a brand spankin' new notification bar.
Just a note, I have tested this on Evil Eris 2.0 and IceRom 2.0 and it works perfectly. However, it should work with whatever rom you're using. Also, this will change some of your icons to Vanilla ones. If you don't want them changed, don't copy the files that will change them. Those should be apparent when copying the image files from the folders I've included.
If you have any questions, feel free to ask.
Also, if anyone knows how to wrap this all up into a nice little update.zip, please do it or let me know how to do it. It would be greatly appreciated.
Hello, I appreciate the tutorial! I'm attempting to get this set up for my Tainted Vanilla rom and ran into a snag at the beginning. Our services.jar file contains no classes.dex file. All it contains is MANIFEST.MF. Any ideas about how I should proceed?
Ok, I think I've figured it out.
The .odex file is basically the .dex file in an uncompressed format. To break it open you do the same thing you would do with a dex file. Plug it into baksmali and it should yield you a Classes folder. You do have to reassemble it though, which requires you to first deodex it... and it's kind of a pain in the ass. I've figured out the first portion of it, but deodexing the file is decently complicated for a n00b like me. I'll continue to work on it and will hopefully have a solution tomorrow.
Here's where I'm stuck if anyone wants to figure it out:
$ java -Xmx512m -jar baksmali.jar -x services.odex
Error while disassembling method Lcom/android/server/ConnectivityService;-><init>(Landroid/content/ContextV. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: class Lcom/htc/connectivity/DummyStateTracker; cannot be resolved.
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.unresolvedValidationException(ClassPath.java:535)
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.getClassDepth(ClassPath.java:543)
at org.jf.dexlib.Code.Analysis.ClassPath.getCommonSuperclass(ClassPath.java:383)
at org.jf.dexlib.Code.Analysis.RegisterType.merge(RegisterType.java:274)
at org.jf.dexlib.Code.Analysis.AnalyzedInstruction.mergeRegister(AnalyzedInstruction.java:199)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.propagateRegisterToSuccessors(MethodAnalyzer.java:479)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.setPostRegisterTypeAndPropagateChanges(MethodAnalyzer.java:459)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeDirectCommon(MethodAnalyzer.java:2968)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeDirectRange(MethodAnalyzer.java:2927)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:856)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:202)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:290)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:130)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:322)
at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefinition.java:291)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:135)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:187)
at org.jf.baksmali.main.main(main.java:277)
opcode: invoke-direct/range
CodeAddress: 811
Method: Lcom/android/server/ConnectivityService;-><init>(Landroid/content/ContextV
Click to expand...
Click to collapse
I know that in order for successfully deodex, all the file paths have to be correct. I, however, do not have them yet.
More info here for anyone interested: http://code.google.com/p/smali/wiki/DeodexInstructions
Good work, this should be an update.zip once we have confirmed it working successfully.....
stopxstart said:
Ok, I think I've figured it out.
The .odex file is basically the .dex file in an uncompressed format. To break it open you do the same thing you would do with a dex file. Plug it into baksmali and it should yield you a Classes folder. You do have to reassemble it though, which requires you to first deodex it... and it's kind of a pain in the ass. I've figured out the first portion of it, but deodexing the file is decently complicated for a n00b like me. I'll continue to work on it and will hopefully have a solution tomorrow.
Here's where I'm stuck if anyone wants to figure it out:
I know that in order for successfully deodex, all the file paths have to be correct. I, however, do not have them yet.
More info here for anyone interested: http://code.google.com/p/smali/wiki/DeodexInstructions
Click to expand...
Click to collapse
I get the same error. I posted a issue about this on the project page.
EDIT: Figured it out. Add -c :com.htc.resources.jar
You will need to deodex it first thou.
Can we see screenshots of this notification bar
If you look at the IC3 rom screenshots, this should be the same.
Also, stopxstart, thanks for the hard work! Really appreciate it. Should the phone be connected this whole time? Thanks!
gritts said:
If you look at the ICQ rom screenshots, this should be the same.
Also, stopxstart, thanks for the hard work! Really appreciate it. Should the phone be connected this whole time? Thanks!
Click to expand...
Click to collapse
ICQ ROM do you mean IC3 ROM?
Yes, thanks, I corrected it.
gritts said:
If you look at the IC3 rom screenshots, this should be the same.
Also, stopxstart, thanks for the hard work! Really appreciate it. Should the phone be connected this whole time? Thanks!
Click to expand...
Click to collapse
It's easy just to keep it connected but it's not required. Just make sure you adb remount before pushing and pulling the files.
Going to try out a workaround for all of this, I'll report back sometime tonight.
Also, if this works it will allow me to write a sufficient update.script for a standalone zip.
For those following the progress of this, I am currently testing some standalone files to push that should make this whole process easier.
So far works on: Evil Eris 2.0 and Ic3Rom 2.0 (well, fixes it).
Testing others now.
I'm looking forward to your testing on Tainted Vanilla
hoban_eris said:
Hello, I appreciate the tutorial! I'm attempting to get this set up for my Tainted Vanilla rom and ran into a snag at the beginning. Our services.jar file contains no classes.dex file. All it contains is MANIFEST.MF. Any ideas about how I should proceed?
Click to expand...
Click to collapse
I second that.
ok so these are the things i can't get
the verizon wireless text is white
and the clear button is black with white text
how can i fix these
Re: [Tutorial] White Notification Bar
Did you follow the tut
-------------------------------------
Sent via the XDA Tapatalk App
gritts said:
Did you follow the tut
-------------------------------------
Sent via the XDA Tapatalk App
Click to expand...
Click to collapse
ok ive tried several times and failed every time could someone put up the final zip I could flash
iloveandroid said:
ok so these are the things i can't get
the verizon wireless text is white
and the clear button is black with white text
how can i fix these
Click to expand...
Click to collapse
Let me double check the XML files in the Framework-res.apk to make sure I put the right ones in. I literally have 60 folders filed with the same file from different testing so I could have easily posted the wrong one.
Also, there isn't a zip to flash because I haven't written the update script for it. If you would like to, please do.
stopxstart said:
Let me double check the XML files in the Framework-res.apk to make sure I put the right ones in. I literally have 60 folders filed with the same file from different testing so I could have easily posted the wrong one.
Also, there isn't a zip to flash because I haven't written the update script for it. If you would like to, please do.
Click to expand...
Click to collapse
I would make a flashable but i dont know how
Ok, I fixed the button problem.
You're using Ic3Rom right? Pretty sure the files I have will work with it straight up but let me test it.
Also, I added screenshots to first page.

[TOOL] Tickle My Android - Decompile & Recompile With Ease

{
"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?

[Guide/Reference] The Basic APK & Theming Thread... {15/11/15}

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.

[GUIDE][UPDATED 5/5/2013]Ultimate Guide to Android Misc. Editing

Ultimate Editing and Theming Guide​
Preliminary Requirements:-
PC with Windows(Please avoid Windows Vista)
Java JRE or JDK
APK Multitool
framework-res.apk, SystemUI.apk, twframework-res.apk, com.htc.resources for installing
7-zip
Notepad++
Android Device for testing
Photoshop or equivalent image editing software
android-sdk(for 9 png editing)
Lots and lots of patience and mind
What this guide includes:-
1. Easiest Decompiling and Recompiling Guide *Must Read before continuing*
2. Explanation of 9 pngs and how to edit or make them
3. How to Batch edit pngs (Not 9 pngs) (Changing color, etc)
4. APK png resources(General Location of General pngs)
First Step:
Decompiling: [MUST READ]
We are assuming that you have installed JAVA, Android SDK and apk-multitool without any problems
1. Copy your mobile's framework-res.apk, SystemUI.apk and twframework-res.apk in others folder in directory where you have extracted apk-multiool
2. Open Setup.bat. Choose 2 :- Installing Framework-res
{
"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"
}
Setup.bat​
Choose 1 (framework-res.apk)
Choose 2 (twframework-res.apk) [similarly install OEM specific files such as com.htc.resources , etc]
Choose 4 (SystemUI.apk)
Window will close each time you choose an option
You will have to restart Setup.bat each time
3. Now place the apk you want to edit in place-apk-here-for-modding
4. Now open script.bat. (If you see any error, either you haven't installed JAVA and SDK[adb] or they aren't implented, Please install them properly before continuing). Click any key to continue
APK-Multitool Window​
5. You will see the above window. Now, make sure you have installed all frameworks and Compression level is set to 9.
6. Now, we will choose our project. Click 24. A list of files present in place-apk-here-for-modding will be in front of you. Choose any file
7. Click on 9. Now decompiling will be in process.
8. After it is complete, go to projects folder, you will see a folder with the name of apk you decompiled
Decompiled apk example​
If it is decompiled properly, then there will be apktool.yml file in it
9. Do your modifications. Now, you can edit .9.png files (they will be discussed later) and xml files which were uneditable first
You will notice that there will be many new folders which weren't present in compiled form of apk. These all folders are generated from a file called resources.arsc present in compiled form which is absent in decompiled form
Such an example is of values folder which contains crucial xml files like styles.xml, strings.xml, ids.xml, etc
Always open xml files with Notepad++, it will mark commands and syntax making it look aligned and making it easy to understand
Example of decompiled xml file ​
Also, you can edit 9 patch files also which will be changed from now on
Example:-
We will discuss 9 png in detail later on
10. After you have done your modifications and you are ready to recompile the app, choose 11 (Compile System APK) if you are editing System App or 12(Compile Non-System App) if you are editing other than System App
11. a) If System App:-
After some time it will ask that if you want to copy additional files other than signatures to ensure less amount of errors, then choose y
After extracting some files, it will ask you to delete files from keep folder
Simply go to keep folder,
If you edited any pngs and there are many and you are lazy enough to delete one by one, then delete the whole folder in which you edited pngs
If you edited any xml file, then delete that xml file AND ALSO DELETE RESOURCES.ARSC
Why? Because we told that values and several other folders are generated from resources.arsc while decompiling
Now, if we don't delete resources.arsc, the modification we did in values folder will be reverted to original state
After doing this, go to script.bat again and press any key to continue
11. b)If its not system app:
Just recompile it and sign it man through the menu in apk multitool man.
It is easy as hell. Tutorial of non-system app has been ended here
12. Now, you will get another apk name System_ apkname.apk
Open both apks as archives by 7-zip
13. Last and most important step:-
Just drop the files you edited from new apk to old apk in correct folders. By now, you may have understood that resouces.arsc INCLUDES your edited xmls
14. Now, the final apk is not System_apkname.apk but apkname.apk (the original file you started with). Push it and enjoy
9 PNG Discussion
These are special types of pngs that can be stretched to fit the need of program or different scenarios or cases. It contains 1 pixel lines on each border of different lengths for different things
As told above, we can't edit 9 png in compiled form as it will lose these lines which define its properties. So, we first need to decompile apk in order to edit 9 pngs
So, after decompiling apk, open 9 png in Photoshop and select the part inside that 1 px border and edit anything you want (Hue, Saturation, Bevel, Emboss, ANYTHING)
Now save it (save it as a normal png and then rename it as .9.png because photoshop doesn't recognise 9 png extension and image will loose its RGB format)
Explanation of 9 png:-
You can read this for more information
If you have doubt that you have gone wrong somewhere or you have made a new png from scratch and want to test if it is correct or not:
(Check all 9 png files you edit as they can cause Force Closes or bootloops)
Go to folder where you extracted android-sdk and go to tools folder and open draw9patch.bat
A window like this will open up:-
Drop you 9 png here
A new window will open with you 9 png on it
Tick on show bad patches
If you see red rectangles, you have a bad 9 patch image. You will need to delete or add those lines in png to remove all red boxes. If you want to delete, press Shift and start moving cursor over lines you want to delete. You can choose method of hit and trial to remove all rectangles and move the lower scale to see how your image size is adjusted
Or you can do what I do:
1. Remove all lines
2. Add single dot on top centre and left centre border of image (That can be taken as stretchable area)
3. Add lines on right and bottom of image where you want to fill content. Now, click on Show Content
The purple area you see in image is the content area (Text will be filled there. Eg:- Popup Menu)
4. Now, you can adjust these lines acoording to your need that what you want for stretchable area and content area until an unless there comes an red triangle
5. When it is done. Save the file. DONE
Easy, isn't it?
That's what theming is
Batch Editing pngs in Photoshop
Well the scenario is you have 200 pngs and you want to change their color, hue, add effect to them, etc. Definitely not worth the time you will spent doing this one by one. So, here, I will cover how to batch apply same edits on to your infinite pngs. Here, I am taking example of changing color of battery png from green to purple, you can apply any attribute to your image in the same way. I repeat it is not for .9.png files. Read above guide for reference
Let's start
1. First copy all your pngs you need to edit in a separate folder. I have made a folder named Battery Base and pasted my all pngs of battery there.
Now create another folder where your edited pngs will be saved. For eg:- Battery Done. (Don't create it inside Battery Base folder)
2. Open Adobe Photoshop and Choose Window>Actions or Alt+F9
3. Click on the note like file (Create new Action)
Rename it to anything you want . I have chosen Battery_color
Then click on Record. Now, you will see that red circle is enabled and now everything you do on image will be recorded and will be applied on each image.
4. Now, do this very carefully, don't miss any step.
We will do every thing that we want Photoshop to do with each file we want to edit.
a) So, first we want Photoshop to open the image. So , click on Open and choose any png from Battery Base folder (Choose a file with more color so that you know what color exactly your file will be after editing. That is why I chose 90 percent battery here).
b) Now, after opening, we want to change Color of png from green to purple. So, choose Image>Adjustment>Hue and Saturation or Ctrl+U
A dialog box with 3 sliders will appear. Move upper slider to change color. You can move other slider to change saturation and brightness if you want. Now, if you got it right, click on OK.
Every step of yours is being recorded, so don't do unnecessary stuff you don't want to do on other images. Nonetheless, if you have done it, then Drop down the Battery Base Action in action palette and you will see your every action there, If you want to delete any action , you can delete it from there. You can also add any action before pre completed action by clicking above that action and performing it.
Now, you can do anything you want to be done on your rest of pngs.
c) Now, we want Photoshop to save this png to carry on working on others. So, Go to File>Save as... and save it as a png in Battery Done folder. Photoshop will ask you to choose, so choose smallest compression and no interlace.
d) Image is saved but we also want Photoshop to close the png so that it does not open 200 tabs for editing 200 pngs. So, click on close (Small cross on title bar of png). If, it asks that do you want to save changes to png . Say no, because if you say yes, the png in Battery Base will be changes and when batch processing is done, that png in Battery Done will be of different color that all others.And also, your all green pngs in Battery Base folder will turn purple too. But we want purple images in Battery Done and green in Battery Base.
5. Now, we hae done what we want, so, we will stop recording the Action. Click on that square in Actions Palette.
6. Fun Starts. Now we will do the batch processing.
Go to File>Automate>Batch
In the dialog box, Choose the action to be Battery_Color (or obiviously any action you created)
Source folder: Battery Base
Destination Folder: Battery Done
Tick both Override Action 'Open' commands and Override Action 'Save as' commands
Click on OK. Sit back for 3 to 5 minutes(204 pngs) and TADA
You can apply any action in same way. Such as bevel, glossy, pale, etc to innumerous amount of pngs
General APK png Resources
Here I will tell you where to find some pngs to theme your Phone
Note: Here I will tell location of pngs but that may differ based on modification done to your ROM by OEMs or devs. These pngs are found after decompiling or extracting the apk files. For more reference, read this.
In this part, there is only brief information, but for a very good guide, please go here. I haven't covered it all up as d3cka himself has done a marvellous job in making that guide. All the things present in that guide should solve all your queries.
General location of apks:
SystemUI.apk - /system/app/
framework-res.apk - /system/framework/
twframework-res.apk - /system/framework
framework.jar - /system/framework/
lidroid-res.apk - /system/framework/
Click to expand...
Click to collapse
Variable list:
I have referred to some locations as drawable-xdpi. X here stands for
X: m, l, h, xh
Meaning pngs can be in drawable-mdpi, drawable-hdpi, drawable-ldpi, drawable-xhdpi depending on resolution of your phone
In some places, I have just added * in order to fill spaces that are not common in each png
[?] means maybe only for GB or Samsung
Click to expand...
Click to collapse
Battery Icons -
(i)Ice Cream Sandwich/Jelly Bean: SystemUI.apk/res/drawable-xdpi/stat_sys_battery**.png
(ii)Gingerbread: framework-res.apk/res/drawable-xdpi/stat_sys_battery**.png
Status Bar icons - SystemUI.apk/res/drawable-xdpi/
Note, some, however very few status bar icons are also present in framework-res.apk
Platlogo - framework-res.apk/res/drawable-nodpi/platlogo*.jpg
(image that pops up when repeatedly clicked on Android Version)
In Gingerbrad, its a single file but in ICS and JB, they are many images.
Default Wallpaper - framework-res/res/drawable-xdpi/default_wallpaper.jpg
Default Lockscreen Wallpaper[?] - framework-res.apk/res/drawable-xdpi/zzzzzzzz_default_lockscreenw.jpg
Spinners[GB] - framework-res.apk/res/drawable-xdpi/spinner_****_**.png
(The loading circles)
Menu Icons - framework-res.apk/res/drawable-xdpi/ic_menu_**.png
These icons may also be present in twframework-res.apk for Samsung Touchwiz ROMs
Notification Toggles
(i)With lidroid 15 toggles : lidroid-res.apk/res/drawable-xdpi/
(ii)Without lidroid mod : SystemUI.apk/res/drawable-xdpi
These were some general pngs of system apps that may be used to theme the phone. You can find respective pngs to theme in their apks.
Will add more soon...
This is a work in progress.
Will add more things soon
Don't hesitate to ask any questions about anything
Credits:
@d3cka for teaching best about 9 pngs
@deathnotice01 for helping me
Miscellaneous Google and xda posts
Reserved
great
Great Guide Areeb...I THINK THIS SHOULD BE DISPLAYED AGAIN IN PORTAL
reserved
puneeth.007 said:
Great Guide Areeb...I THINK THIS SHOULD BE DISPLAYED AGAIN IN PORTAL
reserved
Click to expand...
Click to collapse
Not Now
It's incomplete
It'll ruin this guide then!
RE
+1 Thanks for this great guide
highly detailed guide, with of course nice pictorial representation!
:good:
This guide is awesome !
Unfortunately I don't know how to use photoshop correctly I still have not learned it , first by myself , and 2nd on school. I am just 13 2/3 YO . Anyway , i didn't have such knowledge about .9 png-s. Thanks
I had always got errors while editing compiled 9.png files. Hope this guide, help me to figure it out that...
Sent from my GT-S5830i using xda app-developers app
Added Batch editing in Photoshop
Sniper Killer said:
This guide is awesome !
Unfortunately I don't know how to use photoshop correctly I still have not learned it , first by myself , and 2nd on school. I am just 13 2/3 YO . Anyway , i didn't have such knowledge about .9 png-s. Thanks
Click to expand...
Click to collapse
I have covered Photshop Now. Hope it helps you
And added path thickness changing guide too
iamareebjamal said:
1. Easiest Decompiling and Recompiling Guide
Click to expand...
Click to collapse
It's not bad. :silly: Bookmarked ready to be added to mine, but could you please include tw somewhere in the thread title as it will be easier for People browsing mine looking for help for tw files.

[GUIDE][THEME][BASICS] Getting started on theming for CM12/12.1/13 Theme Engine!

Let's get ready and theme CM12/12.1/13 Theme Engine themes!​
Hey all, it's me again. I might as well be posting my entire workstation/methods here for people to learn how to get into the theming world. This time for CM12 Theme Engine. If you are looking for the traditional method of theming, this would be more useful for prospective themers/ROM developers: Here
NOTE: I'll be doing this on an AOSP/CM/Google based ROM, and if you are wondering if it works on TW/Sense, I do not know, but it should work the same.
In this guide, I won't be going so in depth like @Vivek_Neel, so you can go check out his thread: http://forum.xda-developers.com/android/themes/guide-t2978121 I'll be going over the BASICS of getting started to theme and how to go to his theme thread and start contributing.
Table of Contents
Setting up the Java SE Runtime Environment
Picking a template APK (with permissions)
Setting up and using Virtuous Ten Studio
Setting up ADB and Push to Install
Error? Logcat time!
Recovery Methods
Setting up for CM13
Please do note, this IS for beginners, so I'll try and respond to errors and problems when setting up your environment and using my compiling packages.
XDA:DevDB Information
Getting started on theming for CM12/12.1/13 Theme Engine!, Theme for the Android General
Contributors
nicholaschum
Version Information
Status: Stable
Created 2015-01-18
Last Updated 2016-07-22
...
Setting up the Java SE Runtime Environment
Setting up the Java SE Runtime Environment
First of all, to make sure everything goes well, it is recommended that you set up your entire JRE on your computer.
I'm on Windows 8.1 so I'll be using screenshots from an 8.1 setup.
STEP 1: Install these two files:
- JRE7 (This is what I use): http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
- JDK (Install just in case): http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
STEP 2: Setting up JDK JAVA_HOME environment variable:
After installing the two files above, locate your JDK location, in my case, mine is C:\Program Files\Java\jdk1.8.0_20.
Then open up your Control Panel and click into System (Control Panel\All Control Panel Items\System)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click on Advanced system settings in the sidebar.
A popup will appear, click on the Advanced tab, then click on "Environment Variables..."
Another smaller popup, Environment Variables, will open up. Click on "New..."
According to the screenshot, click type in the Variable name (JAVA_HOME) and Variable value (Location of your JDK set up).
After everything is done, click OK on all popups, then reboot your computer.
You are now ready for apps like Virtuous Ten Studio and Android Studio, futureproofing yourself for now.
Picking a template APK (with permissions)
Picking a template APK (with permissions)
So, I'm not like many themers where I would go berserk when you "steal" my work. My time is often spent on XDA and whatever benefit I get, I will provide back to the community for educational purposes.
STEP 0: Pick your template!!
CM12 Git Template for Android Studio (02/12/14): http://goo.gl/xwTTQw
CM12 Git Template for Virtuous Ten Studio (02/12/14): http://goo.gl/BBiUr7
CM12 cdt's (Nicholas) Alpha Template [DARK] (17/01/15) [OLD]: http://goo.gl/4kGlUk
CM12 cdt's (Nicholas) Beta Template [DARK] (18/02/15) [NEW]: http://goo.gl/RDqg9q
CM12 cdt's (Nicholas) Gamma Template [LIGHT] (18/02/15) [NEW]: http://goo.gl/Yw1p7Y​
To all those people who decompile my public Play Store release APK, you have NO permission to do so. Those who follow my template must stick to the alpha template. Unless I have given you explicit grants, you have no permission to kang or decompile my APK for resale and/or redistribution. Those found kanging my base and are not on this list, I will find you, and I will report you:
Those found kanging my Play Store base, I shall repeat, will be dealt with to XDA moderators (to shut down your thread) and Play Store (to shut down your Play Dev Console account).​
My template was built for themers and developers alike, it's quite easy to theme as I do not define dozens of new variables and cross link them in files. My theme doesn't have framework-res themed yet, but over time that will change.
Framework-res is in the "android" folder in the overlays folder, so if you don't have one, make one.
Please respect other users and DON'T kang their themes. VTS allowed for this in their app for CM11, but this is disrespectful to hard working users who spend countless hours on their themes.
I on the other hand spent 18 hours on the first day making a clean template with 406 APK recompiles, but was making it to share so that's a difference.
Once you're done picking your template, move on to the next step. If you're starting new, you'd have to work with Gradle, which takes much longer than the VTS way. In this guide I will be teaching you how to break my APK and use it within VTS (Virtuous Ten Studio).
Setting up and Using Virtuous Ten Studio
Setting up and Using Virtuous Ten Studio
STEP 1: Download and install Virtuous Ten Studio
Virtuous Ten Studio: http://virtuous-ten-studio.com/downloads/
My Mirror: https://www.androidfilehost.com/?fid=24269982087000886
STEP 2: Download and install Notepad++
If you don't have it already, install Notepad++ for external editing: http://notepad-plus-plus.org/download/v6.7.4.html
STEP 3: Setting up Virtuous Ten Studio's APKTool Binary
Once you have VTS downloaded and installed, you have to navigate to the program's APK directory, in my case: C:\Program Files (x86)\Virtuous Ten Studio\External\ApkTool
You may see many APKTool.jar's depending on when you installed VTS. I have 4 as I installed it months ago.
As you may notice, the latest does not appear there, so you will have to download the latest apktool from ibotpeaches: https://bitbucket.org/iBotPeaches/apktool/downloads
Download and place "apktool_2.0.0rc3.jar into C:\Program Files (x86)\Virtuous Ten Studio\External\ApkTool
To get VTS to recognize that 2.0.0rc3 is the latest, you will have to CREATE a new text file on your desktop named "apktool_2.0.0rc3.txt" and inside the txt file, type in a decimal binary anywhere (e.g. type 2.0.0.3 inside)
Save the text file, then rename the text file from "apktool_2.0.0rc3.txt" to "apktool_2.0.0rc3.version", overwriting the original extension.
From the desktop, drag the .version file into C:\Program Files (x86)\Virtuous Ten Studio\External\ApkTool
You can now open Virtuous Ten Studio
STEP 4: Setting up your framework-res binary for use in VTS (NOTE: IF THIS FAILS, MOVE ON TO STEP 5 FIRST, AFTER YOU GET THE DECOMPILE ERROR, COME BACK TO THIS STEP)
Extract your framework-res.apk from /system/framework/framework-res.apk on your phone, then place it on your desktop.
In VTS, click File (The blue button at the top left) and click "Open Settings"
Under External Tools, click ApkTool
Click on "Add Single Framework" and when a popup comes up, type in a tag, this can be anything, but in my case, I'll use "CM12"
After finishing your framework tag, another popup will appear to pick the location of your framework-res.apk.
Click Import, then close out of the window.
Restart VTS.
STEP 5: Import my APK file into VTS
Click on New Project
A popup will appear to pick an APK file, navigate to where you downloaded my apk file, then press Import
Another bigger popup will appear and it will come with my APK's name under Project name, change that into a theme name that you want, I'll name it "Dark Theme"
Solution name should be empty, but it has to be filled as a solution is like a portfolio, so in this case, I would type "CM12 Theme Engine Theme Template"
After typing in a Solution name, press Next, then a new popup will appear for Configurations. Pick "Basic Theming" then press Next.
The last window will appear to configure your settings. Type in your framework tag you did above, in my case, "CM12" into FrameworkTag's empty box.
Under ApkToolType choose UseCustom, then under CustomApkToolVersion pick "2.0.0.3"
For ease of use, under "Transfer file via USB", pick Install under TransferMethod, and PushPath being "/data/app".
Click Finish
STEP 6: Start Theming!
This step will be self explanatory, but the structure goes like this (I will only list out the files that people would be interested in changing):
res -> drawable-xhdpi: 96x96 icon for your installer
res -> drawable-xxhdpi: 144x144 icon for your installer
res -> drawable-xxxhdpi: 192x192 icon for your installer
res -> values -> colors.xml: global variables, good for keeping/storing
res -> values -> public.xml: global public variables
res -> values -> strings.xml: CM12 Theme Engine variables, pick your theme_name and theme_author
res -> values -> styles.xml: defines how this gets laid out in Theme Engine.
assets -> overlay: folder containing changes to the UI for a specific app
assets -> overlay -> android: framework-res.
assets -> overlay -> com.android.appname: changes to a system app, for example com.android.systemui.
assets -> bootanimations -> a bootanimation.zip with STORE compression and no junk files like Thumbs.db (check after compressing)
assets -> ringtones
assets -> lockscreen
assets -> wallpapers
assets -> notifications
STEP 7: Compiling your project!
Once you're done with your project, click Build All on top, and press Push All.
This will connect to your phone via ADB, so if you haven't used adb before, move to the Post 5..
Notice that this automatically install it on your phone, and if there would be an error shown in the notification bar, go check out the Post 6.
You're done!
Setting up ADB and Push to Install
Setting up ADB and Push to Install
I have guided you to set up ADB and Push to Install in the previous step, so if it all works for you, great, you can skip this step. This step is only for those who can't get ADB set up on their phones.
This actually is a pretty easy process.
STEP 1: Ensure ADB is installed on your computer
If you do not have drivers correctly installed, go to this thread: http://forum.xda-developers.com/showthread.php?t=2588979
Install ADB and Fastboot, as well as Google USB drivers.
STEP 2: Ensure ADB is correctly set up
Navigate to C:\adb\ and Shift Right Click on a blank empty spot
Click on "Open command window here..."
Type this code into the CMD window:
Code:
adb shell
On your phone, a popup may appear "Allow USB debugging", tick "Always allow from this computer", then press OK:
ADB should be set up if done everything correctly.
STEP 3: Click on Push All in VTS
Your phone should now install the apk automatically.
Error? Logcat time!
Error? Logcat time!
To theme for CM12, it gets complicated because you have to first install it on your device to see if the theme is good or not. If it doesn't work, it will not install, as shown by a notification saying "Failed to install theme: THEMENAME has failed to install"
REQUIREMENTS:
- Catlog already installed on your device
STEP 0: Assuming you got a notification saying it failed to install
Immediately open Catlog
Scroll up till you find the red E's, then locate the InstallTheme activity
It will tell you that there was a problem with the overlay, as usual. But if not, it will still tell you the problematic file.
Read the InstallTheme messages and pick out the problems (These could be laid out like styles.xml:45, and a brief description on the error variables. This means in styles.xml, line 45, there is a Syntax error. So you have to fix it.
Recovery Methods
Recovery Methods
RECOVERY METHOD 1: Safe Mode
To enter safe mode, you must have access to your Power Menu, usually this happens when you flash a bad layout/drawable/style and now you need to get it uninstalled from your phone. To do this:
Open the Power Menu
Hold on to "Power Off" for 2 seconds
If a reboot menu comes out, ALWAYS click Reboot, not Soft Reboot
If a reboot menu doesn't come out, just click OK.
Your phone will now boot into Safe Mode, shown on the bottom left of your screen
Uninstall that app/Deactivate it from Theme Engine
Reboot back to normal system by just doing a reboot
RECOVERY METHOD 2: The Power of Patience
If you cannot get into safe mode, your screen isn't responding and hung on an FC dialog, spam the power keys, and spam your nav bar/hardware keys. Wait a minute or two, and your FC dialog is able to be closed. Uninstall afterwards.
RECOVERY METHOD 3: Push a new, fixed APK if you know the issue
As per the title, use VTS to push a fixed APK, or revert all your commits so that on your next reboot, it will reload the theme and fix your phone.
Setting up for CM13 (MM6.0)
Simple easy steps
Once you get a working, buildable base, all you have to do is change the maxSdkVersion in AndroidManifest.xml (or apktool.yml) to 23. Then it will be installable from Play Store on a Marshmallow device with CM Theme Engine built in.
Code:
minSdkVersion: '21'
targetSdkVersion: '21'
maxSdkVersion: '23'
If you are looking for adding support to CM12, CM12.1 and CM13 simultaneously, the above configuration is correct for you. If you are looking to support CM12.1 and CM13 ONLY, then you want to make changes like so:
Code:
minSdkVersion: '22'
targetSdkVersion: '22'
maxSdkVersion: '23'
If you don't want to add support for CM13, then keep maxSdkVersion to 22.
Superb Guide bro ???
Good thing I learned how to make flashable themes, now need to make time for this... ?
Another one of these? You must have way too much free time without home Internet... Haha
Wow! Thanks for this complete guide! Followed up to the end(I'm a beginner in theming) and I got my first theme made in 4 hours of work! Still not promising but I'll be better in my next one's! Just wanted to know how to add things like fonts and ringtones, I tried to simply make a folder named "font" and dropped a .ttf file in it but it's not working.. So I just wanted to say thank you!
AMAZZZZIIING said:
Wow! Thanks for this complete guide! Followed up to the end(I'm a beginner in theming) and I got my first theme made in 4 hours of work! Still not promising but I'll be better in my next one's! Just wanted to know how to add things like fonts and ringtones, I tried to simply make a folder named "font" and dropped a .ttf file in it but it's not working.. So I just wanted to say thank you!
Click to expand...
Click to collapse
Ah, you need a fonts.xml inside that folder.
Excellent
Good work with this buddy,
I m sure this is a great help for every one
Great guide @nicholaschum . I've been theming TW ROMs for years. I'm thinking of making a theme for 12. As cm is a different animal, I was wondering about making theme apks. Didn't know how it was done. I had most everything installed, though on my builds, I used "apktools" and another program for decompiling and compiling the different apks. I'm currently creating a boot animation, I've already spent too much time on it. Lol (hours and hours). As I've never themed cm I'm sure this will help.
Goddly said:
Great guide @nicholaschum . I've been theming TW ROMs for years. I'm thinking of making a theme for 12. As cm is a different animal, I was wondering about making theme apks. Didn't know how it was done. I had most everything installed, though on my builds, I used "apktools" and another program for decompiling and compiling the different apks. I'm currently creating a boot animation, I've already spent too much time on it. Lol (hours and hours). As I've never themed cm I'm sure this will help.
Click to expand...
Click to collapse
Good luck man! If you need any help hit me up on Hangouts in a couple of hours (it's 5:40am here..haha)
framework apk
do i have to be on cm12 rom to use the cm12 framework-res.apk ?? or can i use any other rom framework apk because im getting few errors after importing the framewoek-res.apk
Ankit_M10 said:
do i have to be on cm12 rom to use the cm12 framework-res.apk ?? or can i use any other rom framework apk because im getting few errors after importing the framewoek-res.apk
Click to expand...
Click to collapse
You must use a CM12 ROM's framework-res, you don't need to be on it, but you can grab one.
nicholaschum said:
You must use a CM12 ROM's framework-res, you don't need to be on it, but you can grab one.
Click to expand...
Click to collapse
ERRor while installing framwork file

Categories

Resources