[Android Themes] ASimmons:
READ THIS FIRST:

The original post is here alot of questions have been answered, here browse around there first.

UPDATE 9 PATCH TWEAKS:

This new version will port your favorite hdpi theme to an mdpi rom... yes 9 patch resizing. I want to be the first to say this is not 100% and it probably never will be, and over the next couple of days we can discuss this.

What it will do is resize every 9 patch in a rom and move it over to the mdpi theme. Yes this is the same method I used for all my hdpi ports.

What it might not get is the 9 patching data correctly, which means that it might get stretched incorrectly, most times you won't noticed but others it will be obvious. This will happen anywhere from 1% to 30% of the 9 patch pngs in a port, but all you will need to do is redraw them using the 9 patch draw tool in the adb folder.

My next version will have this included along with some instructions, along with font and boot animation porting.

Please respect other peoples work. If you port a theme using this and repost it don't just link back to the op... mention the author and give them props.

Also want to say I spent a looooong time trying to figure this out, and I tried many different ways, and I'm open to others suggestion on making this better

Oh and don't forget to to install Image Magick, its included and the HDPI to MDPI will not work without this.

This tool will take your favorite theme and inject it into your favorite rom... provided they are compatible with each other (might work if they aren't but thats for later). I did this cause alot of themers and people who like themes are always waiting for the nightly theme to get applied, well this will do it for you.

You can think of this as almost a theme installer.

INSTRUCTIONS by Norm12:

1. Download and extract.

1.5 Install image magick from the image magick folder... just run the installer and its ready to go. This is important the hdpi to mdpi will not work without it.

2. Copy both the theme and rom into the 1 click folder---the extracted one.

3. Open the 1-click folder and you should see your theme, rom, lib folder, and the injector script.

4. Doubleclick on the injector script----if you did everything correct it will open a cmd prompt

5. Enter the names of the rom and theme when asked...I did use the exact names and added ".zip" to the end.

5.5 Answer y if this is an hdpi to mdpi port otherwise n.

6. Hit enter and wait. When it is really done it will auto-close the cmd prompt. This may take 15 minutes.

7. Your newly themed rom will be in the same folder as the unthemed rom and theme zips. If it worked it should be slightly larger than the original rom. Enjoy

!!!IMPORTANT... BECAUSE 7ZIP SHOWS OUTPUT IGNORE THE "EVERYTHING IS OK" LET THE SCRIPT FINISH WHEN ITS DONE IT WILL CLOSE ITSELF IF YOU DOUBLE CLICKED IT OR IT WILL RETURN TO COMMAND PROMPT!!!

Ignore any errors your seeing while it runs, this is normal like before let it run completely through till it closes out.

Run time could be up too 20 minutes (60 with HDPI to MDPI) on a big theme/rom, but faster that waiting!

You must now install Image Magick if you would like to use the hdpi to mdpi resizing!

ISSUES:

There also seems to be an issue with the gallery3d.apk and the differences in the mdpi and hdpi version. For now remove this from the theme your porting otherwise it won't come out right.

Update 4:

HDPI to MDPI porting!!!!!

Update 3:

Removed verbose but added optopng verbose just let it run. It works but you have to let it finish, the cmd window will close it self.

Update 2:

Added verbose output so that you guys will know to close it out before its done...even tho 7zip says everything is ok... just let it do its thing.

Update 1:

Had the optimization stuff commented out... sorry its back on.

Script will clean up now after it finishes.

JAVA CLASSPATH:

Its needed for the signer to work properly goto a command prompt and type in java -version. if you get and error back java is not in your classpath and needs to be.

just right click on my computer, then goto properties, then click on the advanced tab, at the bottom click on the "Environment Variable" button.

Now click on the new button... the one on the bottom for system variable and put in this

variable name: JAVA_HOME

variable value: C:\<path-to-where-java-is>

Now click ok and select the path system variable and then click edit. IMPORTANT only append to the end of the value this... ;%JAVA_HOME%\bin

then click ok and ok out of all those windows and open a new command prompt and type java -version you should get no error if you do your path to java was wrong follow the steps above again and make sure the path is correct.

WHAT THIS WON'T DO:

It won't port over xml or smali edits.

It wont port over what it can't find... so if your theme has a facebook widget or something but the rom does not then it will ignore that.

It will not port over fonts or anything other than the framework-res.apk and all the themes apks in the system/app folder. If this is popular Maybe other stuff can get included.

WHAT THIS WILL DO:

Shrink a 9 patch from HDPI size to MDPI size.

Push over all the themes pngs from the apk with it to the roms matching apk.

Optimize every png in the theme you are porting over.

Zip align all the apks in your newly themed rom.

Sign the newly themed rom.

Give me feed back.

I might make this easier and make the injector steal the apks for injection right from your phone and then inject and make a flashable to put right back on... tell me what you think.

New HDPI to MDPI version with 9 patch porting download