{KITCHEN}MetaMorph Auto Builder for Linux - Android Themes

I took the work of Andrizoid, and with his permission updated it and am posting it here. Original credit goes to him.
If you would like to donate to him you can do so by clicking here.
This is a "Kitchen" for lack of a better term for making MetaMorph themes.
Start by unzipping the file to your Desktop or other working area. It will place a folder, MetaMorph-Builder, and 2 scripts inside that folder, wherever you extracted it to.
Once you get the files extracted, run the "Run-Me" script.
Follow all of the onscreen prompts, and you will finish with a theme control file like my sample
Code:
<themename>Generic-Theme</themename>
<themeversion>420</themeversion>
<author>Jimmy-Joe</author>
<phone>Phone1</phone>
<rom>Rom1</rom>
<description>Short description goes here.</description>
<item>framework-res.apk</item>
<path>/system/framework/</path>
<description>Requires reboot</description>
<item>Gallery.apk</item>
<path>/system/app/</path>
The script also sets up the folder for the app and the nestled folders insider
>app
>>res
>>>drawable
>>>drawable-m/hdpi
>>>drawable-land-m/hdpi
>>>drawable-port-m/hdpi
All thats left is for you to add the image files to the right folder and zip it up.
This is only a bash script. It will NOT work on Windows. If you know batch scripting and would like to port it to Windows, go right ahead!

Anyone give it a shot yet?

so..with this program you could port any theme (even flashable ones) to metamorph?

domineus said:
so..with this program you could port any theme (even flashable ones) to metamorph?
Click to expand...
Click to collapse
Though I hadnt thought of it that way before, yes you can. This thing will setup EVERYTHING but the images.

any new people give it a shot?

i will tomorrow. thanks cha0s
~shrek

Big update coming soon
Sent from my ADR6300 using XDA App

Related

General Questions about Themes GO HERE!!!!!

Hello, I am a little new here. I am kind of a newb with a lot of things. I did root my device and replaced the boot images.. but i do not know how to make themes. I was wondering if anyone would be willing to help by making a theme for me?
I added some images as to what i am looking to have done, that is of course anyone is willing to help. it is fairly simple i am looking to get the color scheme and kids icons if possible... maybe have a little fun with the clock or not if its too much work.
If anyone could help me out I would appreciate it... i am a graphic designer more than a programmer.. a lot of this is confusing to me.
I really like this site and hopefully i can be of some help at some point. This is my first post but i plan on posting a lot more.
Nice concept...but I`m not sure if you have looked at this topic http://forum.xda-developers.com/showthread.php?t=467639 It describe how to make a theme and stuff, good starting point anyways. Hope it helps!
Yeah ive seen that thread but it scares me...lol
I really dont know what I am doing with all that stuff. I dont really know if I understood everything in it either :-\
thanx though I will try to follow it and make a theme myself but it might take me a while...lol
RandumAccess said:
Yeah ive seen that thread but it scares me...lol
I really dont know what I am doing with all that stuff. I dont really know if I understood everything in it either :-\
thanx though I will try to follow it and make a theme myself but it might take me a while...lol
Click to expand...
Click to collapse
hahaha I would offer help but unfortunately I am no programmer
Im teaching myself how to make themes as well. I have found it best to read through that walkthrough a million times and then PM a couple of the dev guys to answer specific questions.
Basically this is the process:
- Take a theme that you like for RC30 or ADP1 or whatever you wanna make it in
- Extract 2 folders inside, app, and framework into a new folder on your computer
- Rename add a .zip to the end of the apk files and extract them all so you have a bunch of folders with your app names
- Go into res and find any folder that says drawable and inside of there are the files to edit for your theme. Make sure not to edit the .9.png files.
- Once all your editing is done get into linux and turn all the folders back into zip files, then turn them back into apk files.
- Then take your app folder and framework folder that contain the new files and in linux create it into one zip file.
- Then you send the file back to windows, get the SignAPK files, put your zip in the folder with the SignAPK files and run some commands in the CMD to resign the file.
- Then rename that file update.zip and put it on the SDcard and give it a whirl.
This is how I understand the process after talking to a couple people for the last few days. I am hoping to release my own theme soon and if it works you will know that these steps are right. LOL And dont follow those directions, they are just to give you an idea of the steps involved.
Agusta - haha s ok thanks anyway :-D
@brandenk
why do we need to zip the files in linux? By the way thanks for the theming for dummies guide.
trying it out
brandenk said:
Im teaching myself how to make themes as well. I have found it best to read through that walkthrough a million times and then PM a couple of the dev guys to answer specific questions.
Basically this is the process:
- Take a theme that you like for RC30 or ADP1 or whatever you wanna make it in
- Extract 2 folders inside, app, and framework into a new folder on your computer
- Rename add a .zip to the end of the apk files and extract them all so you have a bunch of folders with your app names
- Go into res and find any folder that says drawable and inside of there are the files to edit for your theme. Make sure not to edit the .9.png files.
- Once all your editing is done get into linux and turn all the folders back into zip files, then turn them back into apk files.
- Then take your app folder and framework folder that contain the new files and in linux create it into one zip file.
- Then you send the file back to windows, get the SignAPK files, put your zip in the folder with the SignAPK files and run some commands in the CMD to resign the file.
- Then rename that file update.zip and put it on the SDcard and give it a whirl.
This is how I understand the process after talking to a couple people for the last few days. I am hoping to release my own theme soon and if it works you will know that these steps are right. LOL And dont follow those directions, they are just to give you an idea of the steps involved.
Click to expand...
Click to collapse
hey thanks... i am gonna try it now
Geo411m said:
@brandenk
why do we need to zip the files in linux? By the way thanks for the theming for dummies guide.
Click to expand...
Click to collapse
I don't know why, something about how linux packages zip files opposed to windows, and yes once I figure it out and find all the problems people can have I am going to make up a nice walkthrough on making themes. But I wouldn't be surprised if there were already some theme manager apps in the works to make this whole process easier.
to tell everybody the truth i do all my themes in windows lol and only windows and it has worked on other peoples devices but shhhh thats out lil secret
package it for me?
Hey I was wondering if anyone could package my files for me?
I don't know linux commands at all and am lost... I did manage to edit the files but I can't put them back together.
If anyone could help with my New problem I would be very grateful!
randumaccess.com/r.a%20rc30.zip
That is the zip with the folders I edited.
Thanks
RandumAccess
Dave Da illest 1 said:
to tell everybody the truth i do all my themes in windows lol and only windows and it has worked on other peoples devices but shhhh thats out lil secret
Click to expand...
Click to collapse
Yes, you can make the update.zip in Windows as long as you have the update script I wrote in linux and you do not edit, or open it in Windows. If you do it will get corrupted.
Stericson
Stericson said:
Yes, you can make the update.zip in Windows as long as you have the update script I wrote in linux and you do not edit, or open it in Windows. If you do it will get corrupted.
Stericson
Click to expand...
Click to collapse
So as long as we take that empty update.zip and just throw the apk's in their respective folders and resign the zip when we are done it should be good to go?
brandenk said:
So as long as we take that empty update.zip and just throw the apk's in their respective folders and resign the zip when we are done it should be good to go?
Click to expand...
Click to collapse
That's correct it should be good to go.
Stericson
I guess I need to start learning how to create some themes
I did something wrong (theme newb)
Dave Da illest 1 said:
to tell everybody the truth i do all my themes in windows lol and only windows and it has worked on other peoples devices but shhhh thats out lil secret
Click to expand...
Click to collapse
how do you do the themes in windows?
heres what i did:
1. I unzipped a theme
2. renamed apk's to zip's
3. unzipped each folder
4. edited the drawable files
5. zipped the folders with winrar
6. renamed them back to apk's
7. then i took the update script from Stericson and opened it with winrar and threw them in the app/framework folders
it didnt work for me.
I dont know linux and use windows, i am a newb with a lot of this stuff. I would like to know so i can create themes to my liking.
any help you could give me would be great!
i have all the files edited i just need to package them now.
thanks,
RandumAccess
make sure you zip the folders inside the main folder. If you're working on launch folder, zip the folder inside the folder named launch not the launch folder itself.
Dave Da illest 1 said:
to tell everybody the truth i do all my themes in windows lol and only windows and it has worked on other peoples devices but shhhh thats out lil secret
Click to expand...
Click to collapse
How about a how-to using the Windows only method??
Geo411m said:
make sure you zip the folders inside the main folder. If you're working on launch folder, zip the folder inside the folder named launch not the launch folder itself.
Click to expand...
Click to collapse
yeah that didnt work either :-(
I would like to see a "Windows Only Theme Tutorial: Super-Newb Edition" ...lol
did you sign each of the edited apk's? and your update.zip file?

[GUIDE] How to make mymode themes

Well I haven't had much time lately to make themes but I figured i got enough time to explain how. This is how i do it in windows 7.
1) First thing i assume that you already have androidsdk on the root of your C drive. Lets go ahead and add it to your system path. If it's not called androidsdk go ahead and change it to that. Now open up your startmenu, right click computer, click properties, then click advanced system settings, in the advance system settings select environment variables. In the second box down look for path select it and choose edit. copy and paste this
Code:
;C:\androidsdk\tools
in there. Click okay.
2) download the jre and jdk from here and install them. Now you need to add them to your system path so copy paste this
Code:
;C:\Program Files (x86)\Java\jre6\bin;C:\Program Files (x86)\Java\jdk1.6.0_20\bin
to your system path just like you did in the first step.
3) Download apk manager from here. Now run it and when it says clean out all current projects click yes. Now thats ready to go.
4) Download an image editing program. I use gimp. Also if you don't have it 7-zip
your all set to go now so lets start over with the numbers
1) choose a mymode apk and extract it with 7-zip. Open up the res folder select a png that you want to change and change it with the image editor you chose.
2) when you've changed the images you want open up the original apk as an archive with 7zip. Then place the res folder of the modified unzipped apk into the archive and close the archive.
3) Now open up apk manager and place the mymode apk into the place here for signing folder click script batch choose no then type 15.
4) Now put the newly signed apk into your androidsdk/tools folder and close apk manager.
5) open command prompt and type this
Code:
cd\
cd androidsdk/tools
adb install whatever.apk
I'll update this with pics a more thorough guide.
Thanks to everyone that made this easy
reserved for themes to come
Thanks been waiting for a thread like this.
thanks, if i ever get any free-time between jobs and kid and fiancee i will look into this a little more
This is an awesome guide! I messed around with theming mytouch/g1 back when I had one.. so this will be great to make some themes for the slide..
One question though.. let's say you pull the nest theme.. theme it and re install it.. will it just override the nest theme or in the theme listing will it appear as a new theme and still allow you to have the original theme?
Sent from my T-Mobile myTouch 3G Slide using XDA App
ryanolson7 said:
One question though.. let's say you pull the nest theme.. theme it and re install it.. will it just override the nest theme or in the theme listing will it appear as a new theme and still allow you to have the original theme?
Sent from my T-Mobile myTouch 3G Slide using XDA App
Click to expand...
Click to collapse
The nest theme is in the framework, its not an .apk like the rest, its built into the system. The rest of the mymodes themes are .apks and if you edit those they will override the stock "nest" theme. The only way it will show up different in the theme chooser is if you edit the preview snapshot to be a preview of your theme. If you wanna keep the original theme, the nest theme is it and you should edit a different theme .apk...
-BMFC
Sent from my ROOTED MyTouch3G Slide
Okay so I got the next three days off and I already got two mymode themes pretty much done well their done but I just learned of a way to change the name so they are there own standalone apk instead of using another apk name. I've been using puppypride (which by the way isn't puppies those are full grown dogs) and switching out the pngs and you couldn't have the regular puppypride now you can have both
hope you don't mind but I did a mod of your themes and took out the bubbles since some people always create threads about it
Help with following guide
I am a newb at this so please don't attack me if I am doing something wrong. I have been struggling with following the guide posted to make mymode themes. I have successfully got up to the step of signing the apk file. I modified the files in the free_kick.apk. When I try to use APK Manager 4.8 and using the directions given the file just gets erased and nothing happens. My log file just shows errors. Any help with a more detailed directions one what to do in APK manager as I am trying different things and not getting anywhere. I use the option 15 like told in the guide. I can send my modified apk file to anyone if they can get this to work and get it installed that would be appreciated so much. I hope I can figure this out my own but thought I would try get help from the forums. Thanks in advance.
impimms said:
I am a newb at this so please don't attack me if I am doing something wrong. I have been struggling with following the guide posted to make mymode themes. I have successfully got up to the step of signing the apk file. I modified the files in the free_kick.apk. When I try to use APK Manager 4.8 and using the directions given the file just gets erased and nothing happens. My log file just shows errors. Any help with a more detailed directions one what to do in APK manager as I am trying different things and not getting anywhere. I use the option 15 like told in the guide. I can send my modified apk file to anyone if they can get this to work and get it installed that would be appreciated so much. I hope I can figure this out my own but thought I would try get help from the forums. Thanks in advance.
Click to expand...
Click to collapse
Actually the guide needs to be fixed a little because i'm guessing your getting compiling errors when using apk manager? But the best way to do this is to open up the mymode theme (using 7zip) as an archive delete meta-inf folder then replace the pngs with ones of your choice as long as they are the same scale. Then resign. and install
totally lost
I've followed these directions to a T and when it comes to using the apk manager i am getting nothing, please help
You guys that are having trouble with apk manager...its honestly not necessary to use Apk Manager for this. Mymodes themes are system .apks and shouldn't be re-signed. What you need to do is forget about apk manager (for now) and drop the UNsigned .apk into the ROM update you are using, and resign the whole ROM using the autosign tool created by jesusfreke. Or just adbpush the .apk. but don't resign the .apk.
Here's the link for the autosign tool to sign ROM updates. its in the THIRD POST and its auto-sign .zip, NOT the signing.zip in the first post. you can put it anywhere you want and you just drop (a copy of) your ROM update in the autosign folder, rename it update.zip, then run the sign.bat to sign. it will create another file, update-signed.zip. you shouldnt need to wipe when flashing the same ROM over itself, but i cant guarantee this is true for all ROMs.
you can also make an update that will only flash the .apk to /system/app, and nothing else will be changed. basically just make a copy of the update for the ROM youre using, then delete everything but the /system directory from the zip. then go into that /system directory and delete everything but the /app directory, then go into it and delete all the .apks and odex file or whatevers in there. ALL OF IT. when you are finished you should have an update with nothing in it but a /system/app directory. you put your modded .apk in there in /system/app, and thats it for that.
then you must edit the update script and remove MOST of its contents so that it only does what you want it to. THIS IS IMPORTANT! Go here to learn how to create an update script. what youll need is way simpler than the examples, youll want it to look basically like this...
Code:
assert compatible_with("0.2") == "true"
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
this update script will copy ANYTHING in the /system directory to /system on your device, regardless of subdirectories. that means anything in /system will go in /system, anything in /system/app will go to /system/app, etc. but since you only have one .apk in there it wont mess with anything but what you put in there. this way, you have a NOWIPE update for...well, whatever you want to put in it.
so you just drop the new shortened update-script in /META-INF/com/google/android/
and then use the autosign tool to resign your new update then flash away! This also takes less time cus its only flashing one file instead of flashing a whole ROM just to replace that one file...
hope this helps...
-BMFC
Sent from my T-Mobile myTouch 3G Slide using XDA App
So you cannot do this on t-mobile's rom which is 2.1 right now? I'm leery of rooting in case they ever release froyo
Tbrewer80 said:
So you cannot do this on t-mobile's rom which is 2.1 right now? I'm leery of rooting in case they ever release froyo
Click to expand...
Click to collapse
I'm having issues with this as well... After I do the whole signing apk thing, it installs fine, but when I go to MyModes, the preview is black and when I select it, the MyModes app force closes. I don't get it.

apks, zips, and hdpi - mdpi questions

Ok, just a few questions quick hdpi images for say a theme for bigger phone like the evo can they be tossed into a drawable-mdpi and be fine? Or do you have to go through them and resize them? My second question is regarding signing, I've got the htc kitchen running which seems to do fine so I'm using the AutoSign to sign my res folder which i zip'ed as framework-res.zip then signed using the AutoSign tool and renamed to framework-res.apk which I think is correct, but then I throw that into a presigned zip for a theme that I pulled apart using the htc kitchen and rebuild it and sign it and it should be good to go. It gave me some nonsense about an updater script and it can only make an update script. But when I tried flashing the rom it failed.
Basically I think I'm missing some parts of the puzzle if anyone who knows more about this than me could give me a pointer or two I'd be eternally grateful. Thanks.
I'm not sure if you have to resize the png images. I always do, however it takes a while so you may want to try doing it with the hdpi images. As far as signing goes some extract the apk and then edit the png's and then with 7zip use the open archive option and drop the png's into the zip. And then resign.
Here is what i do..
I extract the apk
Go in and make changes
Go back to the main folder where it has the META-INF, res, AndroidManifest, etc and select all of those and zip them. It should then name it (whatever_app_your changing).zip
I use the Auto-sign from Avabox and sign it. This should also change the extension to apk
When editiing an apk you want to make sure you keep everything as it is when rezipping and signing. Do not delete any folders.
To make a flashable zip you need an update script. If you pull apart a theme and look in it there should these folders META-INF\com\google\android. The update script is located in android. It tells it where to install everything and to show a progress bar. If you look in a theme you can easily see the strcuture and what needs to be zipped.
Thanks. Thats the missing step I think, I'm about to crash as I work nights and probably shouldn't be up yet lol, but when I get up I'm gonna test some more things out but I think thats what I needed to know. I've been trying to rezip everything so it fits back together when i should be pulling them out of the zip changing them and then putting them back in. I'll try it tomorrow lol when my brain works again. Thanks for the reply though.
ok first of all download 7zip
do not unzip the whole app
open the app with 7zip. take out the res file
edit the png files that you want
edit the .9 files that you want
use draw9patch that comes inside of android sdk folder
in draw9patch u put one dot on top one dot on left and full lines on bottom and right. thats the easy way. u can watch the right window to figure out what the results will be. play with it and you will get the hang of it.
download eclipse and set up eclipse and android sdk to work with android. there a number of instructions on how to do this. google in or search in xda
use eclipse to recompile the .9 files
if u r finding files in the hdmi files and want to use them u have to make sure they are the right size for our phones.
best guess is that if its from a different phone they are the wrong size. compare the size of the file to the mdmi folder and resize where needed.
when done editing the res file drag and drop it back into the app that is open in 7zip.
it can then be pushed via adb in the command promt by putting the apk in the tools folder of sdk and typing
make sure your in the directory of ur sdk/tools folder
adb remount
adb push (app name).apk system/app
(app name)=app for example facebook.apk
if u want to make it into a flashable update than you can put into a zipped file that im sure uve downloaded from here before. make sure its the only app in the folder and use avabox as described above.
Awesome thanks papasmurf, I think I figured out the big issue was having before and thats that I have to use 7zip to pull, edit, and replace files I want to change. the .9 stuff I haven't messed with yet but I've always known they are a bit of a pain in the ass. Gotta learn sooner or later lol. Thanks for the responses guys I'm gonna mess with this stuff and see where I get.
What are the rules on signing? Now if I'm in a framework-res.apk and pull and push some files do I need to sign it again?
PlagaDeRock said:
Awesome thanks papasmurf, I think I figured out the big issue was having before and thats that I have to use 7zip to pull, edit, and replace files I want to change. the .9 stuff I haven't messed with yet but I've always known they are a bit of a pain in the ass. Gotta learn sooner or later lol. Thanks for the responses guys I'm gonna mess with this stuff and see where I get.
What are the rules on signing? Now if I'm in a framework-res.apk and pull and push some files do I need to sign it again?
Click to expand...
Click to collapse
While when building a rom it is sometimes but very rare to sign an app...when editing pngs and such there is no need to resign the app. ..also if u do have to resign an app u can't resign the Google ****s. They don't like work if u resign them cause the only way we have to resign with r with test keys. By resigning apps ur r messings with the manifest and there is about a 99.9% chance there is no need for it.
Its different if ur trying to flash an app via recovery. Then it has to be put into a zip file and signed. My suggestion is to find a basic mod that someone else already made a signed zip of and put ur app in it and take out the other mod. Just make sure u put it in the right folders. For example
Most apps go in /system/app
Framework and com.resources go in /system/framework
Uncanny make those folders and drop the app in there then drag to the zip or if those folders exist in the zip just drag the app in.
As long as its a mod zip the update script is prob just very basic and u don't have to mess with it. Just use avabox (search for it on xda) and drag the zip into to autosign folder inside of avabox. Rename it update and click k on the sign icon. After its done signing u delete the update file and can rename the update-signed file to what ever u like. Just remember if renaming that if u r using more than one word the u must add a _ between words rather than a space. For example
Gmail_signed.zip
Hope that helps a little
Sent from my HERO200 using XDA App
Awesome. Just made my first flashable zip that worked. I'm almost finished porting over the sculpted theme from the evo section. Thanks for the help guys, its making way more sense now.
PlagaDeRock said:
Awesome. Just made my first flashable zip that worked. I'm almost finished porting over the sculpted theme from the evo section. Thanks for the help guys, its making way more sense now.
Click to expand...
Click to collapse
Anytime man. Just remember if ur changing even the size of a .9 file it has to be fixed as explained above. Only saying cause ur porting a theme from the evo and I'm sure there r .9 files in there
Sent from my HERO200 using XDA App
Papa Smurf151 said:
Anytime man. Just remember if ur changing even the size of a .9 file it has to be fixed as explained above. Only saying cause ur porting a theme from the evo and I'm sure there r .9 files in there
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
Eclipse is intense. I think I downloaded the right one. I'm dead tired though so I'm gonna pick it up again tomorrow. I got enough of it together that it functions so I'm happy for now, but definitely going to have to work on the .9 files tomorrow lol.
PlagaDeRock said:
Eclipse is intense. I think I downloaded the right one. I'm dead tired though so I'm gonna pick it up again tomorrow. I got enough of it together that it functions so I'm happy for now, but definitely going to have to work on the .9 files tomorrow lol.
Click to expand...
Click to collapse
Yeah eclipse is def overkill at times but when u get it set up its easy to just compile .9 files.
Sent from my HERO200 using XDA App

[TOOL] FlashMOD 1.1.2 (2010-11-22) Now Supports Applying MetaMorph Themes!

FlashMOD is a tool for creating and applying themes on Android. FlashMOD resolves the difficulties in applying MetaMorph themes by applying the themes to the ROM or update zip file instead of on the live phone. It takes less than a minute to apply a large theme to a ROM. You can then flash the ROM and you will have the theme up and running quickly and painlessly. If your ROM has a separate package for the gapps, then you will need to apply the theme to both the ROM and the gapps package.
FlashMOD should be compatible with any any Android Phone, ROM, or update zip, but I have only tested it on the Eris and with the following ROMs:
-Conap's CELB/gapps package.
-KaosFroyo
-TazzFroyo
For developers, the program also includes many more features for batch compiling, decompiling, compressing, resizing, signing, zipaligning, and extracting NAND .img files. For more information, please read the pdf documentation I bundled with the program.
Always make a nandroid backup before applying ROMs themed with FlashMOD.
Credits:
icbeer - FlashMOD
Cheezo - DotNetZip Library
Brut.all - apktool
Android Open Source Project - aapt, draw9patch, zipalign, media.pk8 media.x509.pem, platform.pk8, platform.x509, shared.pk8, shared.x509.pem, testkey.pk8, testkey.x509.pem, signapk.jar
Oracle - swing-worker-1.1.jar
Cosmin Truta - OptiPNG
Jean-loup Gailly - zlib
Mark Adler - libpng
ImageMagick Studio LLC - ImageMagick
Everaldo Coelho - Crystal Project icons
Kai Wei - I ported his unyaffs program to C#
Change Log:
1.1.2 - (2010-11-22) Fixed an issue when modifying the update script for the ROM. I was adding the wrong line endings.
1.1.1 - (2010-11-22) Minor tweaks. Looks like I have a bug in this version that shows the version number incorrectly in the title bar. I'll have that fixed in a bit.
1.1.0 - (2010-11-22) Added the ability to directly apply MetaMorph themes. Added ability to extract all the different .img files from a NAND backup (data.img, system.img, and boot.img). This was pretty cool because I ported/implemented the entire thing in C# code.
1.0.1 - Fixed bug in signing form. Pem and pk8 keys were reversed for certain radio buttons. Also modified theme application process. Apks are no longer signed, but are still zipaligned. KaosFroyo didn't like it when I signed certain apks with the test key even though this was OK in CELB.
Downloads:
- FlashMOD 1.1.2 (SHA1:207bda5d7cb9f3185ff01d9188f1c75e0f3bb47e)
FlashMOD runs on .NET FrameWork 3.5 on Windows and Mono on other platforms. There is 1 distribution for all platforms. FlashMOD also requires Sun Java JRE 6. To run on Windows you double-click on FlashMOD.exe. To run on mono you type "mono FlashMOD.exe" from the command prompt. Most linux tools are bundled or preinstalled under Ubuntu. I have never tried this on a Mac, but it should work. If you use any of the tools besides applying themes on a platform other than Windows you will need to change the file "FlashMOD.exe.config" and change the path of the external tools to point to their location on your system. It's been a while since I tested FlashMOD on Linux and I hope to start looking at that again soon.
- FlashMOD 1.1.2 Source Code (SHA1:1b524c0301027a98097c1f4a1f2a4db1b94c04a2)
FlashMOD is open source licensed under the GPL v3. FlashMOD is written in C#.NET and was developed in Visual Studio 2010.
Themes:
Buuf Theme 1.0.0 for FlashMOD.
This is a port of the Buuf theme by petsasj on the hero forums. This theme also installs the Buuf ADW theme in your /data/app folder. Make sure to select this theme in ADW to get the best experience.
[Reserved]
This looks cool. I will see if I have time to play around with it soon. I have been having problems with metamorph and it can be very slow with framework files. Hopefully I can get it working in the mac terminal.
synesthete said:
This looks cool. I will see if I have time to play around with it soon. I have been having problems with metamorph and it can be very slow with framework files. Hopefully I can get it working in the mac terminal.
Click to expand...
Click to collapse
I'm sure it will work under emulation. I'm curious whether it would work natively on the Mac under Mono. I tried it a little under Mono on Linux and it seemed to work fine for applying themes, but I never tried any of the other features. It's kind of surprising, but the same exe that works under windows should work on Linux and Mac like a Java application. Mono is binary compatible with windows. You just type "mono FlashMOD.exe" from the command line to run it. Mono supports Windows Forms on Windows, Linux, and MacOSX. I do not have all the external tools bundled for Mac, so you would have to round those up, but they are all open source. There is a config file that sits alongside the exe that tells it the path of the executables. I have it setup for Windows, so you would need to change it for other platforms.
If anyone wants to help me provide Mac and Linux support I would appreciate that.
cool mod! gonna use it asap
Let me know if it works for you. This is pretty much in the beta phase at the moment. It definitely works nicely for me on Conap's CELB ROM. Hopefully later today I will have time to test this on Kaos Froyo and some of the others.
Oops, found a couple bugs in the signing utility. I had the pem and pk8 keys reversed in the hardcoded values when selected from the radio buttons. I have corrected this in version 1.0.1. Also there was a compatability problem with KaosFroyo that I have resolved in version 1.0.1. It looks like Conap's ROM has different signing requirements than Kaos. According to logcat, KaosFroyo was complaining that I didn't sign certain apks with the shared keys. Rather than dealing with all that, I'm just going to take the more common approach of not resigning the apks. This will cause header mismatch warnings in zipalign, but I have suppressed these warnings internally. I just built the releases and will be posting them shortly.
Here's a crazy idea I just thought of...would it be possible to make a nand of whatever ROM you're currently running, zip it up, and apply a zipped theme using your method? My thinking behind this is that I'd rather not go through setting up all the mundane stuff such as email, relocating certain apps to system/apps, deleting apps I don't use/duplicate apps, ringtones, and the countless other modifications. If this is just a ridiculous idea, please ignore. Otherwise, any thoughts on this?
hoovnick said:
Here's a crazy idea I just thought of...would it be possible to make a nand of whatever ROM you're currently running, zip it up, and apply a zipped theme using your method? My thinking behind this is that I'd rather not go through setting up all the mundane stuff such as email, relocating certain apps to system/apps, deleting apps I don't use/duplicate apps, ringtones, and the countless other modifications. If this is just a ridiculous idea, please ignore. Otherwise, any thoughts on this?
Click to expand...
Click to collapse
There are other way of reapplying your customizations such as using a Titanium Backup restore. My application does not require that you apply the theme to a ROM either, just a flashable zip file. You can apply it to an update.zip file instead with only the apps you want themed included in the file (and probably framework-res). It's pretty easy to set that up, but it is a manual process. Automatation is a beautiful thing
What you are suggesting is not impossible to do...nand backups are images of the partitions on the phone in yaffs format. There is a program called unyaffs that I have compiled that can extract these. The program could then generate an update.zip file for you to reapply the system apps/framework. This is something I have been considering, although I was thinking of doing it a different way. I was thinking of pulling the apps with adb and then generating an update.zip from that. The problem with the way I was thinking of doing it is that it would require everyone to have the android sdk installed. I like your idea because it would remove the adb requirement. This sounds like a good addition to the next version. I'll look into this. Thanks for the suggestion.
Wonderful job =) works like a charm! Much better than metamorph.
Has anyone tested this on froshedyo v5?
Sent from my FroShedYo.V5 using XDA App
I tried in on CELB. Why don't you just try it on FroyoShed? Just do nand backup before you do it.
danielahl137 said:
Has anyone tested this on froshedyo v5?
Sent from my FroShedYo.V5 using XDA App
Click to expand...
Click to collapse
I haven't tried his ROM out yet. His ROM is compiled with the source code for CELB though if I remember correctly, so it will probably work. I'll try it out after I get off work.
Major accomplishment tonight! FlashMOD is now the first C# application to natively extract all the types of NAND img files, including data.img, system.img, and boot.img. I even created a CPIO archive decompressor to extract the ram disk in the boot.img file. This will all be available in 1.1.0, which I'll try to release this weekend.
icbeer said:
Major accomplishment tonight! FlashMOD is now the first C# application to natively extract all the types of NAND img files, including data.img, system.img, and boot.img. I even created a CPIO archive decompressor to extract the ram disk in the boot.img file. This will all be available in 1.1.0, which I'll try to release this weekend.
Click to expand...
Click to collapse
Very nice! Will test when you post it.
Sent from my FroyoEris using XDA App
Thx, for your help. I will try to post tonight if I have the energy after seeing Harry Potter in the IMAX.
Sent from my ERIS using XDA App
The new release sounds awesome. Nice job icbeer
Sent from my Eris using XDA App
Thanks for the support guys. It's nice to feel like other people appreciate what I'm doing. I didn't make it to post things tonight. I wanted to change part of the implementation to lower memory requirements. I also need to write up all the acknowledgements and round up all the licenses, from anyone I borrowed code from. It's actually kind of tedious to build a release that doesn't violate any licenses.
I'm trying to bundle all these little tools into one package. I'm not adding anything you couldn't do already, but you'd have to compile a C application to extract the unyaffs volumes and you'd have to run a perl script followed by extracting the cpio volume with 7z or cpio (on linux) to do it. By getting them into C# I can now provide a cross platform method for doing this and a graphical interface. It will also allow me to incorporate these utilities into the progress bar at some point.
For now, this is mostly going to be for curiosity sake, or in case you need to pull stuff out of your Nandroid backups. It's pretty interesting to look at the boot.img file and some of the config files in there. The next step will be to generate themed update zip files from the system apps and the framework in the nandroid backups as requested. That was really the whole reason I did this.
I'm trying to port all the external tools to C# to simplify things and give me more control over everything. The real challenge now is signapk and zipalign, because those are the 2 external tools involved in applying themes. Signapk is tricky, because I have to port portions of the Java security library to C#. It looks like the BouncyCastle crypto library may provide a lot of what I need. Zipalign looked a little more straight forward to port.
Sorry I didn't post again today, my internet has been down since this morning. However I added the ability to apply MetaMorph themes, so hopefully that makes up for my lagging. I'll go build the release now so I can post it when I get to work tommorow.
Sent from my ERIS using XDA App
Ughh, took me like 3 versions to get it right, but it is now correctly updating the update script for the ROM in case the theme needs to copy items to the data folder or sdcard. I am very curious to hear from anyone trying MetaMorph themes with this tool. Let me know if things are working out for you.

★wildstang83's Guide For Basic Porting★

★wildstang83's Guide For Basic Porting★
You could always go to the TEAM REVERSE website and read the same guide, lol​
Disclaimer​It should be known that there is some risk involved when performing the porting method described below. If you still wish to continue on and follow this guide you are doing so at your own risk. Of course, I will not be held liable for what you do to your device on your own. I will say, use extreme caution and follow every step to its tiniest detail.​
Click to expand...
Click to collapse
Hey guys, I have had a few new users come to me wanting to learn how to port. So I have decided to take a little time and write up a guide for this subject. With this guide we will achieve at minimum a first time boot with Screen load and sound. This will not go into details of fixing G Sensor, MMS, eMMC, Cam or Netflix.​
NEEDED ITEMS:
Windows- Either 32 or 64 bit is fine. Ubuntu will work but is more complex.
7Zip
Notepad++
Android SDK
Android Kitchen
Our most recent Ginger Sense Leak ROM 4.01.605.0
Any Sense 1.0 or 2.1 ROM from the EVO Shift 4G, EVO 4G, HTC Desire. These 3 devices are the easiest to port from. Personally I find that the --EVO 4G is the easiest out of these three and is usually where I port from. Whatever ROM you choose must be deodexed for this guide.
A generic updater-script, update-binary and build.prop. I'll provide those in a link below.
From here on each rom will be refered to in this guide as such:
HTC Droid Incredible GingerSense Leak= Leak
Whatever ROM you choose to port= Port
Ok lets get it.
First things first. Take some measurements of file size.
Take the following size readings:
Ports zipped file size on disk:
Ports unzipped file size on disk:
Ports "system" folder size on disk after extraction: <---This is important!!!
Click to expand...
Click to collapse
We need to know the pre and post system folder size because the system has a max usage space of 250 MB. So in your final rom a system folder size that is below 250 is good. For example, in my latest build of my Pure Speed ROM I was able to achieve a system folder size of 163MB.
Phase One- Start with the Android Kitchen
Open the Android Kitchen and place your port into the original_update folder. Run the kitchen and go through the steps to make your working folder. Just hit enter whenever it asks any questions even when it asks about updater conversion. Once complete, choose the Option 2- Add root permissions. It may say 'su' already present just over ride it and choose option "f" ChainsDD's version. That will complete and go back to the main menu. Select option 3. Add Busy Box. Do the same thing. Now select option 0 for advanced options. In advanced options select option 17 to install busy box runparts. Once that finishes we can build the ROM. Select option 99, let it run then select option 1 for interactive mode, let it run, Then select "y" to zipalign the apks. it will run for awhile and then ask to convert back to updater-script. just hit enter for yes. hit enter to sign the rom. It will ask about renaming, just hit enter to by pass this. We will rename it later. It will say congratulations your rom is done or whatever. just hit enter and then close completely out of the kitchen. Go to where your kitchen is set-up and find a folder called OUTPUT_ZIP. Grab your rom out of there and place it on your desktop.
Phase Two- The actual porting operations
For good measure create two folders on your desktop. One called "Backup" and the other called "Dump". Both the leak and the port should now be on your desktop. Select them both and copy them to your backup folder you just created. Now open your port by right clicking it and navigating to 7Zip and clicking "open archive". Drag it to the edge of your screen. Open the dump folder so that it is side by side with the port. Now in the port navigate to the system folder. Select the "customize, lib and media" folders and drag them to your dump folder. Now delete them from your port along with the "usr" folder as well. You will see a folder in system named "etc". Open that folder and inside you will see a folder called "firmware". Delete the firmware folder. Also delete the "wimax" folder. We do not need it. Now open the Leak. navigate to system/etc and drag the firmware folder from leak to the port. Also drag AudioBTID.csv and vold.fstab from the leak to the port. Close the leak for now. In the port back up to the system folder. Open the bin folder and delete EVERYTHING with "a2sd, apps2sd or wimax" in its name. If there isn't any such things in there then don't worry about it. Now back up to system and go into "xbin". Do the same thing here. Once complete grab the "su" and "busybox" files and drag them to your dump folder on your desktop. Back up to system. Open bin. Drag those two files su and busybox from your dump folder to your ports bin folder. You should now have "su" and "busybox" in both of your ports bin and xbin folders. Now in the port back all the way to the root of the ports zip. You may see a folder called "data". Delete that folder and recreate it. just do it. Now open the data folder. In the dump folder on your desktop create a new folder called 'sysusr". Rename the "customize, lib and media" folders so they are "syscustomize, syslib and sysmedia" These folders are named so because they will be symlinked. Now drag these four folders to the data folder of the port. You can now delete the dump folder from your desktop. We don't need it anymore. Close everything thats open right now. Reopen both the leak and the port side by side. Of the leak navigate to system/usr. Of the port navigate to data/sysusr. Drag the contents only of the leaks usr folder to your ports sysusr folder. Navigate to system/lib of the leak. Navigate to data/syslib of the port. In the syslib folder of the port find the three folders called "egl, hw and modules" Delete them. Drag those same folders over from the leak to the port. Now in the leak system/lib folder find these files: libaudio.so, libaudioalsa.so, libaudioeffect_jni.so, libaudioflinger.so, libaudiopolicy.so, libAudioTrimmer.so, libEGL.so, libgsl.so, libhtc_ril.so and libhtc_ril_switch.so. Drag them to your ports data/syslib folder. Just drag and drop. Close everything on your screen. Reopen both the leak and the port side by side. In the port delete the boot.img and drag the boot.img from the leak over. Close the leak. navigate to "META-INF\com\google\android" of the port and drag and drop in the update-binary and updater-script that I have provided below. Navigate to system of the port and drag and drop the build.prop that I have provided below. one last thing. navigate to system/etc and drop in the apns-conf.xml that I have provided below. Close the port.
Porting is now complete​
We should now be ready to boot. Rename the ports zip if you like and drop it on your sd card, wipe and flash. If it boots, has sound and is somewhat usable pat your self on the back. You've just took the second step to becoming a great dev in the Android world. The first step was having the guts to even attempt this.
Here are those parts you need: wildstang83's Porting Parts​
Guide- How to customize your 2.1/3.0 Hybrid or 3.0 ROM lockring: http://forum.xda-developers.com/showthread.php?p=15681779#post15681779
Click to expand...
Click to collapse
If you run into any trouble while using my guide or notice anything that needs to be updated or added please feel free to PM me.
Credits:
PonsAsinorem- For giving me the idea to write this guide.
newtoroot- I'll never forget who took the time to teach me how to port.
joelZ9614- Allways being supportive especially when times were tuff and no one else was around.
wdfowty
NilsP
Conap
gnarlyc
Man the list goes on so really just a huge thank you to everybody!
Click to expand...
Click to collapse
Thanks! Been wanting to do this for a bit.
lol
10 characters
Guide made me 'lol'.
Alright guys, enough goofing around, lol
I added the whole guide for yall.
Sorry for those trying to read this in the xda app. It gets cut off around where it talks about the system size. You can just hit menu/browser and read it that way.
Porting a HTC Desire ROM tomorrow morning Thank you!
cbren said:
Porting a HTC Desire ROM tomorrow morning Thank you!
Click to expand...
Click to collapse
Good luck buddy. Let me know how it goes or if you need help.
Thanks stang
Sent from my ADR6300 using XDA Premium App
Thanks stang
Youre looking at a crackflashing troll with ORD
WoZZeR999 said:
Guide made me 'lol'.
Click to expand...
Click to collapse
The disclaimer made me lol
Wow this is great bro. I have to try this out!
When I try and flash my port, I get
Finding update package...
Opening update package...
Installing update...
Installation aborted.
It's an evo port and Android 2.3.3 Htc sense 2.1 I think.
http://forum.xda-developers.com/showthread.php?t=1046622
Same one I used and it worked perfectly just try again... follow stangs directions exactly as they're written..
Sent from my ADR6300 using XDA Premium App
Guys, if you are gonna report errors here please provide the error status as well.
It will make it easier for me and everyone else to see what you did wrong(not saying anything bad here) and to know what to look for next time.
A lot of problems can be solved by mounting usb through recovery and then transfering your ports over.
What do we use the OUTPUT_ZIP ROM for? Is that the "port" that we should be messing with?
cbren said:
What do we use the OUTPUT_ZIP ROM for? Is that the "port" that we should be messing with?
Click to expand...
Click to collapse
Yes thats the final rom that you zipaligned and rooted in the kitchen. Now take that and put it on your desktop and build it exactly as my instructions say and you should be good.
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
hightech316 said:
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
Click to expand...
Click to collapse
Im not a compiler. Im a porter. I'm sure we could get some info in here though.
hightech316 said:
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
Click to expand...
Click to collapse
What kind of github info do you need? I'm no where near an expert, but I know how to sync a repo from github to my computer. That's all I've ever needed to do, at least so far.

Categories

Resources