Difference between a Morph & Theme? - Nexus One General

What's the difference? I've searched forever to try and understand how to install a theme...but no luck. While I was doing that...I stumbled upon MetaMorph.
what's the difference between the two? They are both themers, right?

While they both do basically the same thing in the end, they are a bit different.
A theme (update.zip) is flashed from recovery. They are made from a standard template. The creator replaces the images in the individual apks and once everything is done, they sign the file. When flashed, it replaces the apks that are on your phone now with the new, altered ones.
A morph is flashed from an app while the phone is running along in normal mode. A morph does not replace the apk as a whole, but rather just replaces the images that are included in the morph. In my own personal opinion, a morph is much easier to make. But that is just a presonal preference. Morphs do not need to be signed.

Related

[Q] picking and choosing what you want from a theme?

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.

Reflash a theme already installed

I was just wondering if there are a clever trick to reflash a theme already installed on the device.
In this particular situation I have changed some of the icons in the framwork-res.apk. I then copied them to the theme, wich is BrightSilence, and tried to flash it all over again. Result - bootloop.
So, is there any step you could do to circumvent this, or is the only option to reflash the ROM. and then the theme?
Thanks
Yes, just reflash a unmodified version of, in your case, BrightSilence or am i missing something?
Or revert to the nandroid you made before messing with the system partition.
The thing is that BrightSilence is already installed on the device, but now I want another set of icons. Flashing the theme again with the modified framework-res just result in a bootloop.
It seems there really is no shortcut, than to reflash ROM, then new theme.
Thanks anyway.
hallydamaster said:
The thing is that BrightSilence is already installed on the device, but now I want another set of icons. Flashing the theme again with the modified framework-res just result in a bootloop.
It seems there really is no shortcut, than to reflash ROM, then new theme.
Thanks anyway.
Click to expand...
Click to collapse
U are wrong.
Installing theme - means overwriting some files into new ones, not adding or removing some.
So if u changed framework file, flashed and got bootloop - u can flash theme again (overwrite bad file) and boot correctly.
Sent from my pocket using pen
mendozinas said:
U are wrong.
Installing theme - means overwriting some files into new ones, not adding or removing some.
So if u changed framework file, flashed and got bootloop - u can flash theme again (overwrite bad file) and boot correctly.
Sent from my pocket using pen
Click to expand...
Click to collapse
I do get that really. But what now if I want to apply a new framework-res? I know I can always nandroid my self out of a bootloop.
hallydamaster said:
I do get that really. But what now if I want to apply a new framework-res? I know I can always nandroid my self out of a bootloop.
Click to expand...
Click to collapse
U have to mod framework correctly and will not end in booloops.
Use Apk Manager to decompile, change, compile and sign framework-res.apk.
Do not push file via adb - use flashable zip.
Sent from my pocket using pen
mendozinas said:
U have to mod framework correctly and will not end in booloops.
Use Apk Manager to decompile, change, compile and sign framework-res.apk.
Do not push file via adb - use flashable zip.
Sent from my pocket using pen
Click to expand...
Click to collapse
But the framework-res is from the UOT, shouldn't that be packed/signed properly?
Well, I am going to try anyway, thanks!
EDIT: Tried to cook a new file, with the exact same framework-res I used earlier. Used UOT to cook, and worked perfectly. Thanks to mendozinas! ;-)

Making a CM7 "Theme Chooser" compatible theme?

I have been using the new CM7 theme Chooser and i like some parts of System, Androidian and Cyanbread, so I was wondering how easy it would be to combine parts of them?
Could I just unzip the apk, replace what i wanted from the other apk, re zip and install it?
Or would I need to do something special to get it to work?
Thanks
Stew
Sent from my Amiga 500 using Workbench
If you are only replacing the images that are already in either one of the themes, then all you would need to do is drag and drop your images into the theme with the correct name. if you want to add any images, then you would have to look at the source for the files to see how to add the images to the various .xml files that they would need to be added into. if you're just overwriting existing images, you should be able to resign it when finished, and it should work just fine.
How can you edit the xml?

Difference Between ODEXED and DEODEXED Files

WHAT IS AN ODEX FILE?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
HOW THIS WORKS
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
ADVANTAGES & DISADVANTAGES
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Source From www.addictivetips.com
This looks to be a copy and paste from the description here.
If you are not the original author its usually a wise idea to acknowledge the original author/source.
And optimized dex files (odex files) may also depended on the framework classes interfaces. This means that you may end up with bootloops or FCs if you change the interface of framework files. The odex files have therefore been given a signature that all files must match.
Deodexed apks can on the other hand be used on several roms as they may only be depended on the resources in the framework-res.apk file.
So you can have an odexed framework with deodexed apks! But if you want to change the interfaces in the Framework then it is easier to deodex all instead of re-odex all.
Sent from my GT-N7000 using xda premium
Thanks for it! For me more clear now.
I need to verify this, So on an ODEXED STOCK ROM, Can I make changes like
editings png's inside System APK files,
Decompile and compile framework-res.apk,
Make changes to the framework-res.apk to enable crt screen effect ... ?
Clears another thing up for me...
Thank you for your post.
Sorry guys for posting a stupid question, but i'm not clear on one point.
I have the htc one S [s3]. How can I understand if /system/framework/framework-res.apk (and/or) framework-htc-res.apk are already deodexed? (in a practical manner)
I mean...since is an apk and I'm not seeing any framework-res.odex are they already deodexed?
Can I straightly modify it?
Thx in advance!
Hi... Cant cant i something? So what is better of them?
Sent from my GT-N7000 using xda premium
Emothic_Reagan said:
Hi... Cant cant i something? So what is better of them?
Sent from my GT-N7000 using xda premium
Click to expand...
Click to collapse
Is not that one is better than the other. They have different characteristiocs. Odexed are smaller and faster while deodexed are easily customizable but needs more space.
Guys I still need somebody to answer my question...plz...anybody?

Tweak theme without computer

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...

Categories

Resources