-----
What is this?
This is an elementary reference/guide that I would like to share with anyone interested in customizing or modifying the Graphical User Interface of their custom ROMs - which includes, but is not limited to backgrounds, toggles, system icons etc.
It is based completely on my experiments playing around with ROM elements, as well as help from users across the web.
Yet another How to Theme guide?
Yes. And No.
Themes are an excellent way to achieve our purpose, and provide much varied levels of customization. They are much more extensive and require knowledge which is outside the scope of this guide.
Themes do not replace any system files or images. Instead, they create references via XML files, which direct your OS to use that which is supplied by the theme instead of the stock elements.
This gives greater flexibility and compatibility, and is without doubt a lot safer.
However, in this guide we will be directly manipulating, modifying and changing the system files and images of your custom ROM instead of taking the XML route. This will only help to alter what you pack beforehand inside your ROM. Not that which you may add later from the device.
Both methods have their appeal, and we will not debate on that.
DISCLAIMER
As with all guides and tutorials, please proceed with caution. If the end-result is to your liking, give yourself a pat on the back. But if something goes wrong, please don't come running for my head.
Before you jump to searching for a suitable tool to de-compile apk files, please note that we do not require to de-compile any apk or jar files for this purpose. We are simply working on image elements (PNGs ONLY) which can be replaced without any fuss.
The posts that follow will be updated and improved upon regularly based on your views and opinions. Kindly do not take to petty quarrels. If you find something objectionable, please report to the moderators and let them choose the course of action.
By the end of these few posts, if you are able to create something that gives you satisfaction, please share it with others too.
Your creations, no matter how 'unique' will all be gladly put up here.
--
What to edit?
---
Let us begin by extracting the ROM package to a directory.
When you open this new directory, you will find that it contains the following 3 components -
A folder called META-INF
A folder called system
Another file named boot.img
It is the folder named system, that we are concerned with. But when you open this folder, you again find yourself looking at numerous other folders.
For our purpose, we require only the folders named app and framework.
{
"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"
}
Let us begin with the app folder.
The app folder evidently contains the apk files that you have chosen to package with the ROM. It is inside these apk files that our images reside.
As stated earlier, for the purpose of this tutorial we do not need any tools to de-compile the apk files. We treat them as simple archives.
We choose Contacts.apk to start with. This is the apk file that we would want to edit for changing our dialer background.
Open this apk file as you would open any other archive using WinRAR, 7-Zip etc. You should now see the following inside -
Folder named META-INF
Folder named res
XML file named AndroidManifest
Two other files namely, classes.dex and resources.arsc
Now enter the res folder and you find several more folders with prefix drawable, layout, menu and mipmap. Without going into details as to what each folder is for, I would just say that it is the bunch of folders having the prefix drawable and mipmap that we are concerned with.
:good: The mipmap folders usually contain the app's icon which appears in the app drawer, or other places as relevant. The images are usually the same in all folders - xhdpi, hdpi, mdpi.
The xhdpi icons are somewhere around 96-100px. This is completely upto you to decide how you want your app icon to look like.
The hdpi icons are usually about 75% of the size of xhdpi, while mdpi are a further 66% of hdpi icons in size.
The images are all in PNG format. To edit them you would require a suitable program. I personally use Adobe Photoshop. Other useful ones are GIMP, Pixlr Studio, fotographiX, Corel Photopaint, Microsoft Picture Manager - or any combination that suits you.
In case you want to work with vectors (graphics that use vectors and mathematical functions to describe images rather than fixed bitmaps. As a result the images can be cleanly scaled to any size without losing fidelity.) there is nothing better than Adobe Illustrator or Corel Draw.
Once you are done with creating your custom icons, save them in PNG format and rename them to the exact name of the stock PNG that you are substituting.
:good: It is always advisable to keep your PNGs the same dimensions as the ones you are replacing. Try not to over-do them. I am sure you wouldn't want a 500 kB PNG file
Once you are through creating icons for the xhdpi folder - just copy them all and paste inside the other folders - hdpi, mdpi. Take care that you don't forget to re-size them!
hdpi ~ 75% xhdpi
mdpi ~ 66% hdpi
Now time to edit other elements. We first start with the dialer background. So where exactly is the image for this?
:good: Dialer Background can be found at /res/drawable-nodpi/
The image we want to edit is background_dial_holo_dark.png
This image is usually 512 X 512 px in dimension. In my experience, this works well if your image is a texture or a pattern (nothing better than a seamless texture). However, if your idea of a dialer image involves using distinct entities etc, you would like to keep your dimensions around the same ratio as the Galaxy Note screen resolution. Otherwise, you will find that the image actually gets stretched vertically once on the phone, and looks really bad.
Next comes the drawable-xhdpi folder. In almost all apk files, this is one folder that you don't want to miss with regards to graphical customization.
You will find loads of PNG images here - each of which can be modified as per your whims and fancies.
You could get started with a few prominent PNGs - ones which you come across or ones that you 'notice' more than the rest. I have tried to list a few that would be worth starting on -
contacts_widget_preview.png
dial_num_9_wht.png (and other digits)
ic_contact_picture_180_holo_dark.png (and the other 'light' counterpart)
:good: Have a look at the other drawable folders. Experimenting is the only way you can know what changes what
You can follow the same procedure to customize images inside the Mms.apk, Phone.apk or any other apk for that matter! All you need to do is open the apk file as you would any archive, look for the drawable and mipmap folders under /res
Here I would like to discuss a bit about 2 important apk files -
Settings.apk and SystemUI.apk
These 2 apk files contain the bulk of images that we look to customize. And hence the special mention. The methods remain the same. We look for the same folders as discussed previously. I would just be helping to speed-up things and tell you which image appears where.
SETTINGS.APK
As before, we look for the drawable and the mipmap folders.The mipmap folders will contain the apk icon that represents the module. It is named as ic_launcher_settings.png
Start with the mipmap-xhdpi folder and simply duplicate your custom image into the other mipmap folders. DO NOT FORGET to re-size and rename.
Next we come to the all-important drawable-xhdpi folder, which again contains the bulk of the images we would like to customize. You will find icons here that are find elsewhere too. So which one is which? Where does it appear on your device?
This being the Settings apk that you are editing, the images in the drawable-xhdpi folder appear when you are inside the System Settings menu. This is where we usually set our -
Wireless and Network Preferences (Wi-Fi, Bluetooth, Data Usage etc.)
[*]Interface Preferences (Launcher, Lock screen, Themes etc)
[*]Device Options (Sound, Display, Storage, Battery, Apps etc.)
Here is how the menu looks when customized using graphics from the Cobalt Theme. (Though this was achieved by explicitly applying the theme, the same can be done by replacing those files in the ROM itself)
The images usually have the prefix ic_settings before them, which should make it easy for you to identify which ones you want to edit.
...to be continued....
---
under const
toxicthunder said:
under const
Click to expand...
Click to collapse
patience.
Nice
Can be very useful, and sort of unique - visual instruction is the key. Can exactly help me with somehing I've tried to do. Great thread.:good:
And adding one step-by-step (with pics) example of re-doing graphics, preferably, contacts/dialer, would be even perfect
This is not a good guide mate...
Where do u decompile the apks so u dont break the .9.png or where do u warn people for them ?
You will create overloading systems with this guide.
When theming the only proper way is to decompile the apk and edit the images then compile the apk again.
I bet none of the apks u did like this can compile because they all have broken .9's.
The system can not find the borders of these images and will create drain.
I think you miss the point.
Before jumping to conclusions on whether this is a good guide or not, please read what I have written.
We are dealing with png files here and NOT 9pngs
PNG files can very well be simply dropped over to replace in the apk.
Most of the icons - toggles, backgrounds, status bar icons etc are ALL png files.
You can simply open the apk files and replace the PNGs you want,
As for the .9png files, though I havent even touched upon them (If you could read the 'to be continued'), you can edit the .9pngs this way too as long as it is limited to color overlays and not with changing the geometric vector dimensions.
Thanks for dropping by..
I am sure users will find your point and our subsequent discussion helpful
Robbie Hood said:
This is not a good guide mate...
Where do u decompile the apks so u dont break the .9.png or where do u warn people for them ?
You will create overloading systems with this guide.
When theming the only proper way is to decompile the apk and edit the images then compile the apk again.
I bet none of the apks u did like this can compile because they all have broken .9's.
The system can not find the borders of these images and will create drain.
Click to expand...
Click to collapse
Hmmm point. As of now above it has been discussed to modify the .png files. Hence not an issue.
Toxic u would want to put a cautionary note about modifying the .9.png files
@abhi aao ... all set up
toxicthunder said:
I think you miss the point.
Before jumping to conclusions on whether this is a good guide or not, please read what I have written.
We are dealing with png files here and NOT 9pngs
PNG files can very well be simply dropped over to replace in the apk.
Most of the icons - toggles, backgrounds, status bar icons etc are ALL png files.
You can simply open the apk files and replace the PNGs you want,
As for the .9png files, though I havent even touched upon them (If you could read the 'to be continued'), you can edit the .9pngs this way too as long as it is limited to color overlays and not with changing the geometric vector dimensions.
Thanks for dropping by..
I am sure users will find your point and our subsequent discussion helpful
Click to expand...
Click to collapse
your guide states modifying .png and .9.png mate ....
remember what you write
We are simply working on image elements (PNGs, .9PNGs etc) which can be replaced without any fuss.
Click to expand...
Click to collapse
Robbie Hood said:
your guide states modifying .png and .9.png mate ....
remember what you write
Click to expand...
Click to collapse
yes, you are correct.
But where does it say "How to modify .9pngs"
as I said - under construction
Oh god no time toplay silly kids games.
Justput up a warning if u even know what the .9s exactly are.
If a guide is under construction leave it on ur pc and drop it when its finished.
U can really mess up peoples phones
.9pngs?
Sorry, not much know-how about graphic designing.
Give it a rest guys
Robbie - Toxic is a web designer and that too of an elite class...so he knows what he is doing!! Though your point is valid and well taken ! :good:
Toxic - No harm in putting up a cautionary note as i stated earlier.....many people here you know will mess things up and then flood the Q&A and this thread. So prevention is better than cure
removed reference to .9s under disclaimer.
Thanks Robbie
toxicthunder said:
.9pngs?
Sorry, not much know-how about graphic designing.
Click to expand...
Click to collapse
http://developer.android.com/tools/help/draw9patch.html here you go mate
---------- Post added at 12:50 PM ---------- Previous post was at 12:50 PM ----------
abhisahara said:
.many people here you know will mess things up and then flood the Q&A and this thread. So prevention is better than cure
Click to expand...
Click to collapse
you are a wise man
toxicthunder said:
patience.
Click to expand...
Click to collapse
Oh how cool!!! i didn't have to PM or ask you about this, you already created a Thread, this is really helpful for us newbies how want to learn mean while ill keep playing with the building from source part of the custom Rom, thanks toxic!!!
Since xda-university is going to be launched soon, advancing this thread is pointless.
Thread Closed
Related
Create custom FlipFont files with font preview and icon.
*At present this only works on Galaxy S phones, but should work if FlipFont is ported or released on other devices*
For Captivate users you will need to enable side loading apps first, because AT&T sucks. Check this thread if you still need to so this.
Why do we need to jump through hoops?
It seems that the fonts in the MonoType apks on the market are digitally signed. This is what is preventing the use of any old font being added to an APK. I believe the FlipFont app is looking for the digital signature in the font within the APK. If its not there, it does not use the font and reverts to using the default font. It MAY be possible to edit the FlipFont APK so that it no longer looks for the digital signature. This should allow us to use any font without jumping through hoops.
If you can find the FlipFont Apk please post its location or better yet PM me with its location. If your really feeling spunky ADB pull the file off your phone and post it here, so we can take a look at it.
Lets trick FlipFont. Heres what you need.
Apk Manager 4.8 found here. This will allow you to decompile and edit the APK attached at the bottom of this link. Dont worry its much easier then it sounds.
FontCreator 30 day trial found here. This is a windows only program. If you know of a cross platform, open source or FREE font editor please let me know. The one on source forge is not stable enough for use at present and its install needs its own walk through.
***Link for FontCreator has been downgraded to version 5, which will allow you to save fonts during the 30 day trial, unlike version 6. Thanks sigeltek***
Photoshop or Gimp. Note you only need this if you want to edit the icon file for the app. I will not go over editing the icon in the walk-through, this should be pretty self explanatory.
Digitally Signed Monoglyceride font found here For some reason Mediafire sees this as a jpg file. Click the download this image button in the link and you will see its actually a .ttf file. ODD :ºp
The Monoglyceride APK attached at the bottom of this link.
Walk-through editing the Monoglyceride font with FontCreator.
Open the Monoglyceride.ttf font with FontCreator
Open the .ttf font you want to use.
Make note of the number of Glyphs at the bottom right side of FontCreator when you have your font selected.
Click the Monoglyceride font window in FontCreator and choose edit>select all at the top of the program.
Hit delete on your keyboard. This should delete everything in the Monoglyceride window.
click Insert>Glyphs... at the top of the program
type in the number of glyphs your font has in it and hit ok. You should now see a bunch of empty glyphs in the Monoglyceride window.
Now switch back to your font and again hit edit>select all
Hit edit>copy
Swith back to the Monoglyceride window and click edit>select all... and then edit>paste special...
This will open up the Paste Special window. Put a check in every box in Item section and choose "Add Mappings" in the mappings section and then click OK.
If this worked properly you should see all of the characters and mappings from your font in the Monoglyceride.ttf window.
Close your fonts window in FontCreator
Click File>Save as, rename the Monoglyceride.ttf with the name of your font.
Thats it you now have a digitally signed font. If you want to double check, open the new font in windows and you should see that the font is still technicaly the Bauhaus font, but it now contains your fonts characters. :º)
*** eweo911 has just informed me of a quick way to resize the font if it is too large. You can check to see if its too big by double clicking on one of the glyphs after preforming the Paste Special section of the instructions above. Its best to choose one of the uppercase letters. If the glyphs image goes above the guide shown for cap it WILL be a large font on the phone. These guides are set in the perfect position for our phones screen.
Here is the quote from eweo911:
I have figured out how to make the fonts smaller so you can adjust them to fit the screen better. Not sure if anyone else has done it yet but here is what I did.
After you do the "Paste Special" in font editor (per Ritalins how-to), you will need to make sure all of the glyphs are highlighted in the new font. Yiou will then go to "Tools" and then "Glyph Transformer". Once there, you will select the "Selected" button, then under Available Features you will expand the Outlines tree. Select scale and then you will have two variables for Outlines-Scale. Choose an integer that you want to test with and then hit "ok". Save as your new font name and that should be it.
Click to expand...
Click to collapse
Walk-through editing the apk with Apk Manager 4.8
Download the monoglyceride.apk listed below.
Copy the apk into place-apk-here-for-modding folder in the Apk_Manager_4.8 directory.
Run script.bat and choose option 9
Open Apk_Manager_4.8\out\assets\fonts in explorer
Replace existing monoglyceride.apk font with the .ttf font you edited in FontCreator
edit all XML, yml and smali files to include the font name or font.ttf depending on the entry in the original file. Just replace monoglyceride in these files and folder with the name of your font. Pay attention to capitalization in the existing files, and make sure to do the same when replacing with your file name.
Edit the last folder name in the smali folder tree from monoglyceride to the name of your font
Edit the icon.png in the drawable folder with one of your own.
Compile apk - option 11
Sign apk option 12
Check the Apk_Manager_4.8\place-apk-here-for-modding folder and you should see repackaged-signed.apk along with the original monoglyceride apk. Rename your new signed.apk file the same as the monoglyceride one and just check the name at the end with your font name. This is not REALLY necessary, but do it for consistency sake.
install apk on your phone
This might take you about 30 minutes the first time you run through it, but after you get accustom to the steps you should be able to bang through it in about 10 minutes.
Well here you go, here is my first custom FlipFont APK.
Monoglyceride
{
"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"
}
http://www.mediafire.com/file/b63fa44f7ks7e3d/com.monotype.android.font.monoglyceride.apk
Its working perfectly for me, but let me know if you have any issues.
If you create a font with these instructions, please share it with the community. There is a thread in the Vibrant theme section found here.
Save this thread as a favorite or subcribed thread and you can easily view it and download the fonts in the XDA tapatalk app on your phone.
You will need Astro or Linda file browser to be able to download the fonts from your phone.
tried your mono .apk and got nothing. shows up on the flipfont list just fine, asks to reset the phone but there's no change when it comes back. -JH2 -ext2.3 lag
edit: worked on wife's phone. -stock w/oc'd kernel -ext2.1 lag
solufein said:
tried your mono .apk and got nothing. shows up on the flipfont list just fine, asks to reset the phone but there's no change when it comes back. -JH2 -ext2.3 lag
edit: worked on wife's phone. -stock w/oc'd kernel -ext2.1 lag
Click to expand...
Click to collapse
It's something in the lag-fix that kills flipfonts. I initially thought it was JH2, but I used them fine on stock+rooted. Doing the One-Click fix killed flipfonts, so I did RyanZA's phone only fix.
PS, all of the fonts in the Vibrant thread work swimmingly.
Works fantastic for me, thank you for posting and sharing. While I personally do not like the font posted, it does work and can't wait to see more.
benclayton said:
It's something in the lag-fix that kills flipfonts. I initially thought it was JH2, but I used them fine on stock+rooted. Doing the One-Click fix killed flipfonts, so I did RyanZA's phone only fix.
PS, all of the fonts in the Vibrant thread work swimmingly.
Click to expand...
Click to collapse
Glad it works. Not sure why it brakes with the one click fix. Most of the users in the Vibrant forums are using the RyanZA lag fix. Will remember this if someone asks why its not working. Thanks for the heads up.
smeltn said:
Works fantastic for me, thank you for posting and sharing. While I personally do not like the font posted, it does work and can't wait to see more.
Click to expand...
Click to collapse
Well there are quite a few there, but I understand if they are not all to your liking. I am now charing you with submitting one of your own. It will take you about 20 minutes the first time, but after you get the hang of it, you can get one done in about 5 minutes.
im running CFLagFix 1.80 and changing fonts doesnt work for me either
cachookaman said:
im running CFLagFix 1.80 and changing fonts doesnt work for me either
Click to expand...
Click to collapse
Do any of the other flipfonts that came with the phone work?
Sent from my SGH-T959 using XDA App
ritalin said:
Do any of the other flipfonts that came with the phone work?
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
the captivate doesnt come with any other fonts other than default
cachookaman said:
the captivate doesnt come with any other fonts other than default
Click to expand...
Click to collapse
What??? Thats robbery!!!
Well if you would do me a favor and download any of the flipfonts in the market and try it. If it doesnt work just uninstall for the refund.
Does the fix your running move the apps or another portion of the OS to the SD card or internal SD? If so my guess is that it does not read them in time for the launch of the OS and android loads up the fallback font instead.
As stated the RyanZA lag fix works great and the fonts work with it. I score about 2100 Quadrant with RyanZA lag fix installed. Might want to give it a try.
First of I want to say that I am not a developer. I don't have programming experience nor do I know a whole lot about this particular subject. I hope that sharing what I have found so far will help anyone else who wants to do something similar. With the help of voodoo55 I have successfully created and compiled APKs for use with the TMobile theme engine. Although this appears to be a great idea for the experienced developer because it will make themes cross device compatible it probably isnt going to be such a big hit with the normal joe blow themer such as myself for a few main reasons.
1. You have to be running linux and tapped into the CyanogenMOD github.
2. You're probably going to need to know a bit of xml coding (which I didnt when I started).
3. You're going to have to know how to decompile and edit .9 PNGs.
4. You're going to have to know how to compile APKs un linux as well
None of these in themselves are all that complicated or hard for that matter, just tedious and very time consuming for the average themer. I am not going to get into specifics or xml code details here. As I am not a developer and dont know much about this stuff all I am going to do is tell you how these APKs function and what files need to be changed in order to compile them. Also, you'll find out the time consuming problem with compiling these APKs and how to fix it. Im just too lazy to sit here and manually fix hundreds of images.
Please remember these instructions are not very detailed but give a general idea on the direction you will need to take to make this happen. Also, for anyone who knows more about this than I do, please, feel free to correct me.
Step 1 - You are going to need to have a working linux distro running.Step 2 - You need to follow the instructions located here minus the last step to get the source from Cyanogen's github.Step 3 - Once #2 is complete and you have downloaded the source to the ~/android/system directory, you will find the current uncompiled source for the TMobile themes "Androidian" and "Cyanbread" in the ~/android/system/vendor/tmobile/themes directory.Step 4 - The experienced Dev would probably start completely from scratch here but I didn't so I'm not going to tell you how. As template, make a copy of the Cyanbread folder and renamed to your theme name.Step 5 - Here we are going to want to edit some files to make the compile possible with. In "your theme" directory there is a filed named Android.mk. In a txt editor you will need to change the following line:
Code:
LOCAL_PACKAGE_NAME := Cyanbread
to
Code:
LOCAL_PACKAGE_NAME := yourthemename
Step 6 - Edit the following lines in AndroidManifest.xml by replacing Cyanbread with your theme name.
Code:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:pluto="http://www.w3.org/2001/pluto.html"
package="com.tmobile.theme.Cyanbread"
android:hasCode="false">
<uses-feature android:name="com.tmobile.software.themes" />
<theme
pluto:themeId="Cyanbread"
pluto:styleId="@style/Cyanbread"
pluto:name="@string/theme_name"
pluto:preview="@drawable/preview"
pluto:author="@string/author"
pluto:copyright="@string/copyright"
pluto:wallpaperImage="@drawable/wallpaper"
pluto:styleName="@string/style_appearance_name"
pluto:ringtoneName="Shocking"
pluto:ringtoneFileName="media/audio/ringtones/Shocking.mp3"
pluto:notificationRingtoneName="Teleport"
pluto:notificationRingtoneFileName="media/audio/notifications/Teleport.mp3">
Step 7 - Open up the res/values folder. There are two files in this particular template that need to be edited, strings.xml and themes.xml.
In the themes.xml you will need to change this line of code
Code:
<style name="Cyanbread" parent="@android:style/Theme" />
to this
Code:
<style name="yourthemename" parent="@android:style/Theme" />
and in the strings.xml you are basically doing the same thing by replacing "Cyanbread" everywhere with "yourthemename"
Code:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Cyanbread Theme</string>
<string name="theme_name">Cyanbread</string>
<string name="style_appearance_name">Cyanbread</string>
<string name="author">T-Mobile MSD</string>
<string name="copyright">T-Mobile</string>
</resources>
it should look similar to this when edited
Code:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">youthemename Theme</string>
<string name="theme_name">yourthemename</string>
<string name="style_appearance_name">yourthemename</string>
<string name="author">You are the author</string>
<string name="copyright">there is no copyright on open source</string>
</resources>
Ok, so far this isn't to complicated but from here on out it gets a little more tricky for the average joe. Let me try to explain how these APKs work. Basically the xml files in the theme APK tells android to look in its own folders for, basically, substitute PNG images for the ones currently in the your framework and system/app packages on your phone. Pretty simple, no big deal. There are numerous xml files located in the various folders within the APK but I'm only going to talk about the two main ones need. In the res/xml there is a file named redirections.xml and android.xml. The redirections.xml basically tells the Tmobile theme picker thingy what other xml files to look at to find the source for the replacement PNGs. The main one being android.xml. Android.xml tells the OS on your phone what replacement PNGs to use for the theme. This will replace images that would normally be used from the framework-res.apk. There are other xml files in this directory as well, each one is correspondent to any APK in /system/app on your phone that you wish to theme. For instance com_android_systemui.xml will correspond to /system/app/SystemUI.apk. It works the same was that the android.xml file does and can be edited in the same way as well.
Hope that wasn't to confusing.
Step 8 - Now you will notice there are res/drawable-hdpi and res/drawable-mdpi folders in here as well. Here is where you will add new PNGs for your theme. Personally I deleted the entire contents of the folder and started over. Im not going to get into the specifics of what PNGs to replace as any themer should be ok with doing this. You can place images from any /system/app/*.apk as well but for now I am referring to the framework-res.apk. Once you replace your PNGs you are going to have to create an associated link in the android.xml.
Please note: Any .9 PNGs you replace will HAVE, IT IS A MUST, to be decompiled and the borders edited correctly for the APK to compile correctly.
Step 9 - Open the android.xml file. Initially you will see lots of code but since you are starting over you will want to delete everything between these two lines.
Code:
<resource-redirections>
</resource-redirections>
Once this is complete we will now add the code you will need so it will find the PNG you replaced. For instance, if you placed an edited stat_sys_battery_40.png in the res/drawable-hdpi folder you are going to need to add this line of code the the xml file inbetween the <resource-redirections> code
Code:
<item name="drawable/stat_sys_battery_40">@drawable/frameworks_res_stat_sys_battery_40</item>
I hope you can see how the code corresponds to the PNG name as well. You can basically name the image anything you want as long as the code above is told to where to look.
The same this would apply to any other xml file for their associated APKs as well.
Step 10 - Here you will want to edit the res/xml/redirections.xml file. You will see it has tons of stuff in it but again you will want to remove anything are not using. If you are only using say, the android.xml and the com_android_systemui.xml it would look similar to this:
Code:
<theme-redirections
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:pluto="http://www.w3.org/2001/pluto.html">
<package-redirections android:name="android"
android:minSdkVersion="7"
android:resource="@xml/android" />
<package-redirections android:name="com.android.systemui"
android:minSdkVersion="7"
android:resource="@xml/com_android_systemui" />
</theme-redirections>
Step 11 - Now for the final test of whether or not you edited everything correctly you will need to compile the APK. Open a terminal window and type
Code:
cd ~/android/system
and then type
Code:
make yourthemename
If you have edited everything correctly you APK will be compiled and can be found in the ~/android/system/out/target/product/supersonic/system/app folder. If it doesnt compile it will give you pretty specific errors in the terminal window that you could can go by to correct your problems.
And now for the BAD NEWS !!! The troubles I had while doing this was mainly with .9 PNGs. It seems that a ton of the .9 PNGs us normal themers use have been in some way corrupted d/t being edited incorrectly. Most of the borders are not done correctly. One of two things will happen: 1. They will not decompile correctly or 2. the will not compile correctly with the theme due to faulty editing. This is a simple fix but is extremely time consuming. And I, like most of us, simply don't have the time to fix each .9 I use in my themes for build each APK. Normal PNG changes are no problem however. I hope people will experiment with this as I have and will continue to do in my free time but for now I am going to stick to creating themes the old fashioned way. I do sincerely hope Cyanogen plans on placing his "UI Tweaks" section back into "CM Settings" as well for those of us who dont plan on building theme APKs.
Once again, I AM NOT a developer, so I probably couldn't answer any more advanced questions but feel free to ask. I'm sure there are plenty of people here who can. I just wanted to share my findings and what I did to make these APKs. The "Androidian" theme varies slightly if plan on using it as a template.
Hi! Thankk you so much for your tutorial, all works fine and apk is ok and properly installs on my N1, but if i try to upload the apk on market, it says me "The icon for your application is not valid. Please use a 48x48 PNG.".
Obviously, i checked twice my icons, and searched for a solutions on the net, and for the most of people with this problem it was due by a "\n" in the app name, and not from the icon. But i have not "\n" in my app name, and icons are right, so i can't figure out what is the error due to...
Can you give me some help?
Regards and sorry for my english!
do you happen to know how this would be done on windows?
Currently I have the CyanBread template / source off t-mobiles github page and have a working SDK and eclipse plugin. I am capable of making unsigned or test signed apps and have compiled a few simple apps myself, which worked fine.
Now when I Run As or export unsigned app (as done previously) the theme manager say that the theme was NOT compiled correctly.
I have done this with an unedited version and a minimalist version containing only a few of the SystemUI and framework-res files and removed from the xml correctly, the images in use are the ones which came with the template and so should not be the problem.
I must say that I would not have been able to edit this much without your explainations, so TYVM! truely awesome! And when this works I have an awesome theme half developed , I'm itching to finish.
I've read something about a modified appt.exe to allow the theme manager to assign res images differently or something, this i cannot seem to find. or figure how to bypass. I understand that in linux, you can just pull the whole repository and get it as you stated above, but surely its possible in windows???
any and all help welcome! I'm no dev, but I'd love to be able to theme like this! no more update.zips!
------
p.s. I don't want to do it in Linux virtual box fyi, and even if i did repo/adb (in VM only) currently seem to be broken at my end.
Maybe this links are useful too:
http://code.google.com/p/tmobile-themes/
http://code.google.com/p/android-theme/w/list
From "haxzamatic":
I also have a theme template on github with all AOSP graphics so you can start with stock graphics. I put a ton of work in behind the scenes so we can see some awesome themes for this system.
Click to expand...
Click to collapse
http://github.com/haxzamatic/Templatebread-
Ganii said:
Maybe this links are useful too:
http://code.google.com/p/tmobile-themes/
http://code.google.com/p/android-theme/w/list
From "haxzamatic":
http://github.com/haxzamatic/Templatebread-
Click to expand...
Click to collapse
thanks alot for taking the time to reply, but i have read the first 2 links before and it only has instructions for getting the full repository in linux, as for the templates they are all quite similar, althought that one by haxzamatic is one of the "fullest" ones I've seen. This I'm sure is not the problem, as i can compile the template after importing it as a project in eclipse but it will NOT apply.
I have even made a signed apk and installed it off the SD, it installs fine, but wont apply.
I suppose i should get repo working in my linux box.... but i do think its silly the appt wasn't released for windows and linux.... any more advice?
I compiled my theme this morning, and it finished with no errors but when i go to install it doesn't work. The apk looks good, so Idk.
trock79 said:
I compiled my theme this morning, and it finished with no errors but when i go to install it doesn't work. The apk looks good, so Idk.
Click to expand...
Click to collapse
You have to be using the AAPT from T-Mobile git to support the theme resource IDs in resources.arsc. The stock AAPT will not generate the IDs expected by the theme manager.
weareallkosh said:
You have to be using the AAPT from T-Mobile git to support the theme resource IDs in resources.arsc. The stock AAPT will not generate the IDs expected by the theme manager.
Click to expand...
Click to collapse
That is the method I used. When I go to install the apk it fails.
trock79 said:
That is the method I used. When I go to install the apk it fails.
Click to expand...
Click to collapse
Where did you get the modified AAPT from?
NickHu said:
Where did you get the modified AAPT from?
Click to expand...
Click to collapse
From here http://code.google.com/p/android-theme/wiki/TMobileThemeEngine
and here http://pastebin.com/3i7xLBTU
If the instructions in this thread are followed everything works and applies correctly. I am getting the code from the cyan github.
Sent from my PC36100 using XDA App
t3project said:
If the instructions in this thread are followed everything works and applies correctly. I am getting the code from the cyan github.
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
That is fine if you want to work with the png's that are included with cyanbread theme, but I have more than what is included that theme and do not want to add all the commits just shy of a thousand more png's.
Anybody know how to change the color of the text on [just] the pulldown? I've been fiddling with no luck so far...
Thanks!
Hi t3project, I made a script following your instructions that may help on build apk theme:
http://forum.xda-developers.com/showthread.php?p=12050403#post12050403
trock79 said:
That is fine if you want to work with the png's that are included with cyanbread theme, but I have more than what is included that theme and do not want to add all the commits just shy of a thousand more png's.
Click to expand...
Click to collapse
you can use any png you want and as many as you want as long as you add the resource the the appropriate xml. they just have to be decompiled pngs and correctly edited for compiling. same thing goes for template them xml. just add the appropriate resource to the xmls and you can use whatever or howmany ever you want.
i did have a script that did this in about 2 seconds for you but i cant find it at the moment
You dont need a linux box for it to compile, install the windows android sdk, eclipse + eclipse adt, git clone the androidian theme, create a new android project in eclipse, choose create from source and select the androidian folder, build and enjoy.
How can I just download the t-mobile bit (and gingerbread, or whatever is the barebones minimum for this)? Its downloading all the devices cyanogen supports, and thats just a waste of my time/disk space/internet connection (which is particularly slow)
items name
This is about /res/xml/android.xml.
how to do so that we can know where the drawable position located? I'm confused what the name of the image that I would change.
examples where the position of the image and name in the /res/xml/android.xml.
{
"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"
}
Hey just wondering if anyone might know as to where I would be able to change the hue color that is around the recent apps when opened on left side of screen. Would like to change it from being black in ICS, I'm sure that honey comb had pretty much the same setting for this. ANy help is appreciated.
This is in the system UI.APK.. there are lots of icons .png files in there in different folders.. There is a Thread i read here on xda.. I do not think it was in this forum .it was a thread about honeycomb.
I do know you need to be rooted or BE Fairly skilled with adb. I did a search with luck on finding the thread i read. There are also in the themes and apps thread on here some stuff about doing this.
Sorry I am not much help.. Google search is your Best bet.
As Erica said, these options are in the SystemUI.apk
You can unzip the apk, to a folder on your hard drive, and modify the images as you desire (provided you keep the original file-name and PNG format)
Normally, you can change the colors in photoshop or Gimp.
If you wish to modify the xml files, then you will need to de-compile the apk. The good thing, is that PNG's are not really compiled, which makes them relatively easy to alter. After changing the images, just re-zip the entire directory structure, keeping the original file-name, and rename to SystemUI.apk (not systemUI.apk.zip)
Yeah I have gone through and change what I thought was the hue color image in both systemui/res/drawable-mdpi and systemui/res/drawable-sw600dp-mdpi. But the changing the color of that icon had no effect on the hue. Also I would think that it must be a .9.png image but those are not really panning out atm. I have got a dev of themes to get me his apktool he has been using for ICS framework and am going through the .xml files. But I don't have my tab with me a work today so will have to test more when I get home.
The Ultimate 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:-
Main Part:
1. Easiest Decompiling and Recompiling Guide *Must Read before continuing*
Theming Part:
2. APK png resources(General Location of General pngs)
3. Explanation of 9 pngs and how to edit or make them
4. How to Batch edit pngs (Not 9 pngs) (Changing color, etc)
All of us like if all things are present in one guide
This guide covers topics like decompiling, 9 png editing, theming in a very newbie friendly manner.
I have worked upon this guide to make it so that no problem arises during performing certain tasks which I faced.
I have covered workarounds such that they ensure LEAST no. of errors while performing these tasks.
However, if even then any problem arises, I am always there to help you out :laugh:
Main Part:
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
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
Theming Part
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
On stock based HTC roms, the default wallpaper location is specified in the.build.prop (so the dev can either swap out the image, or change the path)
The default wallpaper path for HTC roms is /system/customize/resource/wallpapers_a_00.jpg (Thanks to CNExus)
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...
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
Why APK-Multitool?
Yeah, why not just apktool or VTS (Virtuous Ten Studio)
But, when working with certain system apk files, there is a feature of APK Multitool that comes in very handy and that is, making a keep folder and asking you to delete stuff which you modded to then make an apk file. Certain files in apk do not need to be touched which can be easily controlled by APK Multitool.
Note: This is no way against VTS in any form
As I was making a guide which ensured least amount of errors, I chose APK Multitool, because we can easily fix those known errors od Status Bar disappearing or this and that :victory:
apktool is very minimalistic but not too user friendly for a newbie. And it may return with huge amount of errors if not used correctly.
So, APK Multitool is a perfect balance in between simplicity and work power
FAQ
Oops
Last One left
Awesome guide areeb..
Will include this guide in the index for sure
-asdf-
Will be a great guide for me
Sent from my GT-I9100 using Tapatalk 2
Great guide.
Good info. Nice work :good:
This is a good guide, very good one. But, I've found that the latest APK Multi Tool doesn't work for Android 4.2.2 apks.
Does this one work? Any solution?
krazzyvishal said:
This is a good guide, very good one. But, I've found that the latest APK Multi Tool doesn't work for Android 4.2.2 apks.
Does this one work? Any solution?
Click to expand...
Click to collapse
Thanks for notifying
You can try downloading this - http://d-h.st/cze and replacing the previous files with the new files in others folder
It's by Rizal Lovin from his guide here http://forum.xda-developers.com/showthread.php?t=2195680
Or you can notify the bug (if it's a bug ) here http://forum.xda-developers.com/showthread.php?t=1310151
Best theming guide i ever seen
i love ur ,9 pngs method and how u explained us more deeply about them
Thanks
krazzyvishal said:
This is a good guide, very good one. But, I've found that the latest APK Multi Tool doesn't work for Android 4.2.2 apks.
Does this one work? Any solution?
Click to expand...
Click to collapse
Try some of the suggestions in my guide. Link below.
From me to you.
great guide for starters
all hail to areeb
iamareebjamal said:
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)
Click to expand...
Click to collapse
Here's what i do if i want to keep the .9.png border intact:
Open my .9.png.
Select>All.
Select>Modify>Border. Set width at 1 pixel.
Select>Inverse.
Edit>Cut.
Edit>Paste special>Paste in place.
Layer>Arrange>Send to back.
This splits the the border from the image allowing you to edit the image freely without affecting the 9patch.
I'll attach my action i created to automate the process.
Extract the action from the zip.
Window>Actions.
Select dropdown menu.
Load actions> select split.9.atn
One final thing. Photoshop has no problems with the .9.png extension. When you save your image (save for web) it will show as .png, just insert .9 into the name. I've never had a problem.:good:
Appreciate! Great guide
dully79 said:
Here's what i do if i want to keep the .9.png border intact:
Open my .9.png.
Select>All.
Select>Modify>Border. Set width at 1 pixel.
Select>Inverse.
Edit>Cut.
Edit>Paste special>Paste in place.
Layer>Arrange>Send to back.
This splits the the border from the image allowing you to edit the image freely without affecting the 9patch.
I'll attach my action i created to automate the process.
Extract the action from the zip.
Window>Actions.
Select dropdown menu.
Load actions> select split.9.atn
One final thing. Photoshop has no problems with the .9.png extension. When you save your image (save for web) it will show as .png, just insert .9 into the name. I've never had a problem.:good:
Click to expand...
Click to collapse
Thanks for suggestions
About last thing, I never said anything about Photoshop having problems with .9.png files
Maybe words appeared different from what they meant
iamareebjamal said:
Thanks for suggestions
About last thing, I never said anything about Photoshop having problems with .9.png files
Maybe words appeared different from what they meant
Click to expand...
Click to collapse
Sorry, my bad. I didn't mean it had problems. What I was trying to say is you can just add the .9 without any problems.
Normally I just copy the nines into a separate folder, work on them, then when saving double click and replace. Doesn't save much time with a handful, but when you have quite a lot it all adds up. Plus you still have the originals incase of an error.
dully79 said:
One final thing. Photoshop has no problems with the .9.png extension. When you save your image (save for web) it will show as .png, just insert .9 into the name. I've never had a problem.:good:
Click to expand...
Click to collapse
I think you're using a step or two more than you need to layer the border, and to save I just merge the layers, save and close.
XperienceD said:
I think you're using a step or two more than you need to layer the border, and to save I just merge the layers, save and close.
Click to expand...
Click to collapse
What steps are they? When it's automated using the action it takes less than a second.
Everyone has their own technique, personally I think merging layers and saving is redundant as they are merged when saved.
Today I am proud to present my new creation EAIT - EASY APK IMAGE THEMER.
DISCONTINUED
I don't use Windows anymore, so any support for this script/app is dropped.
Download from Mediafire or from ATTACHMENT.
I see sometimes peoples get very shocked after they see my modded versions of whatsapp, so I thought lets make something which helps to *any* normal android user to edit any apk.
Keep in mind that this is not much advance tool and won't be able to do all editing.
So what exactly is EAIT, it's a simple tool which extracts APK to let you edit images and then compress it back to .apk to install on your phone.
What you need?
JRE 6/7 -download it from java.com
Any good image editor like l Photoshop, GIMP or Paint.net
steps:
1. Download .rar from above.
2. Extract in C:/
3. Take backup of app(by ES explorer) you want to edit and move it to "PLACE-APK-HERE"
4. Run main application "easy apk image themer" from folder.
5. See your current apk will be listed on top.
6. Press 1 and enter to extract
7. Minimize the window and go to 'Project' folder. You'll find appname.apk folder, click on it.
8. Browse through "res" folder and see images inside drawable folders. Edit then with help of Photoshop/GIMP/Paint.NET.
Warning: rules of editing
>never edit "imagename".9.png files or you may get force close.
>If you want to replace image then choose something that has same resolution
9. After all editing maximize the window you previously minimized.
10. Press 2 and hit enter, wait for a while.
11. Press 3 and hit enter wait for a while.
12. You will find Signed-appname.apk in your "place-apk-here" folder
13. Send that app to your phone and install ( you may need to Un-install previous one)
14. Enjoy... and press thanks if you liked it
Report any bugs/problems here only.
Some images
{
"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"
}
the result:-
reserved
bump
Here is a Mediafire mirror for you
I've always wanted to make an inverted Facebook app, so I might give this a shot. Thank you for your work
I’m not trying to rain on OP’s parade, but out of curiosity, aren’t there similar tools for Windows already? Sometimes with even better GUIs like elesbb's GUI APK Tool
This looks like APK Multi Tool, minus all of the extra features. Even the folder structure is the same.
please help
i did everything as mentioned in ur tutorial. i colored some whatsapp smiles. and recompiled the apk and signed it. uninstalled my previous whatsapp and installed new one. but whenever i try to open a new contact to chat with it force closes. am attaching the edited apk. plz help me.
i didnt changed any resolution of images. just coloured them.
http://www.mediafire.com/download/ew7rgzz6qaa95uu/signed_whatsapp.apk
Interesting tool, would love it if i'd see screenshots and shared apks of modified apps! :good:
Great work.!!!
Hi Ankush,
You can use the Mediafire mirror.
http://www.mediafire.com/view/2zomqhmuoknb0gm/APK-Image-Themer_3.rar
BTW, amazing job now I can theme my apps...:good::good:
Downloaded
Ankush menat said:
Today I am proud to present my new creation EAIT - EASY APK IMAGE THEMER.
Download from dropbox
Please provide me mediafire mirror(mine account is not working properly)
I see sometimes peoples get very shocked after they see my modded versions of whatsapp, so I thought lets make something which helps to *any* normal android user to edit any apk.
So what exactly is EAIT, it's a simple tool which extracts APK to let you edit images and then compress it back to .apk to install on your phone.
What you need?
JRE 6/7 -download it from java.com
Any good image editor like l Photoshop, GIMP or Paint.net
steps:
1. Download .rar from above.
2. Extract in C:/
3. Take backup of app(by ES explorer) you want to edit and move it to "PLACE-APK-HERE"
4. Run main application "easy apk image themer" from folder.
5. See your current apk will be listed on top.
6. Press 1 and enter to extract
7. Minimize the window and go to 'Project' folder. You'll find appname.apk folder, click on it.
8. Browse through "res" folder and see images inside drawable folders. Edit then with help of Photoshop/GIMP/Paint.NET.
Warning: rules of editing
>never edit "imagename".9.png files or you may get force close.
>If you want to replace image then choose something that has same resolution
9. After all editing maximize the window you previously minimized.
10. Press 2 and hit enter, wait for a while.
11. Press 3 and hit enter wait for a while.
12. You will find Signed-appname.apk in your "place-apk-here" folder
13. Send that app to your phone and install ( you may need to Un-install previous one)
14. Enjoy... and press thanks if you liked it
Report any bugs/problems here only.
Some images
the result:-
Click to expand...
Click to collapse
Will try it soon cool tool will try to mod some apps
+1 Nice tool
himanshu.khanna said:
i did everything as mentioned in ur tutorial. i colored some whatsapp smiles. and recompiled the apk and signed it. uninstalled my previous whatsapp and installed new one. but whenever i try to open a new contact to chat with it force closes. am attaching the edited apk. plz help me.
i didnt changed any resolution of images. just coloured them.
http://www.mediafire.com/download/ew7rgzz6qaa95uu/signed_whatsapp.apk
Click to expand...
Click to collapse
You've edited one .9.png which is causing FC
So from what I am seeing, this allows you to easily edit images in apps. Does it however facilitate color changing? I'd like to theme facebook into the one team blackout has
asdfasdfvful said:
So from what I am seeing, this allows you to easily edit images in apps. Does it however facilitate color changing? I'd like to theme facebook into the one team blackout has
Click to expand...
Click to collapse
Facebook is mostly coded with HEX color codes and not Images...
You should use APKtool by brut.all
There are tons of guide available for How-to-theme-with-Apktool on XDA follow them.
Ankush menat said:
Facebook is mostly coded with HEX color codes and not Images...
You should use APKtool by brut.all
There are tons of guide available for How-to-theme-with-Apktool on XDA follow them.
Click to expand...
Click to collapse
Mhm... Apktool keeps on giving me issues. I guess I'll just love without theming
Sent from my One S using XDA Premium 4 mobile app
thanks but,
Ankush menat said:
You've edited one .9.png which is causing FC
Click to expand...
Click to collapse
how do i identify that which one is .9.png file? any suggestions?
himanshu.khanna said:
how do i identify that which one is .9.png file? any suggestions?
Click to expand...
Click to collapse
See the Image...
Those image files who have name like name.9.png will be visible as name.9 in Windows dont edit them
please help
Ankush menat said:
See the Image...
Those image files who have name like name.9.png will be visible as name.9 in Windows dont edit them
Click to expand...
Click to collapse
see i edited these files and they dont have .9.png in there name.View attachment 2479108
Sure, this is similar to some of the other apk editors out there like ApkTool/ApkMultiTool but this is NEWB friendly as the op expressed. I think this is a great program for someone just starting to learn about the android os and curious about themeing their own applications. Wish I had this tool when I first started themeing with apk multi tool. Without all the fluff and extra features, this software will be very helpful for users who are specifically interested in modifying the look of their applications. Good job Ankush
Anyone have any tips on editing Hangouts.apk? More specifically I would like to modify the emoji. Does framework-res.apk need to be included or something?
Sub'ed
OK so far so good, anyone know the name or where in the APK folder (which drawable folder) I could find the background images. I am working on the facebook messenger from my Sprint GS3.
Well I managed to edit the color of one of the pictures inside an app (ended up using the clock app) and now I cannot get it to install. I deleted the old clock and tried installing from es and also flashing from TWRP but could not find the file there (guess because it was not a .zip). Has to be in system/app folder.