{Tool}MetaMorph Builder v3-Linux Only [8-5] - Android Themes

Lots of people have asked me how to put together a theme control file, and its actually VERY easy but this tool makes it even easier.
this is an example of a theme control file created by this tool
Test-Theme.xml
Code:
<themename>Test-theme</themename>
<author>tater-salad</author>
<phone>Android Phone Codename Hulk</phone>
<rom>CM 8</rom>
<item>Phone.apk</item>
<path>/system/app<path>
<item>framework-res.apk</item>
<path>/system/framework</path>
<description>Requires reboot</description>
<item>FM-Reciever.apk</item>
<path>/data/app<path>
<item>My-custom-app.apk</item>
<path>/data/app<path>
run the mm-builder script and follow the on screen directions. you will of course need to put the correct replacement files in their respective directories, but this script will make all the right folders and set up your theme.xml for you. Bash scrip means linux only. This is also a super easy script, so i may get a batch version soon.
You can extract this file to any directory
All thanks to Stericson. W/O him we wouldnt have a metamorph app to begin with
################################################## ################################################## ##
v2
includes these additions
Code:
mkdir $app
mkdir $app/res
mkdir $app/res/drawable
mkdir $app/res/drawable-mdpi
mkdir $app/res/drawable-land-mdpi
mkdir $app/res/drawable-port-mdpi
these are the commonly used directories when it comes to theming. now all the sub-folders should be set up right.
v3--fully functional
adds 2 "/" characters. theme was invalid w/o them

Related

{TOOL}MetaMorph Builder v2-Linux Only[8-5]

This could be considered part of the development forum or the apps and theme forum depending on how you look at it. if you have an issue, just click the report button and request that it be moved. no need to flame and troll and post that you reported it, just do it and move on.
Lots of people have asked me how to put together a theme control file, and its actually VERY easy but this tool makes it even easier.
this is an example of a theme control file created by this tool
Test-Theme.xml
Code:
<themename>Test-theme</themename>
<author>tater-salad</author>
<phone>Android Phone Codename Hulk</phone>
<rom>CM 8</rom>
<item>Phone.apk</item>
<path>/system/app<path>
<item>framework-res.apk</item>
<path>/system/framework</path>
<description>Requires reboot</description>
<item>FM-Reciever.apk</item>
<path>/data/app<path>
<item>My-custom-app.apk</item>
<path>/data/app<path>
run the mm-builder script and follow the on screen directions. you will of course need to put the correct replacement files in their respective directories, but this script will make all the right folders and set up your theme.xml for you. Bash scrip means linux only. This is also a super easy script, so i may get a batch version soon.
You can extract this file to any directory
All thanks to Stericson. W/O him we wouldnt have a metamorph app to begin with
######################################################################################################
v2
includes these additions
Code:
mkdir $app
mkdir $app/res
mkdir $app/res/drawable
mkdir $app/res/drawable-mdpi
mkdir $app/res/drawable-land-mdpi
mkdir $app/res/drawable-port-mdpi
these are the commonly used directories when it comes to theming. now all the sub-folders should be set up right.
So you are saying this will create the res folder and other folders needed?
ya.
it works by reading the user input.
you specifiy what apps you will be morphing, and the script adds the necessary lines to the .xml and creates the folders for them too.
EDIT:
nevermind, i see what you mean. it doesnt set up the sub-folders.
let me work that up and ill have a new version up-if you want to use before then you will need to make the sub-directories yourself.
ban_dover said:
ya.
it works by reading the user input.
you specifiy what apps you will be morphing, and the script adds the necessary lines to the .xml and creates the folders for them too.
Click to expand...
Click to collapse
EDIT: Since this is Andrizoid, for all I know its a virus you stole from someone and put your info in.
droidkevlar said:
Very cool. If you get a winblows version out, this will make it very easy to change icons for all apps. Nice work!
Click to expand...
Click to collapse
as i said in the other thread, batch is pretty alien coming from bash, but im sure it can be done pretty easily.
it is really easy to install ubuntu on a VB though. i have wyndoze on a VB with Ubuntu as the host, so thats why all my stuff is bash haha.
once i start messing aroud on my VBox and get a feel for batch ill start working on it. its a really simple script if you look at it so it shouldnt involve too much hassle.
adding
Code:
mkdir $app
mkdir $app/res
mkdir $app/res/drawable
mkdir $app/res/drawable-mdpi
mkdir $app/res/drawable-land-mdpi
mkdir $app/res/drawable-port-mdpi
drawable, drawable-mdpi, drawable-port-mdpi, and drawable-land-mdpi seem to be the only onces ever used in a theme-i checked like 15 of them that i have saved. let me know if i missed any commonly used folders and ill be sure to get them in soon.
noticed that i missed two "/" characters in the script that will cause the them xml to not run right. ill fix it in a minute. just look at the other thread under development though-i dont want 2 threads
droidkevlar said:
EDIT: Since this is Andrizoid, for all I know its a virus you stole from someone and put your info in.
Click to expand...
Click to collapse
Are you serious? That's just stupid, leave him alone.

[MOD] Disable menu unlock for lockscreen

Since the issue was brought up in this thread, I decided to modify the necessary file to make this change happen for a bunch of themes that are available here.
Theme creators, feel free to uses the updated files in your respective themes if you feel users would appreciate this change. I'll also take down the file(s) if you wish as well.
The change will make it so that pressing the menu button while on the unlock screen will not unlock the phone. By default, this seems to happen. All files are for DJ05 and DJ05 themes. If you have a request for this for the theme/rom you are using, feel free to post here and I'll do my best to create an updated file for you.
The files are all CWM flashable zip files. Be aware that after applying the change, the first reboot will take significantly longer than normal, but subsequent restarts should be normal. As always, be sure to make a backup before applying this just in case. I have not tested all of these, but the same change was made to all files for each theme. Please post back with any issues.
Available Files
Stock DJ05
Gingerbread Grey theme
Gingerbread Black theme
AOSP Theme
Darkstart Theme
Incognito Remix Theme
Matted Blues Theme
NexTheme
SuperDark Theme
DOWNLOAD HERE
If you wish to perform this change yourself, you will to download the baksmali.jar and smali.jar files from here and then use the following steps to perform the change (adapted from this post)
1. Use adb to pull out /system/framework/android.policy.jar
2. Type the following command
Code:
java -jar baksmali.jar -x android.policy.jar -o android.policy
3. Open LockScreen.smali and find the .method shouldEnableMenuKey()
4. Change "return v4" so it reads "return v6"
5. Save LockScreen.smali
6. Use the following command to compile the changes back
Code:
java -jar smali.jar android.policy -o classes.dex
7. Copy the newly made file classes.dex into android.policy.jar
8. Push the file to /sdcard
10. On your phone, do:
Code:
$ su
# cd /sdcard
# cp android.policy.jar /system/framework/android.policy.jar
# sync
Thank you so much for doing this!
Does this work for other lock screens that can be dled from the market?
jamesbdh said:
Does this work for other lock screens that can be dled from the market?
Click to expand...
Click to collapse
I have no idea. If the lockscreen changes the file /system/framework/android.policy.jar then odds are, applying any of these updates will break the market lockscreen. It all depends on how they make the change.
Good work. Does there happen to be an option buried in there that will enable vibrate instead of sound off?
good day. From the Fascinate sporting the XDA app.
chopper the dog said:
Good work. Does there happen to be an option buried in there that will enable vibrate instead of sound off?
good day. From the Fascinate sporting the XDA app.
Click to expand...
Click to collapse
I never even thought of looking for that. Thanks for the idea, I'll look into it and see if it can be done

[HOWTO] Cook your custom rom for LG P500

Hi there, we are going to use excellent dsixda's HTC Android Kitchen to cook our custom ROMs for LG P500. The list of the things we are going to need:
Original ROM (Check this thread)
LG Utils 0.4.2 (Check this URL)
DzDecryptor v1.0b(Check this thread)
Cygwin (Check this URL
Unyaffsmbn (Check this thread)
Dsixda's HTC Android Kitchen (Check this thread)
Note: I have a "romcooking" folder on my home (C:\Users\Patricio\romcooking), inside i have all the utils needed, and the .kdz file for the stock ROM. I recommend to use tab to complete filenames since they are too long.
First we need to get a dz from the kdz (original firmware), extract LG Utils 0.4.2 and open KP500-Utils-EN.exe (You need to run this as administrator, or else you are getting an empty .cab file), select the I option (Extract files from KDZ file), and type the route to your .kdz file (Mine is C:\Users\Patricio\romcooking\V10A_00.kdz). Now, you must have a V10A_00.cab (Or another name, it depends on the stock rom you downloaded), open it with a extractor like 7zip or similar and extract the file "LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" or similar to our romcooking folder.
Then we are going to uncompress the .dz with DZDecrypt (Press Win + R, type cmd and enter, then you cd to the folder where DzDecrypt is located (ex:
Code:
cd C:\Users\Patricio\romcooking\DZDecryptor_v1.0b
then we type:
Code:
DZDecrypt.exe "C:\Users\Patricio\romcooking\LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" C:\Users\Patricio\romcooking\stockrom
This is going to create a "stockrom" folder in our original romcooking folder, you are going to see a lot of files in the stockrom folder, the important ones are boot.img and system.mbn (DZDecrypt should have merged your system.mbn_0, system.mbn_1 and system.mbn_2)
We need to install cygwin, open the setup.exe, just keep hitting next until you are on the select packages screen, go to "Devel" menu and select to install gcc, gdb and make, in "Interpreters" check perl, in "Archive" check zip and unzip, in "Web" check wget, in "Editors" check nano and vim and in "Utils" select cpio, util-linux and ncurses. Make some tea and wait for the cygwin install to finish and we are ready to go to the next step.
We are going to compile unyaffsmbn, copy the extracted files from unyaffsmbn, system.mbn and boot.img to C:\cygwin\home\Patricio, now fire up cygwin and compile unyaffsmbn with:
Code:
gcc -o unyaffsmbn unyaffsmbn.c
Now uncompress system.mbn, delete symlinks of bin/ and zip everything with:
Code:
mkdir system
cd system
../unyaffsmbn.exe ../system.mbn
find bin -type l -exec rm {} +
cd ..
zip -r stockrom.zip boot.img system/
We are ready to go to the kitchen (We have a stockrom.zip on C:\cygwin\home\Patricio, remember that)
Now we are going to use dsixda's HTC Android Kitchen, we need to have installed JDK. After we have downloaded and uncompressed the kitchen (Mine is in C:\cygwin\home\Patricio\kitchen), we need to put the ziped file we got in the previous step into the original_update folder of the kitchen. We are ready to go! fire up cygwin and cd to the kitchen location and exec ./menu , select option 1, you should see the zip file, put the number of it, and you are ready to go (It will create a WORKING_XXXXXX_XXXXXX folder, you can modify the files in WORKING_XXXX_XXXXX/system, add APKs, modify the apns file, etc).
This command also gives us a lot of options for our rom: enable root, add busybox, deodex our files, zipalign, etc. If you are going to edit text files, use an editor like Notepad++ or any other program that can open/edit/save files in linux compliant style. It's pretty easy to use the kitchen, just check the official thread for options or help
The common options i use are:
Add root permission (option 2), press f when asked and you are done
Add Busybox
Change name of the rom, easy cake
Advanced options, press 0
Add /data/app functionality
Add Apps2SD
Add custom boot animation functionality
Deodex files in your ROM
And Finally: Zipalign all *.apk files to optimize RAM usage
That should do the trick, when you are ready to cook your rom, just type 99, wait for it to build and it should be in the OUTPUT_ZIP folder in your kitchen folder.
Took info from this thread (About decompressing .dz and .mbn, and making it to work with the kitchen), and info from ruigui and tritant in this thread. The awesome android kitchen by dsixda. Sorry if i forgot to mention any work, just post it or pm me
If you have anything you want to add to the guide, just post it
You don't need to dual boot to linux. It can be done with cygwin.
When you follow dsixda's guide to install kitchen, do as said but don't install cygwin from that guide.
Instead, download from official site, choose default options, but add these packages (it will be compliant with kitchen and give a little extra funcionality):
Devel: gcc, gdb, make
Interpreters: perl
Utils: cpio, util-linux, ncurses
Archive: zip, unzip
Web: wget
Editors: vi, nano
Good guide, nicely done
EDIT:
In my wife's machine (using windows 7 64bit. i'm without computer, for now....), i've installed cygwin as said above.
Then added two folders to my home dir:
kitchen and unyaffsmbn
In kitchen, use the kitchen
In unyaffsmbn, copy the files from unyaffsmbn.zip to that dir, then compile it there
EDIT2:
If you edit text files under windows, USE NOTEPAD++, or any other program that can open/edit/save files in linux compliant style.
There are differences in Windows and Linux when ENTER is pressed, and you'll have issues when trying to flash or run your custom ROM
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Awesome bro, I can try to make custom rom with indian version, ty.
vinnux said:
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Click to expand...
Click to collapse
you shouldn't get three system.mbn files, did you used the 1.0b of DzDecryptor? when i used it, it said something about merging, i think that it gets the three files and then combines them to get a proper system.mbn
I used the downloaded version from the link you posted. At least I guess... :/ Well I'm going to try again soon! Thanks a lot again for your guide!
Sent from my LG-P500 using XDA App
Other methode for exctract mbn file, not need to connect the phone.
Windows only....
(1) Download LG-Utils 0.4.2: http://www.assembla.com/spaces/ks360...tils-0.4.2.zip
(2) Run KP500-Utils-EN.exe (or whatever language you prefer out of the available choices) and select I to extract the KDZ.
(3) Open the resulting CAB file and extract the DZ file.
(4) Download DZExtract: http://www.frenchcoder.com/upload/DZExtract-V0.2.zip
(5) Use DZExtract to extract the MBN files:
DZExtract -x GW620RAT-V10c-OCT-21-2009-RGS-CA_DZ+0.dz C:\extractedTo\
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
So.... You MUST compile unyaffsmbn first. Only then you'll have an "executable".
Code:
gcc unyaffsmbn.c -o unyaffsmbn
Then copy system.mbn to unyaffsmbn folder.
After that, do:
Code:
cd PATH_TO_UNYAFFSMBN
./unyaffsmbn system.mbn
You missed the ./
You can download lg utils from here
tuxcomputing said:
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
Click to expand...
Click to collapse
'course I compiled
of course your method worked and the one in the first post didn't...
exist only a windows version of dzextract?
ioshi said:
exist only a windows version of dzextract?
Click to expand...
Click to collapse
couldn't find a linux version, sorry.
btw, i'm rewriting the guide, hope to update it soon
please add the compiling method from ruigui (in the previous page). For some reason that's the only way I was able to compile on Ubuntu 10.
Cheers
It was a typo in first post (he switched file to be used in gcc).
Give the man some time to reorganize his thread
I did not mean to be rude by any means!
I appreciate the effort to create the how-to! Hopefully people will read the thread if they get stuck and use the right commands so that they don't abandon the idea of creating their own ROM
I also didnt want to call you rude... Sorry...
But we were exhanging some pms and he is redoing this tutorial.
Sometimes we make mistakes while typing long posts
installation aborted
thanks for this great tutorial
everything works like a charm , but when i flash my new rom i have an error says no enough space while writing boot image
any idea?
Update: okay i solved the problem, it seems that i missed up with the boot settings!
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
vinnux said:
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
Click to expand...
Click to collapse
yes this is normal, i got that warning, and i entered "yes" to create one, and everything went just fine!
good luck
For me, work with wine on linux mandriva 2010.2
[[email protected] rootlg]$ wine DZDecrypt.exe "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz" rom
DZ-Decryptor v1.0b *ALPHA RELEASE* by BIGB0SS from COPS.
[■] Opening file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".
[■] Allocated memory: 280 Mo.
[■] Unpacking informations:
- Unpacking "amss.mbn" (Packed:008D2935 - Unpacked:010F6000).
- Unpacking "partition.mbn" (Packed:000000E9 - Unpacked:00000390).
- Unpacking "qcsblhd_cfgdata.mbn" (Packed:00000240 - Unpacked:00002534).
- Unpacking "qcsbl.mbn" (Packed:00007D88 - Unpacked:0000DFF0).
- Unpacking "oemsblhd.mbn" (Packed:00000026 - Unpacked:00000028).
- Unpacking "oemsbl.mbn" (Packed:0002C637 - Unpacked:0005EFB4).
- Unpacking "amsshd.mbn" (Packed:00000028 - Unpacked:00000028).
- Unpacking "appsboothd.mbn" (Packed:00000022 - Unpacked:00000028).
- Unpacking "appsboot.mbn" (Packed:00008A6F - Unpacked:0000D484).
- Unpacking "boot.img" (Packed:00385B3F - Unpacked:0038A800).
- Unpacking "system.mbn_0" (Packed:0307280E - Unpacked:05000000).
- Merging "system.mbn_1" (Packed:028EAA5A - Unpacked:05000000).
- Merging "system.mbn_2" (Packed:00738F81 - Unpacked:01003F40).
- Unpacking "recovery.img" (Packed:003BE683 - Unpacked:003C3800).
- Unpacking "splash.img" (Packed:00001C3A - Unpacked:0004B000).
[■] SubFiles: 0x780C3E84. (DzCreator)
[■] Closing file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".

[Q] [CM7 / Theme Chooser] What Am I doing wrong ?

Hi all,
I'm trying to modify the RoverBlue theme. Basically, what I'm trying to achieve is simply removing / replacing some elements of this theme !
I tried with apktool to decompile, modify, recompile, resign and zipalign but I can't install the theme...
So I tried another method described here http:/ /pastebin.com/3i7xLBTU (please remove the space in the link - I'm not allowed to post external links yet) and I can build / install and use the "Templatebread" theme provided in the example...
Code:
$ cd <repo_root>/vendor/tmobile/themes
$ apktool d /path/to/RoverBlue.apk RoverBlue
$ cd RoverBlue
$ rm -rf apktool.yml smali res/values/public.xml
I then create a <repo_root>/vendor/tmobile/themes/RoverBlue/Android.mk file containing this:
Code:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := RoverBlue
LOCAL_AAPT_FLAGS := -c hdpi -x 10
include $(BUILD_PACKAGE)
Finally I edit the <repo_root>/vendor/tmobile/products/themes/themes-base.mk to add RoverBlue to the PRODUCT_PACKAGES !
Then, without doing nothing to the theme contents, I build the theme (using the method provided in the aforementioned tutorial) and I obtain a RoverBlue.apk file which is nice .
The -not so nice- thing is I can't install it on my device .
I tried the same method with other themes and, each time, I face the same issues...
Looks like I'm doing something wrong/stupid but after more than one week of research and a lot of tries I guess I won't find by myself what is wrong.
Thanks for your help.
No one that can help me here please ?
i wasn't able to install themes I've recompiled until I signed the apk, so maybe try that. there are a few that will do it on your device too, such as signapktic.
Sent from a phone, playing a phone, disguised as another phone.
I'll try that. Thanks.
GT-I9000/CM7/Tapatalk
This doesn't look to be a signature problem.
If you never state the actual install error then how do you expect anyone to help?

Zipping your bootanimation on a mac!

Having spent a while trying to find out how to properly zip the files for the animation, I have come across some basic UNIX commands to simplify the process! No other applications needed apart from TERMINAL. Please note that this is for mac.
Open terminal and use the following commands
e.g.
Code:
zip -0 -r NAMEOFZIP.zip desc.txt part0 part1
the zip command means well.... zip
the -0 means zip without compression just store
-r means zip entire directories
and the first thing after that is the name of the zip you would like to create.
all files after this are the ones put into the zip.
I would recommend using cd to get the directory without having to type it in 3 times like this:
Code:
cd /Users/Bob/Desktop/MyAnimation/
Also using cd puts the newly made zip file with all of the others (desc.txt part0 part1 etc.)
You will have to change the directories for your own needs
Hope this helped!!!

Categories

Resources