• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root What's needed to flash theme?

Fuzzy13

Extreme Android User
Other than the actual theme files within the zip, is there anything else that depends on whether not you can flash it? Like the build.prop. Is it NEEDED to be able to flash or can you flash without it?

I always have trouble making the themes i create, flashable. They will boot loop one second and they it wont. Makes no sense. They only time I get can it to flash right is when i just take the files out of an already established theme that someone made and add my files. Can never get it to work right when made from scratch. Thoughts?
 
I think it has to do with the updater script. I've only ever used someone else's to minimize problems. I script from a theme should work, but a script from, say, the exit recovery (which I tried, so trust me on that 1 lol) most likely won't
 
for a theme, flash-able zip, everyone that i have explored, has a build.prop in system folder.... i would think yes

have you tried pulling your build.prop from your phone and placing it in your theme that you are trying to flash?
 
hvrc said:
for a theme, flash-able zip, everyone that i have explored, has a build.prop in system folder.... i would think yes

have you tried pulling your build.prop from your phone and placing it in your theme that you are trying to flash?

I've got some themes that don't have a build prop. O.o
 
I've got some themes that don't have a build prop. O.o

let me download a couple more and look through them... i just looked at a couple before i wrote that, and i remember more that had them in there (could just be morning lag....)
 
Neither of my themes contain build props. You need the meta inf folder which contains the script for flashing the theme, ROM, etc
 
They're transferable, but grab a meta from a theme and not a ROM. Also, unless you edit the updater script it will say whatever the theme it came from says in CWM
Like if you grab ld-ick, it will say your installing ick. You can edit it with NotePad, NotePad+, so on
 
They are pretty much they same as like the one person said make sure you get one from a theme. If you want more info on this topic look towards the bottom of here: simple guide to theming

P.S. You absolutely do NOT need build.prop for theming. That is just for ROMs. You could include a build prop if you had some nice edits for it but thatd really be better just post and let people add them on their own imo.
 
90% of the time if your experiencing the theme not booting at all, it's usually the updater-script.. depending on what you took it from some are written to do specific things lol most themes and app installer zip files just consist of mounting & installing the system folder and whatever is in it.. but some of them ie: ld-ick is set to install lg-home and un-install adw and or launcher pro so you dont have conflicting launcher's.. so if the rom your running has adw or launcher pro, the script will remove those and you'll find yourself without a launcher.. so you wont be able to boot and think you messed up somewhere and just build up a huuuuge head ache lol ( i've done it more than once lol)

and the other most common issue with flashing themes is like forgetting the simplest things such as forgetting to add remove a png file or something needed for your 'work' to work lol

i ran into the situation the other day... was working on theming lg-contacts.. made it all black but went to flash it using script from ld-ick and removed my launcher.. didn't even realize the mistake i made untill like 2 days later after i had already deleted that app and started over haha.. hate when it happens but usually it's something simple to fix if your following the directions correctly.. hope this helps :D
 
Heres what my updater-scripts look like for themes:

ui_print("************************************************");
ui_print("* You can make it say whatever *");
ui_print("* you want in this box *");
ui_print("* or make the box look like anything you want *");
ui_print("*or anywhere it says or you add "ui_print *");
ui_print("* ("whatever you want")" *");
ui_print("************************************************");

ui_print("Installing new framework-res.apk");
run_program("/sbin/busybox", "mount", "/system");
delete("/system/framework/framework-res.apk");
package_extract_dir("framework", "/system/framework");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Installing new SystemUI.apk");
run_program("/sbin/busybox", "mount", "/system");
delete("/system/app/SystemUI.apk");
package_extract_dir("app", "/system/app");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Installing new fonts");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("fonts", "/system/fonts");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Cleaning up");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
run_program("/sbin/busybox", "umount", "/system");

ui_print("All Done! Enjoy!");
 
Heres what my updater-scripts look like for themes:

ui_print("************************************************");
ui_print("* You can make it say whatever *");
ui_print("* you want in this box *");
ui_print("* or make the box look like anything you want *");
ui_print("*or anywhere it says or you add "ui_print *");
ui_print("* ("whatever you want")" *");
ui_print("************************************************");

ui_print("Installing new framework-res.apk");
run_program("/sbin/busybox", "mount", "/system");
delete("/system/framework/framework-res.apk");
package_extract_dir("framework", "/system/framework");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Installing new SystemUI.apk");
run_program("/sbin/busybox", "mount", "/system");
delete("/system/app/SystemUI.apk");
package_extract_dir("app", "/system/app");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Installing new fonts");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("fonts", "/system/fonts");
run_program("/sbin/busybox", "umount", "/system");

ui_print("Cleaning up");
run_program("/sbin/busybox", "mount", "/system");
package_extract_dir("system", "/system");
run_program("/sbin/busybox", "umount", "/system");

ui_print("All Done! Enjoy!");


Very cool. Thank you. This is something I haven't done yet on my own as I've just added my files to other themes.

How do I make it from scratch? Is this what goes in the Meta folder or whatever it is?
 
You can just write it in Notepad++, it goes in the Meta>com>google>android folderwith the update binary. Which I think you can just pull that from any theme zip.

Also in the main Meta folder oyu need CERT RSA file Cert SF File and MANIFEST file, which I just pulled those from SPC's Gingerfusion theme.

Really you can just pulled the whole META folder out of one of my zips and just edit the updater script to say whatever you want. But unlike ldriftas script mine doesnt delete any apps just over writes the ones that are being replaced. Well it deletes but replaces... Honestly I dont even know what line I'd have to add to make it delete a specific app without it replacing...Ill have to check out ldriftas for that :D

Now that I think about it I think I only have to remove the package_extract_dir line Ahaha
 
You can just write it in Notepad++, it goes in the Meta>com>google>android folderwith the update binary. Which I think you can just pull that from any theme zip.

Also in the main Meta folder oyu need CERT RSA file Cert SF File and MANIFEST file, which I just pulled those from SPC's Gingerfusion theme.

Really you can just pulled the whole META folder out of one of my zips and just edit the updater script to say whatever you want. But unlike ldriftas script mine doesnt delete any apps just over writes the ones that are being replaced. Well it deletes but replaces... Honestly I dont even know what line I'd have to add to make it delete a specific app without it replacing...Ill have to check out ldriftas for that :D

Now that I think about it I think I only have to remove the package_extract_dir line Ahaha

Just made my own. So awesome. Wish I would have known this sooner. I always wondered what that META folder was for and where the "opening" screen when you flash comes from. My dumbass just never put 2 and 2 together. Haha


Thanks a ton though, this is very cool.
 
Oh no, status 6? Dang dude, you done messed up big time <_< >_>


Lol jk, don't know what status 6 is. I'm sure 1 of our more experienced members could help here
 
I think status 6 has something to do with un zipping. I got that error when i removed the assert lines from cm9. Instead of just replacing i unzipped replaced zipped up again boom status 6.
 
Back
Top Bottom