Sometimes someone makes a theme you love, but you wish just one thing was different, or maybe, like me, you have a modded system with dark background, and you apply a theme with dark text on settings dashboard, etc, and you can't read the words. This is what I do about it, (screenshots - Dark Sense theme by @shehabskull). Maybe someone else will appreciate...
** Note - you may not use this method to modify someone else's theme, then re-post it as your own. Always give credit and get proper permission before using a developer's work.
I posted a similar thread a year and a half ago, but seems like Sony theme creator has changed since then, (can't say for sure since I've never used it, but the files and folders in recent themes seem different than they were back then).
This assumes you know something about apktool. If not, that's a different thread. I recommend using ApktoolX for decompile / recompile, and Mixplorer for editing.
1. Install ApktoolX - https://www.androidfilehost.com/?fid=673368273298927619 - and set it up, (check 'root' in settings, make apktool folder, copy framework files and import each one). Also copy whatever theme you want to mod to apktool folder.
2. Decompile theme apk. You will get a folder with a few files and folders in it. One of them is called 'assets', which contains a bunch of zip files. The zips are all apks with zip extension.
3. Make a temp folder somewhere and copy whatever zips in the assets folder you want to mod, (settings, systemui, etc). Change the file extension from zip to apk. Then go back to ApktoolX and decompile those. Now you can mod the values.
4. After making mods, use ApktoolX to recompile. When recompile is done, change the filename back to what it was originally, (whatever.zip). Then copy that zip into the original location in the decompiled theme apk, deleting the one that's already there.
5. Now go back to ApktoolX and recompile the theme. When it's done, you will get a filed called (whatever)_src.apk. Use ApktoolX to sign it, (click on the file and choose 'sign' from the menu). The new file can be installed normally.
Note - occasionally you can change something that will recompile and install just fine, but will cause systemui to crash or something. If so, just boot to recovery, and delete the theme from /data/app.
Also - some themes might have a certain asset you like that another theme doesn't have. You can add them, but you have to modify android manifest xml accordingly, (look at it and you'll see). They're not always cross-compatible, though.
Nice guide.. Keep it up ?
Sent from my E6633 using Tapatalk
Related
hey guys,
just curious if you could some how choose what you want to have in the theme and if you can mix themes, if so how? for example i installed epic unleashed 2.5 and i loved the battery indicator and i installed the 982dark theme for the droid 2 and it's great with a couple exceptions... personally I think i'm going back to the Kangerade Blue for the Droid2 but i still want the original battery indicator from the epic rom.
thanks
-Jim
As far as I know, we don't have this level of customizability on D2 as of now. However, we are starting to see this. Like this, for example:
http://www.xda-developers.com/forum/showthread.php?t=784855
I used to use a ROM for the old Touch CDMA that did in fact have this level of customizability - there was a thread that had pretty much every individual piece available to customize. But again, I haven't seen this for D2 yet.
damn... ok well hopefully we get there eventually... until then I'll just stick with the theme I overall like the best lol
I have this problem with themes too, and the solution is simple. Take the theme that you are going to install, open the zip, and just remove the apps, fonts, or framework you don't want altered.
For example, I despise the font changes alot of themes force on you. Makes my twitter streams unreadable, so I just open the zip, and delete the fonts folder. That way it won't override the stock fonts. I've never tried deleting individual files, but that method should work for icons as well.
Just open the framework.res (rename the .res to .zip or .rar if you have WINRAR installed, or just use the "open with or choose default program" option) goto the res folder, then drawable-hdpi and just delete the battery images from the folder before you install the theme.
An easy way to do this, is to make a copy of the zip first so you'll have a proper version of the theme to view. Open it up with winzip, WINRAR or whatever archiving tool you use on your computer. Then browse the files in thumbnail view to find the images you want to get rid of. Make a note of their file names, then open up the other zip, locate the files in question, right click, delete em.
I'm not quite understanding what you're saying Natty
For example, right now I'm using the Revolution Remix theme. If I unzip it, there are 2 folders: META-INF and system.
Under system there are 3 folders: app, fonts, and framework. In the framework file there are 2 .apk files (framework-res.apk and blur-res.apk) and the systems.jar file.
In the app folder there are all .apk files, and the font folders are all .ttf
I'm not seeing any pictures to be deleted, unless you mean to actually delete the respective app .apk files (for example, I dislike the Talk app icon and the Market app icon)
Edit:
So I guess you're supposed to just rename the .apk to .zip, but for some reason the files are not allowing me...Could these files be locked? (I don't know if that's a stupid question or not lol)
Edit #2:
So I got 7zip (yay for google), but when I go to open the .png files they don't want to open...an application opens to view them, but it just sits there saying "loading"
Natty_lite said:
I have this problem with themes too, and the solution is simple. Take the theme that you are going to install, open the zip, and just remove the apps, fonts, or framework you don't want altered.
For example, I despise the font changes alot of themes force on you. Makes my twitter streams unreadable, so I just open the zip, and delete the fonts folder. That way it won't override the stock fonts. I've never tried deleting individual files, but that method should work for icons as well.
Just open the framework.res (rename the .res to .zip or .rar if you have WINRAR installed, or just use the "open with or choose default program" option) goto the res folder, then drawable-hdpi and just delete the battery images from the folder before you install the theme.
An easy way to do this, is to make a copy of the zip first so you'll have a proper version of the theme to view. Open it up with winzip, WINRAR or whatever archiving tool you use on your computer. Then browse the files in thumbnail view to find the images you want to get rid of. Make a note of their file names, then open up the other zip, locate the files in question, right click, delete em.
Click to expand...
Click to collapse
I'm not sure if that would work for png files inside of framework-res.apk.... I would think that would cause a bootloop
It will work for the fonts folder and for any app you dont want to get altered in /system/app.
So just remove the app from the system/app folder? That's what I'm somewhat confused about.
DGalt11 said:
So just remove the app from the system/app folder? That's what I'm somewhat confused about.
Click to expand...
Click to collapse
If you dont want a themed app to overwrite your current app, then just delete the apk file from /system/app inside of the themed zip file. Or if you dont want a themed font to overwrite ur current font, then just delete the fonts folder inside of the themed zip file.
But deleting files from inside the framework-res.apk... I doubt that would work.
Any idea how to edit the Market? It's not under system/app.
Edit: Never mind, didn't know "market" was actually vending.
removing the png specifically will cause an issue however if you have another png that you would like you use you can just replace this and it will not overwrite then.
theecho said:
removing the png specifically will cause an issue however if you have another png that you would like you use you can just replace this and it will not overwrite then.
Click to expand...
Click to collapse
yeah that's what I did. just copy / replace.
DGalt11 said:
yeah that's what I did. just copy / replace.
Click to expand...
Click to collapse
So did the install go smoothly without the M logo freeze or bootloops? I hope so.
I'm Glad others came to pick up my pieces, lol. That's why this forum is so great. To summarize for those joining the party late, just take the .png's from another theme, and replace the unwanted images with those. Don't just delete them
It's working fine, no reboots or stuck in boot loop or anything. Didn't even need to wipe data / cache.
Now if I could just figure out a way to remove the font they used from just the browser and my apps and nothing else (b/c it looks really nice in the notification bar, the menus, on the widgets, etc. but makes reading email or reading stuff in the browser really difficult) I'd be golden.
So I started removing one font at a time, nothing changed.
So I removed the whole fonts folder, and still didn't get any change in the fonts in the theme.
Ideas?
Thats exactly why I got rid of it. What good is a font that you can't read? I'm not sure if you can just remove it from the statusbar specifically.
Remember, removing them prevents it from changing the fonts that are currently installed. So if they're already different, then they'll just stay that way when you install the edited version of the theme. You're gonna need to flash to the stock theme first, then flash to another theme (like the NexTheme for example) with all the edits that you made.
I see, so those files in the fonts folder aren't actually fonts. They're more like...where the fonts you want get stored. So you need to actually replace the file.
From what I've figured out, the majority of the fonts are derived from DroidSans. If you change that, you change most of the fonts including those in the apps, widgets, etc. So is there no way to specifically change a font in, lets say, apps vs. widgets? And what are all those other files in the fonts folder for
I have no idea. I just deleted the whole folder prior to installing to ensure I kept all stock fonts.
I've figured out all apk files are really just zip files, but why am I not able to unzip the framework-res.apk file, edit the images within, then save it again without causing my phone to hang on boot?
Is there some step I am missing? I've tried rezipping with normal compression, store only, and only photoshopping and resaving a single image within the apk and still it fails.
How are images edited and updated? What am I missing?
I use apkmanager myself for most theming. You might look into it
Sent from my SCH-I500 using XDA App
An apk is a zip, but it's a *signed* zip
Sent from my SCH-I500 using XDA App
Here is the way I do it. I use 7zip to do this and I think it is the only program that can do it.
The way you can do it is to extract the drawable-hdpi folder within the framework-res.apk then do all your edits and save them with the exact same file names. Then you can go back into your framework-res.apk and drag and drop the drawable-hdpi folder back in and it will over write the original ones. Now just hit the Up (like to move up a directory) button until you see the message "framework-res.apk has been changed. Update it in the archive?" then click yes. Now you can put it on your phone without force closing. If you were just editing framework-res and it was not within another .zip file then you won't get that message and that is fine.
APK Manager.
You can use extract/zip (2/3) for image-only edits, but you need to decompile/compile (9/11) to mess with xml files.
Do *not* sign system apks (like framework-res.apk). Do sign other apks.
Btw, this is in the wrong forum.
(Next step: learn about the update.zip packaging script. Remember to name it something besides update.zip afterwards, because on the Fascinate we're installing everything through Clockwork, which should be the only file actually called update.zip.)
s44 said:
APK Manager.
You can use extract/zip (2/3) for image-only edits, but you need to decompile/compile (9/11) to mess with xml files.
Do *not* sign system apks (like framework-res.apk). Do sign other apks.
Click to expand...
Click to collapse
Oooh! I didn't know this app made xml's editable. That opens up a whole new set of theming fun. I can't wait to release my new theme. It should be well received (I hope)
Btw, this is in the wrong forum.
Click to expand...
Click to collapse
I considered putting this in Themes, but this was a theme development question, so here it ended up. If the Theme and Development forums ever hook up and have a few drinks, then spawn a sub-forum, Theme Development, I assure you it would have been a much easier decision to make
Thanks everyone for helping me out. My last time playing with a phone is an old WinMo 5 device. Anroid seems limiting in it's own ways (no dedicated theme files (can't update without losing the apk theme), but much better for customizing for a 'look' of the OS.
I decided to detail and share how I used 7zip to Theme my favorite ROM. Im doing this because I found it a bit tough to find a detailed guide that contained all the steps. Hope this will help some people who would just simply like to change a battery or signal icon, or whatever.
Have you ever seen a ROM that you really liked the icons but it was not for your phone. Well I did so heres what I did.
1. Download 7zip.
2. Download your current ROM, and the ROM which contains icons you like.
3. Right Click on your current ROM, choose 7zip and choose" extract to "what ever your rom is called"". This will create a folder with contents of your ROM.
4. Do the same for the ROM that you may want to take icons from.
5. Now start opening up the folders. I like to keep one ROM on one side of the screen and the other on the other side. Depending on whether the two roms are for the same phone will determine whether similar files will be in the same location. For the most part you will be opening framework_res.apk and systemui.apk.
6. Opening these apk's is as simple as following step 3 again. Right click apk, choose 7zip, extract to whatever apk is called.
7. Go into the folder of the apk, go to res, go to different hdpi folders, there may be a few. I found it helpful to have both roms open at the same time. Looking for icons of the same name.
8. So you've found the icons you want to change. Once you are ready to copy them from one rom to the other, you must be certain they have the same name, if they dont, then you must change the name of your new icons to match the ones you plan on replacing. Do this before copying them. When you copy them over its important that your computer ask you if you want to replace the file of the same name. That means it does in fact have the correct name.
9.This is where I got confused, putting it back together again. So here is what you do. Back out of the folder that you just changed all the pngs in. Lets say its drawable hdpi. Keep this drawable hdpi folder handy cause you will need it in a moment. Now open up the folder which contains your ROM in a seperate window. Lets say we are changing stuff in the systemui.apk. Navigate to the original apk for systemui, not the new folder of the same name.
10. Right click it, Choose 7zip. But this time select open archive. Now in archive navigate into the res folder and you will see drawable hdpi.
11. Right click it. and delete it. Now remember I said to keep the other drawable hdpi folder handy....drag and drop it into the archive to replace the one you just deleted. Now close the window. Do this for as many system apks you choose, most common are like I mentioned earlier framework-res and systemui, but you may want to change things in settings, dialertabactivity, contacts....etc.
12. Now you want to put these newly themed apks back into the original rom. Its easy. Keep the newly themed apks handy.
13. Right click on the original rom zip, choose 7zip, choose open archive. Navigate to the apk you want to replace. Delete it. Now drag and drop the newly themed one into the archive. Repeat this process for all the apks you may have changed.
14. Close the archive window and install the newly themed zip in cwm. You may want to add something like a V1 onto the end of the newly themed rom, that way when you copy it onto your sd, you can keep the original on there as well.
Hope this will help someone get there rom exactly how the like it...and if it did...hit thanks.
Lets say you are running cm9 with theme Chooser but you don't like some of the icons but more less like the theme.
Copy the apk from your data app folder using root explorer or whatever you are using...paste to your SD....copy it too your computer.
Use 7zip the same way you do with a system app. But this time at the point where you are in the archives delete the Meta folder also. Don't replace, just delete it. Now close 7zip.
Next you will need a tool called autosign, just Google it. With this tool you will drag and drop your newely themed apk into it and run it. Its very easy you will see, the result be an new signed apk being produced. Rename it back to original and move your modded apk back to your SD. By now you should have uninstalled the original from your phone so that you can install this one.
Remember if this apk ever has an update on the market it will revert back and you would need to mod the new version.
Hope this helps. If it does hit thanks.
vanisleryan said:
I decided to detail and share how I used 7zip to Theme my favorite ROM. Im doing this because I found it a bit tough to find a detailed guide that contained all the steps. Hope this will help some people who would just simply like to change a battery or signal icon, or whatever.
Have you ever seen a ROM that you really liked the icons but it was not for your phone. Well I did so heres what I did.
1. Download 7zip.
2. Download your current ROM, and the ROM which contains icons you like.
3. Right Click on your current ROM, choose 7zip and choose" extract to "what ever your rom is called"". This will create a folder with contents of your ROM.
4. Do the same for the ROM that you may want to take icons from.
5. Now start opening up the folders. I like to keep one ROM on one side of the screen and the other on the other side. Depending on whether the two roms are for the same phone will determine whether similar files will be in the same location. For the most part you will be opening framework_res.apk and systemui.apk.
6. Opening these apk's is as simple as following step 3 again. Right click apk, choose 7zip, extract to whatever apk is called.
7. Go into the folder of the apk, go to res, go to different hdpi folders, there may be a few. I found it helpful to have both roms open at the same time. Looking for icons of the same name.
8. So you've found the icons you want to change. Once you are ready to copy them from one rom to the other, you must be certain they have the same name, if they dont, then you must change the name of your new icons to match the ones you plan on replacing. Do this before copying them. When you copy them over its important that your computer ask you if you want to replace the file of the same name. That means it does in fact have the correct name.
9.This is where I got confused, putting it back together again. So here is what you do. Back out of the folder that you just changed all the pngs in. Lets say its drawable hdpi. Keep this drawable hdpi folder handy cause you will need it in a moment. Now open up the folder which contains your ROM in a seperate window. Lets say we are changing stuff in the systemui.apk. Navigate to the original apk for systemui, not the new folder of the same name.
10. Right click it, Choose 7zip. But this time select open archive. Now in archive navigate into the res folder and you will see drawable hdpi.
11. Right click it. and delete it. Now remember I said to keep the other drawable hdpi folder handy....drag and drop it into the archive to replace the one you just deleted. Now close the window. Do this for as many system apks you choose, most common are like I mentioned earlier framework-res and systemui, but you may want to change things in settings, dialertabactivity, contacts....etc.
12. Now you want to put these newly themed apks back into the original rom. Its easy. Keep the newly themed apks handy.
13. Right click on the original rom zip, choose 7zip, choose open archive. Navigate to the apk you want to replace. Delete it. Now drag and drop the newly themed one into the archive. Repeat this process for all the apks you may have changed.
14. Close the archive window and install the newly themed zip in cwm. You may want to add something like a V1 onto the end of the newly themed rom, that way when you copy it onto your sd, you can keep the original on there as well.
Hope this will help someone get there rom exactly how the like it.
Click to expand...
Click to collapse
Thanks Vanisleryan for this. I always wondered exactly how to do this!
Subscribed to it and looking for more guides...
-----------------
I9000 powered by RemICS-JB
If I understand your tutorial, we modify the ROM apks/theme before flashing the whole ROM on phone ?
But what if we just want to adjust some icones without re-flashing the complete ROM ?
I may not have really understood tour tutorial I try to do my best with english language lol, anyway thanks for it
That's how I do it, but yes you could just theme one system app like say contacts. Delete it using root explore and then reinstall it after. You may have a few force closes but everything should be fine after you do a reboot.
Personally I like having the whole rom themed so its easy to get back to reinstall if go and try some other rom. To each there own..there is always more than one way to do just about anything.
JW1 with Dmore 3.1, personally themed to look like Omega black and blue.
Updated second post how to change a market app and reinstall on phone.
JW1 with Dmore 3.1, personally themed to look like Omega black and blue.
I don't spend lots of time at the computer, so I like to find ways to do as much as possible on the phone. One thing I've found is that every theme I try has at least one element I wish I could change, as much as I like it overall. I don't know enough to make my own theme, but I found a way to change elements of the theme without using a computer. I'm sure this is not news to many of you, but I figured there might be other non-experts like me out there who might appreciate it.
1. Download Apktool apk file below, install it, open it, {it will automatically update on the first use for some reason}, go to settings and check 'device has root', {leave other settings alone}, then close the app, reopen and grant su access.
2. Make a directory in storage somewhere called 'apktool', {or something}, and copy the following to it: /system/framework/framework-res.apk, /system/framework/SemcGenericUxpRes/SemcGenericUxpRes.apk, and whatever themes you want to mix and match.
3. Open apktool app, navigate to apktool directory, and import the framework files by tapping on each one and selecting 'import as framework'. When done, you can then tap on the theme apk files and select 'decompile all', and they will be decompiled into folders called {appname}-src. Go into the folders with a root explorer and change what you want, then go back to apktool, and tap on the folder you want and choose 'recompile'. When recompile is done you end up with an apk called '{appname}-src.apk'. Tap on that and choose 'sign'. When done you will get an apk called '{appname}-src-sign.apk, which you can install normally.
-Notes, questions-
- I'm currently using Z1c stock .236 deodexed rom. This app should work on other phones, roms, versions, etc, but I can't say for sure. What I know is that there are at least 5 versions of the app out there, {Google search for 'apktool 4.4' or '5.2', etc}, and it seems like each one works better on certain versions of Android. There are also configurable settings. If you have a different phone or rom, etc, you just have to mess around with it.
- This app should work as normal apktool for modding systemUI and framework, but I can't get it to recompile on LP, but only on Kk. Decompile works fine, but on recompile it complains about lacking resources. I don't know what file it wants. If someone can figure it out that would be great.
-If you don't know what files to change, all I can say is that I didn't either. Start with the obvious stuff, like navbar keys, and see how brave you get. Just make sure your file names are changed, since every app doesn't use the same names for the same files. As long as you work with copied files you have nothing to lose. If something is wrong with your modifications, then it won't recompile correctly, and you'll just get an error message, so you can't really install something that's going to mess up your phone.
- This also works for changing appearance of other apps, not just themes. See my recent posts in the Naked Browser thread for examples. However, sometimes it won't be able to decompile an app, and there's probably nothing you can do. I think the way apktool works is based on how the app was created. If something is not compatible, it just won't work.
- You don't have to decompile just to pull files out of an apk, but you do need an app that can do it. I use Rom Toolbox Pro. There may be free ones, {maybe Mixplorer}. I think you can just change the extension to zip and extract normally. However, some files and folders are not the same zipped in the apk as they are when decompiled.
File link - https://drive.google.com/file/d/0B5E7sFT1phjoS003R0tkM21qUlk/view?usp=docslist_api
Nice tutorial bro :good:
Thank you very much!
Sent from my D5503 using XDA Free mobile app
Since sharing themes with others' work is not kosher, (http://forum.xda-developers.com/crossdevice-dev/sony/share-frankentheme-t3282360), I figured I'd add a little more here for anyone's personal use. In general, here's what I've found with these themes:
- Within each apk there is an 'assets' folder, which contains zip files. Each zip file mods a certain aspect of the ui. For example, there will be one for settings, which contains the little pictures next to each settings option, (personalization, with the little rainbow, etc). You can experiment with simply swapping these around with different themes. However, if you want to add a settings zip, for example, to a theme base that does not already have a settings zip in it, you have to mod the main android manifest file in the top level of the apk. If you want to see how it needs to be modded, look at one that has it already. It's pretty obvious, since it's the same entry for each zip, but with the corresponding zip name. You can also extract these zips and replace files in them and rezip. Keep in mind, though, that there are some things that aren't that simple and just won't work.
- There are some things that are coded in, and can't be changed, (as far as I can figure out), like accent color. It seems like accent color just comes with the 'android' zip, and there's nothing you can do about it. As a workaround, you can find an 'android' zip with a color you like, and change out the other files from the zip you wish you could change the accent on. Again, sometimes it just won't work and you won't know why.
- Some themes don't follow this pattern at all. I haven't learned much about them yet.
Screenshots show examples I've used...
A very simple guide on removing the disgusting shadow effect on the homescreen, plus changing the icons in the navbar.
EDIT: Useless guide. Every change can be made using themes. Coming from a N5 confuses me too much. Thanks @vobiscum
Since usually we would make this changes in xposed, and since xposed is not aviable (for now, I hope), we need to change some png images in the SystemUi.apk container located in #/system/priv-app/systemui folder.
This is just one way to achieve our goal, I made it supereasy for beginners.
Attention: don't extract and compress again any system apks with 7zip or similar programs: it will result in a bootloop. Just replace the needed images directly in the container. If you need to do something else, google APK-Tool.
1)Get a root explorer from googleplay. I'm using FX File Manager (it needs a plugin for root privileges);
2)Go to #/system/priv-app/systemui folder and copy systemui.apk;
3)Paste it in a pc-redeable partition or in the external sd;
4)Get the file and extract it with 7zip or winrar. Don't delete the systemui.apk imported.
5)Navigate in the excracted folder and get the files you want.
---Gradients are located in res/drawable-xxhdpi-v4, their names are: nav_background.9.png and status_background.9.png.
---Navbar Icons are located in res/drawable-xxhdpi-v4 and drawable-ldrtl-xxhdpi-v4.
6)Open the files with Photoshop or Gimp and edit them on your taste. Want a ghost navbar? Do it.
7) Drag and drop the modified files in the Systemui.apk according to their original locations;
8)Put the modified file on your sd/phone;
9)IMPORTANT: DO A BACKUP VIA TWRP
10)Copy-paste via root-explorer the SystemUi.apk back in place. It may be requested to remount the folder in r/w.
11) DONE! If you get some lag/problems, just reboot. If it bootloops, go for twrp.
nice work there, some genuinely earned thanks :good:
it will result in a bootloop
Click to expand...
Click to collapse
i guess this is to do with the odexed apk's..?
sminki said:
i guess this is to do with the odexed apk's..?
Click to expand...
Click to collapse
I think that is to do with zipaligning, but don't ask me further, I'm pretty noob about this. I know that many apks works well even after they are recompiled as a zip; but some resources need a particular procedure. This way avoids any problem due to recompiling.
For editing xml, I generally use APKtool and replace the original META-INF folder and AndroidManifest.xml, this is the proper way to recompile it (http://forum.xda-developers.com/showthread.php?t=2203166).
Smokehrbar88 said:
I think that is to do with zipaligning, but don't ask me further, I'm pretty noob about this. I know that many apks works well even after they are recompiled as a zip; but some resources need a particular procedure. This way avoids any problem due to recompiling.
For editing xml, I generally use APKtool and replace the original META-INF folder and AndroidManifest.xml, this is the proper way to recompile it (http://forum.xda-developers.com/showthread.php?t=2203166).
Click to expand...
Click to collapse
Man made a theme is too easy no need root
https://plus.google.com/+MassimoBotta/posts/27CAAv91Lth
vobiscum said:
Man made a theme is too easy no need root
https://plus.google.com/+MassimoBotta/posts/27CAAv91Lth
Click to expand...
Click to collapse
So you can change navbar icons with a theme? Well, damn me. Damn Haweii. How about other pngs in SystemUi.apk (for example the gradient?)
Not useless, and to be honest, I prefer getting my hands dirty pulling things apart rather than relying on other people, gives you a better understanding of how things work