[Proof of Concept] Controlling your Rom installation with file_getprop - Epic 4G Android Development

OK, so I've been playing around a lot lately with some edify scripting and looking through the Clockwork Mod source code.
I found some built-in commands that do not appear to be widely known.
I'll probably be creating some sort of "Everything I know about edify scripting" post eventually, but for now, I wanted to share this.
The Concept::
Having control of the zip installation using a config file placed onto the SD card.​
A Fictional Example::
For instance, lets say we have a Rom, we'll call it NubeRom (pronounced Nuber-Om). ;]
OK, so let's say that NubeRom does not install any Stock Samsung Widgets by default.
But NubeRom comes with a file named "options.cfg" that is to be placed onto the root of the SD card.
Inside the "options.cfg" file looks like this:
Code:
install.samsung.widgets=no
That would be the default setting of NOT installing the Samsung Widgets.
Lets say that we wanted to install the Samsung Widgets. We could simply change the file to look like:
Code:
install.samsung.widgets=yes
And then NubeRom's install script would install the Stock Samsung Widgets.​
What the script would look like::
Here is an example of what the install script for the fictional "NubeRom" would look like:
Code:
# mount sdcard so it can be read from
run_program("/sbin/mount/", "/sdcard");
# beginning of ifelse
ifelse(
# read the "install.samsung.widgets" value from the file and compare to "yes"
file_getprop("/sdcard/options.cfg", "install.samsung.widgets") == "yes,
(
# the value was "yes", install stock samsung widgets
ui_print("Installing Stock Samsung Widgets");
# code would go here to install the widgets....
),
(
# the value was not "yes", do not install stock samsung widgets
ui_print("Skipping Stock Samsung Widgets");
)
);
# unmount sdcard
unmount("/sdcard");
The code above is, of course, only the configurable stock widgets portion of the fictional script.​
Testing::
This was tested on an Epic 4G using Clockwork Mod recovery v3.0.0.6.
I have not fully tested what happens when the config file is not in the correct place (in this case the correct place is "/sdcard/options.cfg").
I believe you will get a file not found error or something.
Count that as, this still needs a bit more testing.​
Usage::
Place the "options.cfg" file onto the root of your SD card ("/sdcard").
Flash the "file_getprop_test.zip" file with Clockwork Mod recovery.
Watch the output change based on the config file's setting.​
Other notes::
While looking at the script in the attached test file, some people might notice the use of the concat() and sleep() functions.
Syntax for those is as follows:
Code:
concat("string1", "string2");
sleep(frac);
Example usage:
Code:
concat("Product Device : ", getprop("ro.product.device"));
outputs "Product Device: ~Value~"
Code:
sleep(2.5);
pauses the script for 2.5 seconds.​
Share it::
Link this thread to your favorite Rom dev/packer.
They might find it useful, and maybe some people will do something with this info.​
I've attached two Proof of concept files.
The Clockwork Mod flash-able zip: "file_getprop_test.zip".
The options config file (in a zip): "options.zip".
The forum made me zip the config file. so just extract it first.
=]

I know if we used the options script,this would make for some pretty big ROMs in the future if we included a lot of options that could be installed. Nice find though.
Sent from my SPH-D700 using XDA Premium App

I totally agree about the file size, it could grow exponentially.
It comes down to what the Rom maker chooses to do.
Maybe they choose make a stock base Rom and have a configurable add-on package.
There's also a decent example of using the ifelse() built-in in there.
=]

We could conceivably make some server side web scripts that can put together the config script dynamically and create the appropriate zip file on the fly for a user...

My thought....
Your_Rom_Name.zip
Your_Rom_Name_Install_Options.cfg
You could have a single ROM download and offer a stripped base rom or a full sized rom, all installed from the same ROM zip file. There would only be one ROM file to upload and maintain, but you could have multiple install packages based on it...much like an install shield type wizard would give options like minimum, standard, full.
Good find.

Have implemented these ideas with some additions to my own updater-script and posted info about how to do it here: http://forum.xda-developers.com/showthread.php?p=19962544#post19962544
Thanks so much! I linked back to this thread.

However, while this could result in singly large roms, it has a huge silver lining. The fact of the matter is that I post my roms with a standard and a lite version. For testing's sake, I keep both of them on my SD card, which results in up to 150 MB more memory usage than I need. Plus, I have to ensure that I update TWO packages identically, while this setup would allow me to focus on one.
I have been scouring the web for features like this, but for how widely used it is, resources on edify scripts are scant. This is a great find and I believe I will be implementing it in my future releases. The only thing that could be better would be active prompts and selections while running the installer... ah if only!
Boy I can't believe I never saw this thread before...
Thanks!

Kinda reminds me of Sashimi when I had my Touch Pro 2 (WinMo).

Awesome find ! I totaly agree with random king it is a pain in. The arse to maintain seperate roms... I will be implementing this, once again awesome work as usual.
Sent from my SPH-D700 using XDA Premium App

earthbound[iap] said:
Awesome find ! I totaly agree with random king it is a pain in. The arse to maintain seperate roms... I will be implementing this, once again awesome work as usual.
Sent from my SPH-D700 using XDA Premium App
Click to expand...
Click to collapse
It seems to work great. earthbound, I sent you a pm about an idea I have for this.

Related

[Script] LowFatYoghurt - Choose your topping

Hi,
as I have seen some complaints in the CM forums about what apps should be in the CM6 release (bla bla bloatware bla bla...) and I already use a CM6 nightly with a lot of the apps removed. I thought a script that automagically creates a slimmed down version of a CM6-update.zip according to your personal choice might help some people.
How it works:
You need a linux box with working java6 binaries
Unzip the attached .zip
Optional: Read the release notes in slim.sh. (In fact, better read the whole file and understand what it will do...)
Copy testsign.jar from here in the extracted directory
Copy the gapps into the directory (must be named gapps-mdpi-FRF91-3-signed.zip)
Copy some CM6-update.zip into the directory
Decide what you want to keep/delete:
This is the interesting part. There are 3 Files ending with .bl in the extracted directory. Just edit them with your favourite text editor. Files with a # in front of the filename will be kept, without it it will be deleted.
Optional: Put some stuff you want in the adds folder, but use the directory structure of the update.zip (e.g. you want launcherpro: copy LauncherPRO.apk to adds/system/app/LauncherPRO.apk)
Run the script: "sh slim.sh NameOfCM6Update.zip"
Flash LowFatYoghurt-CM6-signed.zip and hope that you did not remove something essential [as always, flash on your own risk]
The .bl files in their current state are what I am trying at the moment, so EDIT THEM YOURSELF, I can not promise that everything runs smooth with this settings.
Have fun with this, learn something, improve and share it.
Thanks go out to cyanogen and his team for this awesome build and to everyone else contributing to the android community. The updater-script somewhere deep in adds is kanged from cyanogen and just slightly modified (thanks again).
mblaster
€: Some more automation for the lazy ones...
The new scriptfile GetFreshLFY.sh can be extracted from GetFreshLFY2.zip into the same directory as LowFatYoghurt. To run just type "sh GetFreshLFY.sh" to automatically download and slim the newest nightly for d/s using your current .bl files and adds.
€€: Fast update. Changed GetFreshLFY.sh to make it not download the newest nightly if it already is present.
This is cool. very well-implemented.
jcarrz1 said:
This is cool. very well-implemented.
Click to expand...
Click to collapse
Thanks. I just thought if it is useful for me it might as well be usefull for anyone else
Nice idea, but I always just run a gscript I made to remove them for me. I guess this would take a few mb off of the rom before hand thereby making the flashing process a bit faster.
mejorguille said:
Nice idea, but I always just run a gscript I made to remove them for me. I guess this would take a few mb off of the rom before hand thereby making the flashing process a bit faster.
Click to expand...
Click to collapse
Not only that. If you dare to remove enough, CM6 might eventually fit stock spl (got it down to about 70mb, so quite close). Additionally you can use firerats mtd patch to use the saved /system space for /data.
€: Someone should really make a bootanimation out of your sig
Added another script to OP.
Nice work. And great idea. Thanks.
I liked the idea here but changed it up a bit. I made it so the script runs after the rom installs.
PHP:
"Usage $SCRIPT_NAME [-l] [-s]"
""
"options:"
" -l | --list Creates a list of your apps and media"
" -s | --slim Removes unwanted specified files"
" -h | --help This help"
""
"To remove files run $SCRIPT_NAME -l to create a list of files"
"Open $SLIM_APK and $SLIM_MEDIA"
"Remove the '#' infront of each file you want to delete."
"Run $SCRIPT_NAME -s to remove all the unwanted files."

Custom clockworkmod compatible update.zip

Hello, I would like to create my own update.zip that would be compatible with clockwork mod. I have several files in several locations that I manually copy over after new installs like multicolored bash nano iwconfig iwlist etc. And I think it would be much easier to create a installable package for that, I also delete a number of built I. Apps like tweeter amazon etc. And I have seen the scripts inside oyhers update.zip's that I could add the bash commands to remove those things as well.unfortunately I know nothing about what clockworkmod wants and I see binarys inside these zips dont know if those are customized for each zip or the same in all of them, I dont know what files or information is absolutely required. The best possible solution is if I had a blank update.zip that held all of the required files settings and all I needed to do was add my files and asd a few lines to a preexisting script to remove sum stock apps.thinking back I might have seen a file containing all the files names and md5 chucksums for each as well which if necessary I can do. Is there something like this available for download sumwhere? If not ajy resources to learn the required information and find the required binarys.thank you in advance.
Sent from my Droid using Tapatalk
Hi,
I've been trying to learn the same thing. I'm curious if you found anything useful since posting this.
Of course, if I find anything, i'll post back here too.
Thanks.
Same problem here
Good to hear someone with same problems. I want to create a generic ROM for myself and I want to use ClockworkMod to help flash it instead of using fastboot.
Well, I have found no documentation about what ClockworkMod may need for a zip file.
But I guess it could be possible to just replace them with your own by downloading an existing zip file created by someone else.
I'll try it to see if that works or not. Of course, a documentation would be better.
I regularly flash a new CM7 Nightly as they are released and I have to manually modify some things each time a new rom is flashed. I change screen density and add a notification ringtone that CM7 does not have. I wanted to automate that. Since I have to reflash the Google Apps each time anyway, I thought why not modify the gapps zip to include my changes. After searching the web I found a little info about how to do it. I just modify the zip on my computer using WinRar, copy the file to my device and re-sign the package using signapktic which is free on the market. Then flash using CWM. It worked great. No more manual adjustments. There are some instructions here which helped me:
http://forum.cyanogenmod.com/topic/15030-moving-apps-to-system/
I been getting into the kitchen
http://forum.xda-developers.com/showthread.php?t=633246
So far i`ve managed to integrate a few apps , ringtone should be easy
next the fonts from utmost rom
thanks to the kitchen, Im now running at script kiddie level

AutoMod [Modding Tool] [Script] [Linux/OSX]

AutoMod BETA 1.6 by MAD Industries
-----------------------------------------------------------------------------------------------------------------------------------
First off, this is not another APK Manager, this is also not Auto APK Tool. These two tools focus on the decompiling and recompiling of APK and jar files. AutoMod intends to bring a new paradigm to modding. That is, there are mods and there are roms. AutoMod makes them friendly with eachother. APKs are handled internally by the script.
I wrote this tool because as a developer who was using APK Manager, I ran into several obstacles along the way. One of them was that I liked to be able to take requests from users and personalize the mod to their tastes. Unless I was impeccable with my folder organization, it very quickly got out of hand with people asking for personalizations based on other personalizations. I would find myself decompiling a version I made the day before so I could remember what was in it and create yet another version on top of it. All this back and forth and I would end up with a mess of recompiled, decompiled, original, custom, extracted, etc files all over the place taking unnecessary HD space. On top of that, every step of the way required user input in the form of a yes/no prompt or selected a menu option for decompiling/recompiling/keep folders/signing/etc. And then I would manually create a flashable zip file for each version. AutoMod solves many of this issues in it's current BETA state. When it is finished, it will have solved all of them.
Features for End-Users:
Mods are dynamically applied to your ROM (this allows mods to stay up-to-date with the ROM without original developer support)
Mods often work across multiple similar ROMs (easy porting)
Mods are stored in what I call "opensource" format which means it is very easy to dig into the Mod package and change things to your personal preferences with very little knowledge modding
Only the modified files within the apk are stored in a mod package. This greatly reduces filesize
AutoMod encourages backups at every major step in the process
Backups are dynamic, meaning it will only backup the files which are modified
Backups are automatically saved as a flashable zip file so you can have it ready if a mod does not successfully integrate
AutoMod always keeps itself up-to-date with the latest features
Distribution of AutoMod requires only the script itself
AutoMod has the ability to accept a ROM Install file or an actual device as a base for creating a flashable zip file out of any mod package
Supported devices can have mods applied instantly and automatically over adb
Features for Developers
Since mod packages only contain changed files, you no longer have to hunt through hundreds of files to find a single png (such as when creating five different colored versions of a theme)
Easy packaging of mods for redistribution for this tool as well as update.zip format
AutoMod can "install" multiple ROMs into it's system so you can make a mod once, and then distrubute it for several ROMs at the same time
If you run nightly builds of your own ROM, AutoMod will soon include a scriptable feature which will allow you to release nightly themes, mods, etc with no extra effort
Much of the developer features are yet to come (such as quick prototyping of mods and parallel device/ROM support)
---------------------------------------------------------------------------------------------------------------------------------------
Tutorial written by mybook4 on post #16 (be sure to thank him)
---------------------------------------------------------------------------------------------------------------------------------------
1) Download automod.sh script and place it into an appropriate directory (I used one called AutoModTest)
2) Download the ROM Install zips you would like
3) Create your mod package (see below)
4) Run automod by typing “bash automod.sh” in a terminal
5) Select option 5 (Install a new ROM file into AutoMod), and follow the script's directions (copying your ROM zip, to the directory, not moving it or it will be overridden)
6) Select option 4 (Install a new mod package into Automod), and follow the script's directions (copying your mod zip, to the directory, not moving it or it will be overridden)
7) Select option 3 (Use a ROM Install zip + mod to create a flashable zip for another ROM/device), choosing the appropriate ROM and mod package.
8) Out came the zip! This makes things soooooooooooo much easier and more manageable!
Notes about automod mod packages:
1) A mod file is structured as a zip file with the extension .zip replaced with .mod (so as to separate it from flashable zips with the same name)
2) In the mod file is a directory with the name of the mod.
3) In the directory with the name of the mod is a directory tree leading to the files within the specific apk you would like to modify. For example, in the ICSBlueFull.mod file, the directory tree is as follows: ICSBlueFull, system, app, SystemUI (the apk being modified), res, directories with modified files (images, xml files, etc).
4) Just to be safe (and to match the ICSBlueFull mod supplied), I set permissions on all folders in my mod to 755 and all files to 644 (if these numbers don't mean much to you, open a terminal and type “man chmod”)
5) There is a command to package mods you have made into .mod files. This can be found in the developer menu. (option 11)
6) Spaces in file name are currently not handled very well. Try and name your mods accordingly.
---------------------------------------------------
How To Create A Mod
click to enlarge
---------------------------------------------------
Download the script here: http://cl.ly/code/463B1C3B123i
Note: Proper syntax is 'bash automod.sh'
Download an example mod here (for stock GS3 touchwiz based ROMs) [Fixed!]: https://github.com/downloads/MADindustries/automod/ICSBlueFull.mod
Original thread for this mod can be found here: http://forum.xda-developers.com/showthread.php?t=1775235
View the source/branch it here: https://github.com/MADindustries/automod (check this to see if using a 'forceupdate' would add features/functions)
awesome work dude!
invisiblek said:
awesome work dude!
Click to expand...
Click to collapse
Thanks. Btw you are in the credits on the script itself. (even if it was a couple binaries haha)
Wow. Great work. Can't wait to see more!
Ta very much indeed.
ALQI
Sent from my SCH-I535 using xda app-developers app
Nice job buddy..No Windows support?
This is amazing. +100000000000
Sent from my SCH-I535 using xda app-developers app
incubus26jc said:
Nice job buddy..No Windows support?
Click to expand...
Click to collapse
Not just yet. I'm on Mac personally which makes it not too difficult to see some Linux support as well. But Windows would be a completely new write from what i can tell. It will likely happen after this is out of beta unless a Windows dev feels like working with me on it. Obviously everything is open source and i would love to see a port pop up before i get around to it.
Sent from my Galaxy Nexus using Tapatalk 2
Very cool indeed.
Tried to download the example mod but appears it's down/not available.
Definitely want to give this a try.
Thanks for sharing
MAD Industries said:
Not just yet. I'm on Mac personally which makes it not too difficult to see some Linux support as well. But Windows would be a completely new write from what i can tell. It will likely happen after this is out of beta unless a Windows dev feels like working with me on it. Obviously everything is open source and i would love to see a port pop up before i get around to it.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
It might work on windows with the right install of cygwin. I'd have to create a windows VM to test it out and I'm not all that familiar with cygwin anymore, any windows devs out there good with cygwin?
Sent from my SCH-I535 using xda app-developers app
alquimista said:
It might work on windows with the right install of cygwin. I'd have to create a windows VM to test it out and I'm not all that familiar with cygwin anymore, any windows devs out there good with cygwin?
Sent from my SCH-I535 using xda app-developers app
Click to expand...
Click to collapse
Oh yeah! I totally forgot about cygwin. Yeah that should do it. It has all dependencies packaged with it except java and wget/curl. And only java is really necessary if you kinda know your way around.
Nice! Another great tool for the community!
Just what ive been waiting for
---------- Post added at 08:40 PM ---------- Previous post was at 08:32 PM ----------
Looks like running with cygwin gives unknown operating system. Can't proceed after that.
clark44 said:
Just what ive been waiting for
---------- Post added at 08:40 PM ---------- Previous post was at 08:32 PM ----------
Looks like running with cygwin gives unknown operating system. Can't proceed after that.
Click to expand...
Click to collapse
Oh yeah, that will have to be changed. run the command 'echo $(uname)' in a cygwin terminal and let me know what it outputs. I'm guessing just cygwin. Then i'll update the script to support it.
Any chance anyone has the example mod posted in the first post available on another hosting provider? It's been down for 2 days
myn said:
Any chance anyone has the example mod posted in the first post available on another hosting provider? It's been down for 2 days
Click to expand...
Click to collapse
Fixed it! Sorry about that. I don't know what happened with cloud.
Automod works great! Thanks so much! Here are the steps I took to create a quick little test mod to enable a 40x38px navigation bar and have only the wifi, bluetooth, gps, rotation, sync status bar toggles for Beans R8. I'm on Beans R3.1, so I didn't get a chance to test the zip in CWM.
1) Download automod.sh script and place it into an appropriate directory (I used one called AutoModTest)
2) Download the ROM Install zips you would like
3) Create your mod package (see below)
4) Run automod by typing “bash automod.sh” in a terminal
5) Select option 5 (Install a new ROM file into AutoMod), and follow the script's directions (copying your ROM zip, to the directory, not moving it or it will be overridden)
6) Select option 4 (Install a new mod package into Automod), and follow the script's directions (copying your ROM zip, to the directory, not moving it or it will be overridden)
7) Select option 3 (Use a ROM Install zip + mod to create a flashable zip for another ROM/device), choosing the appropriate ROM and mod package.
8) Out came the zip! This makes things soooooooooooo much easier and more manageable!
Notes about automod mod packages:
1) A mod file appears to be structured as a zip file with the extension .zip replaced with .mod
2) In the mod file is a directory with the name of the mod.
3) In the directory with the name of the mod is a directory tree leading to the files within the specific apk you would like to modify. For example, in the ICSBlueFull.mod file, the directory tree is as follows: ICSBlueFull, system, app, SystemUI (the apk being modified), res, directories with modified files (images, xml files, etc).
4) Just to be safe (and to match the ICSBlueFull mod supplied), I set permissions on all folders in my mod to 755 and all files to 644 (if these numbers don't mean much to you, open a terminal and type “man chmod”)
The 5StatusBarNavBar mod package for Beans R8
The CWM zip for the above mod package
MAD Industries said:
Oh yeah, that will have to be changed. run the command 'echo $(uname)' in a cygwin terminal and let me know what it outputs. I'm guessing just cygwin. Then i'll update the script to support it.
Click to expand...
Click to collapse
CYGWIN_NT-6.1-WOW64 (edit: uname -o will just return Cygwin)
Took a quick look at your script and I don't think it will too much of effort to offer cygwin support. Package manager by default will install bash, and curl/wget is available as well. You would need to install java naively on OS (it is accessible via your bash shell). Also to note don't think it will be required for your script based on my quick look, but you could always use the built in 'cygpath' command to convert windows<->unix paths if necessary.
Unfortunately only have a Windows box at work so can't spend to much time on but if no one gets to it I will take a stab later this week time permitting.
incubus26jc said:
Nice job buddy..No Windows support?
Click to expand...
Click to collapse
Linux is free and easy to dual boot. Nothing stopping you.
Or just run Linux from a VM. You can even forward the USB ports with Vitualbox.
mybook4 said:
Automod works great! Thanks so much! Here are the steps I took to create a quick little test mod to enable a 40x38px navigation bar and have only the wifi, bluetooth, gps, rotation, sync status bar toggles for Beans R8. I'm on Beans R3.1, so I didn't get a chance to test the zip in CWM.
1) Download automod.sh script and place it into an appropriate directory (I used one called AutoModTest)
2) Download the ROM Install zips you would like
3) Create your mod package (see below)
4) Run automod by typing “bash automod.sh” in a terminal
5) Select option 5 (Install a new ROM file into AutoMod), and follow the script's directions (copying your ROM zip, to the directory, not moving it or it will be overridden)
6) Select option 4 (Install a new mod package into Automod), and follow the script's directions (copying your ROM zip, to the directory, not moving it or it will be overridden)
7) Select option 3 (Use a ROM Install zip + mod to create a flashable zip for another ROM/device), choosing the appropriate ROM and mod package.
8) Out came the zip! This makes things soooooooooooo much easier and more manageable!
Notes about automod mod packages:
1) A mod file appears to be structured as a zip file with the extension .zip replaced with .mod
2) In the mod file is a directory with the name of the mod.
3) In the directory with the name of the mod is a directory tree leading to the files within the specific apk you would like to modify. For example, in the ICSBlueFull.mod file, the directory tree is as follows: ICSBlueFull, system, app, SystemUI (the apk being modified), res, directories with modified files (images, xml files, etc).
4) Just to be safe (and to match the ICSBlueFull mod supplied), I set permissions on all folders in my mod to 755 and all files to 644 (if these numbers don't mean much to you, open a terminal and type “man chmod”)
The 5StatusBarNavBar mod package for Beans R8
The CWM zip for the above mod package
Click to expand...
Click to collapse
Thank you so much for writing this! I am adding it to the OP. (let me know if you want me to take it down for some reason though)
Quick note, I think step 6 was supposed to be copy mod file to install directory? Also, a .mod file is exactly that; a zip file renamed to .mod. I did this to differentiate it from flashable zip files because the two would likely have the same name and it would cause confusion yet I still wanted to keep the .mod format easily modifiable/not proprietary. And one last thing, there is a hidden command called "packagemod" which can be used after you create your own mod to zip it up properly for distribution. It is entered at the main menu in place of choosing an option. Syntax: 'packagemod ICSBlueFull'.
lowg said:
CYGWIN_NT-6.1-WOW64 (edit: uname -o will just return Cygwin)
Took a quick look at your script and I don't think it will too much of effort to offer cygwin support. Package manager by default will install bash, and curl/wget is available as well. You would need to install java naively on OS (it is accessible via your bash shell). Also to note don't think it will be required for your script based on my quick look, but you could always use the built in 'cygpath' command to convert windows<->unix paths if necessary.
Unfortunately only have a Windows box at work so can't spend to much time on but if no one gets to it I will take a stab later this week time permitting.
Click to expand...
Click to collapse
Thanks for the tips. I have next to no experience with cygwin so this information is very helpful. I'll look into adding support to the next release.

[GUIDE] Edgehood's All Inclusive ROM Building Guide

Building Your Own ROM​
This took forever. Please hit the thanks button if this helped you lol
I'm the Developer who's currently working on Delta ROM, and I developed Vengeance ROM all the way through Version 3.2. I've had MANY people message me asking how they can develop their own ROM, so, instead of helping everyone individually, I've decided to make a guide for the whole community to use. The preliminary part of this guide will take you through getting a base using two methods, giving your ROM it's own name, debloating your ROM, adding the kernel of your choice, and editing build.prop and adding init.d tweaks.​
Future posts will include everything from adding Aroma Installer to adding mods.
So with that, let's begin.​
Building A Base
Building from a stock, rooted, de-odexed base WITHOUT the kitchen (recommended):
Downloading and moving the Base
This is how I create my ROMs. Other developers along with myself have found that Dsixda's android kitchen can create issues with your ROM (namely the updater-script), so building from an already existing base is always the safest in my opinion.
First, we will need to get a base. There are many different versions out there, however, they almost are all the exact same. I use Scrosler's base for my ROMs. You can find his base, along with the stock Modem, RPM, and kernel with custom boot animation support here.
Download Scott's base, and extract the files within the ZIP archive somewhere on your computer. I recommend creating a development directory somewhere on your computer.
I work on Mac OS X, so my development directory is in my home folder under /dev.
In Windows, this sample directory would be in C:\\Users\YourName\Dev
Linux is similar to OS X. I recommend placing your Development directory in ~/Dev (~/ is your home folder's directory)
Of course, you can place these files wherever you want this is just how I have my computer set up.
_________________________________________________________________________________________________________________________
Building a base WITH the kitchen (not recommended due to incompatibilities and time consumption):
Downloading and Installing the Kitchen
This will teach you how to create a base of your own using Samsung's ODIN file and Dsixda's Kitchen.
First of all, you must download Dsixda's Kitchen. Luckily, the Verizon S3 is supported by the kitchen, so BUILDING your base using the kitchen is practically painless. Getting the kitchen running is difficult at times, and you may run into issues later. If you want to evade these issues, I suggest building your ROM from an already existing base. If you don't want to do that, keep reading . The kitchen can be downloaded from here. Just click on the latest version, and press the button with the cloud and the word "ZIP" to download the repo as a zip file. Keep that somewhere on your computer...
Setting up the kitchen is a different story. It's relatively easy on Mac and Linux, but because the kitchen is designed to run in UNIX environments, it's a little bit tougher on Windows. You can find a guide for setting up the kitchen here.
Adding The Odin Files for the Kitchen To Compile
The next step to compiling a base using the kitchen is to take Samsung's files, and add them to the kitchen folder. This is pretty simple. Download the VRBLK3 Stock ODIN from here (thanks open1your1eyes0).
Extract the files to the original_update folder in your kitchen folder.
Building Using the Kitchen
Finally, we're ready to build your base using the kitchen. Start the kitchen by navigating to your kitchen folder in terminal (or command prompt through Cygwin on Windows), and typing "./menu" on mac and linux, or just typing "menu" on Windows.
Option 1 within the kitchen should compile a base ROM for you. You can then root, deodex, zipalign, and change the name of your ROM, and much more, from within the kitchen.
When you're done, option 99 will compile your ROM and move a ZIP file to your OUTPUT_ZIP folder within your kitchen folder.
_________________________________________________________________________________________________________________________
Renaming your ROM
Renaming your ROM is very simple. After building your base, unzip the files and navigate to /system/build.prop. In the build prop, find the line that says "ro.build.display.id=". Replace the rest of the text on this line with your desired name. Save your build.prop. Thats it
Debloating Your ROM
Debloating your ROM is fairly simple as well. The list of removable Apps on the S3 can be found here (thanks to whoever made this, you are a god lol). This is a list for the international version of the S3, but most of the files are the same and MOST Verizon Apps can be removed as well.
Just delete the apks that you want to remove from your /system/app folder within your ROM files.
Init.d Tweaks
Init.d tweaks are scripts that allow your ROM to execute certain actions upon boot. For example, in my Delta ROM, I have an init.d tweak that zipaligns all apks upon boot.
While this guide won't cover creating your own init.d tweaks, adding them is simple. Take the init.d script that you find somewhere online, and simply drop it into your /system/etc/init.d folder. That's all.
Be aware that a lot of people make claims for their tweaks like "best RAM management tweaks" whn posing the tweaks in another device forum. For example, if you found a thread with the "best RAM management tweaks" in the Galaxy S forums, those tweaks are probably not good for our device since we have more available RAM than they do. Overall, it's best to DO YOUR RESEARCH and design your own scripts.
Build.prop Tweaks
Build.prop tweaks are lines added to your build.prop file within /system. They can do many things, and many of them improve performance and battery life on your ROM. A simple list of build.prop tweaks can be found here (Thanks for the new link, upndwn4par). Please note that not all build.prop tweaks out there will work for your device. Just add the lines that you want to add to the BOTTOM of your build.prop file, and save it.
Adding a Custom Kernel
When I first started building ROMs, one of the things that I couldn't figure out was how to add a custom kernel to my ROM. It's actually very simple. Find the kernel you want, download it, extract the zip file, and copy it's files into your ROM in the right locations. For example, you would replace the boot.img in your ROM with the boot.img from your custom kernel, and you would replace the modules in your /system/lib/modules folder with the module files from the kernel. Continue doing this until all of the kernels files are in your ROM. However, NEVER copy over the META-INF folder.
Flashing Your ROM
This is pretty simple. Simply compress your ROM files (boot.img, system folder, Meta-inf folder, and anything else) into a regular ZIP file, move the ZIP to your phone, boot into recovery, wipe data, cache, and dalvik cache, and flash your ROM.​
If you did everything right, you should now be running your ROM Hopefully my guide helped you. Feel free to message me if you run into any issues or just have any general questions.
There is much more to development than just this. But this is meant to get you guys started
KANGING
Do NOT, I repeat DO NOT, take anything from another developer's ROM without his/her permission. This is called kanging, and it is extremely frowned upon and even rude because another Dev has spent A LOT of time slaving over the work, and then you take it and use it as your own. I can't speak for other Devs, but if you want something from my ROM, just ask. I'm a pretty open-minded guy, and chances are that I'm gonna say yes.
Credit
Always give credit where credit is due. If a developer helped you out in any way with your ROM, it is always courteous to include them in the credits section of your ROM.
Thanks guys ​
reserved
this is mine too
Re: [GUIDE] Edgehood's All Inclusive ROM Making Guide
First
Thanks I think I'll give it a go.. the best Rom is your own I suppose. .when your adding in some of your init.d when do find weather they will work properly? Is there a program to run your rom on with windows pc or ubuntu before flashing perhaps?
I would like to get Reim's builds props and such(with all do respect)
Nice!!! Thanks for this. You da man!
Sent from my SCH-I535 using xda premium
Edgehood said:
Building Your Own ROM​
This took forever. Please hit the thanks button if this helped you lol
I'm the Developer who's currently working on Delta ROM, and I developed Vengeance ROM all the way through Version 3.2. I've had MANY people message me asking how they can develop their own ROM, so, instead of helping everyone individually, I've decided to make a guide for the whole community to use. The preliminary part of this guide will take you through getting a base using two methods, giving your ROM it's own name, debloating your ROM, adding the kernel of your choice, and editing build.prop and adding init.d tweaks.​
Future posts will include everything from adding Aroma Installer to adding mods.
So with that, let's begin.​
Building A Base
Building from a stock, rooted, de-odexed base WITHOUT the kitchen (recommended):
Downloading and moving the Base
This is how I create my ROMs. Other developers along with myself have found that Dsixda's android kitchen can create issues with your ROM, so building from an already existing base is always the safest in my opinion.
First, we will need to get a base. There are many different versions out there, however, they almost are all the exact same. I use beanstown106's base for my ROMs. You can find his base, along with the stock Modem, RPM, and kernel with custom boot animation support here.
Download Bean's base, and extract the files within the ZIP archive somewhere on your computer. I recommend creating a development directory somewhere on your computer.
I work on Mac OS X, so my development directory is in my home folder under /dev.
In Windows, this sample directory would be in C:\\Users\YourName\Dev
Linux is similar to OS X. I recommend placing your Development directory in ~/Dev (~/ is your home folder's directory)
Of course, you can place these files wherever you want this is just how I have my computer set up.
_________________________________________________________________________________________________________________________
Building a base WITH the kitchen (not recommended due to incompatibilities and time consumption):
Downloading and Installing the Kitchen
This will teach you how to create a base of your own using Samsung's ODIN file and Dsixda's Kitchen.
First of all, you must download Dsixda's Kitchen. Luckily, the Verizon S3 is supported by the kitchen, so BUILDING your base using the kitchen is practically painless. Getting the kitchen running is difficult at times, and you may run into issues later. If you want to evade these issues, I suggest building your ROM from an already existing base. If you don't want to do that, keep reading . The kitchen can be downloaded from here. Just click on the latest version, and press the button with the cloud and the word "ZIP" to download the repo as a zip file. Keep that somewhere on your computer...
Setting up the kitchen is a different story. It's relatively easy on Mac and Linux, but because the kitchen is designed to run in UNIX environments, it's a little bit tougher on Windows. You can find a guide for setting up the kitchen here.
Adding The Odin Files for the Kitchen To Compile
The next step to compiling a base using the kitchen is to take Samsung's files, and add them to the kitchen folder. This is pretty simple. Download the VRBLK3 Stock ODIN from here (thanks open1your1eyes0).
Extract the files to the original_update folder in your kitchen folder.
Building Using the Kitchen
Finally, we're ready to build your base using the kitchen. Start the kitchen by navigating to your kitchen folder in terminal (or command prompt through Cygwin on Windows), and typing "./menu" on mac and linux, or just typing "menu" on Windows.
Option 1 within the kitchen should compile a base ROM for you. You can then root, deodex, zipalign, and change the name of your ROM, and much more, from within the kitchen.
When you're done, option 99 will compile your ROM and move a ZIP file to your OUTPUT_ZIP folder within your kitchen folder.
_________________________________________________________________________________________________________________________
Renaming your ROM
Renaming your ROM is very simple. After building your base, unzip the files and navigate to /system/build.prop. In the build prop, find the line that says "ro.build.display.id=". Replace the rest of the text on this line with your desired name. Save your build.prop. Thats it
Debloating Your ROM
Debloating your ROM is fairly simple as well. The list of removable Apps on the S3 can be found here (thanks to whoever made this, you are a god lol). This is a list for the international version of the S3, but most of the files are the same and MOST Verizon Apps can be removed as well.
Just delete the apks that you want to remove from your /system/app folder within your ROM files.
Init.d Tweaks
Init.d tweaks are scripts that allow your ROM to execute certain actions upon boot. For example, in my Delta ROM, I have an init.d tweak that zipaligns all apks upon boot.
While this guide won't cover creating your own init.d tweaks, adding them is simple. Take the init.d script that you find somewhere online, and simply drop it into your /system/etc/init.d folder. That's all.
Be aware that a lot of people make claims for their tweaks like "best RAM management tweaks" whn posing the tweaks in another device forum. For example, if you found a thread with the "best RAM management tweaks" in the Galaxy S forums, those tweaks are probably not good for our device since we have more available RAM than they do. Overall, it's best to DO YOUR RESEARCH and design your own scripts.
Build.prop Tweaks
Build.prop tweaks are lines added to your build.prop file within /system. They can do many things, and many of them improve performance and battery life on your ROM. A simple list of build.prop tweaks can be found here. Just add the lines that you want to add to the BOTTOM of your build.prop file, and save it.
Adding a Custom Kernel
When I first started building ROMs, one of the things that I couldn't figure out was how to add a custom kernel to my ROM. It's actually very simple. Find the kernel you want, download it, extract the zip file, and copy it's files into your ROM in the right locations. For example, you would replace the boot.img in your ROM with the boot.img from your custom kernel, and you would replace the modules in your /system/lib/modules folder with the module files from the kernel. Continue doing this until all of the kernels files are in your ROM.
Flashing Your ROM
This is pretty simple. Simply compress your ROM files (boot.img, system folder, Meta-inf folder, and anything else) into a regular ZIP file, move the ZIP to your phone, boot into recovery, wipe data, cache, and dalvik cache, and flash your ROM.​
If you did everything right, you should now be running your ROM Hopefully my guide helped you. Feel free to message me if you run into any issues or just have any general questions.
There is much more to development than just this. But this is meant to get you guys started
KANGING
Do NOT, I repeat DO NOT, take anything from another developer's ROM without his/her permission. This is called kanging, and it is extremely frowned upon and even rude because another Dev has spent A LOT of time slaving over the work, and then you take it and use it as your own. I can't speak for other Devs, but if you want something from my ROM, just ask. I'm a pretty open-minded guy, and chances are that I'm gonna say yes.
Credit
Always give credit where credit is due. If a developer helped you out in any way with your ROM, it is always courteous to include them in the credits section of your ROM.
Thanks guys ​
Click to expand...
Click to collapse
you make it look easy. lol nice job. someday possibly. someday....
Thanks for this Edge. I'm gonna try and build my own rom now thanks to you. I really appreciate all the guides. Keep them coming when u get a chance.
Sent from my SCH-I535 using xda premium
Fantastic work,thanks
how do you open the build.prop file?
You sure we should use that link for build props as reference? Seems like a lot of bad reviews fir only 2 pages.
Sent from my SCH-I535 using Tapatalk 2
These threads are always great to encourage people to get involved. Nice work!
Sent from my SCH-I535 using Xparent ICS Tapatalk 2
Nice guide. These are always great to get people started.
Though I must disagree with your comments on using the kitchen for a few reasons.
1) There are no compatibility problems that I have experienced.
2) It is not time consuming. It actually saves a lot of time. For example, if you have a decent PC you can:
a) Deodex a ROM in about 5 minutes.
b) Zipalign every apk in about 30 seconds.
c) Add init.d support, root, and buybox in about 2 minutes.
3) The kitchen builds ROMs, it does not compile them.
Also, most of the build.prop tweaks in the reference you linked (and just about every guide you can find) are bogus. Most have been completely debunked. Also, any tweak with a "mot" in it is strictly for Motorola devices.
Jeff Mixon article on build.prop tweaks.
upndwn4par said:
Nice guide. These are always great to get people started.
Though I must disagree with your comments on using the kitchen for a few reasons.
1) There are no compatibility problems that I have experienced.
2) It is not time consuming. It actually saves a lot of time. For example, if you have a decent PC you can:
a) Deodex a ROM in about 5 minutes.
b) Zipalign every apk in about 30 seconds.
c) Add init.d support, root, and buybox in about 2 minutes.
3) The kitchen builds ROMs, it does not compile them.
Also, most of the build.prop tweaks in the reference you linked (and just about every guide you can find) are bogus. Most have been completely debunked. Also, any tweak with a "mot" in it is strictly for Motorola devices.
Jeff Mixon article on build.prop tweaks.
Click to expand...
Click to collapse
I've experienced a few issues when building with the kitchen. For example, the ROM wouldn't flash after cooking it because it said there was no MD5.
The kitchen does save time once you get it set up. However, its much faster to download a 700-800mb base and move it into a folder than download >1GB ODIN file and get the kitchen set up correctly. Especially if you have to set up Cygwin or a VM if you're on windows. I agree with you that with a good PC, the kitchen will build a ROM fast. But not everyone (including myself lol) has a PC that can build them that fast.
It is completely a matter of preference though. I prefer to build my ROMs from a base, but you prefer to use the kitchen. After all, that's why I included both methods in the guide
I'll look at the build.prop thing, I might've posted the wrong link. I was exhausted lol
Thanks,
Edge
EDIT: I changed the build.prop link to the article you posted. Thanks man
awesome.. will give it a shot when I have some time
thank you
I assume this is for building when one doesn't want to change any other files than the ones you mention. But if I want to alter something, say, on the notification bar, I would need instructions on what files to alter and, if relevant, how to compile my changes into a binary that can then be included in the ROM. This is a good start so thank you.
thornev said:
I assume this is for building when one doesn't want to change any other files than the ones you mention. But if I want to alter something, say, on the notification bar, I would need instructions on what files to alter and, if relevant, how to compile my changes into a binary that can then be included in the ROM. This is a good start so thank you.
Click to expand...
Click to collapse
Correct. It says that there is more to developing and that this should get you started
Nice and quick guide! Good job! It really is simple stuff once you get familiar w/ files and all.
HaVoK C89 said:
Nice and quick guide! Good job! It really is simple stuff once you get familiar w/ files and all.
Click to expand...
Click to collapse
Thanks!
Nice work

How to create your own tw rom on your phone using root explorer

In this tutorial I will show you how to create your own T.W. rom using your GS3 and Root Explorer. There are many ways you can create a rom but not everyone has the time to sit at a computer every night. However, your phone is always on you and can find a few minutes here and there to create your own masterpiece.
For the sake of this tutorial, we will name our new rom "SLICK".
Here are a few things you will need...
1. The rom base from Scottsroms. I'm NOT talking about Cleanrom but the unmodified stock rooted rom.
2. Root Explorer.
3. Script Manager
4. Any mod you can flash or come up with on your own.
1. GET STARTED!
Download the base rom to your phones EXT-sdcard and extract it using Root Explorer. After it's extracted the new unziped rom will be located in /storage/sdcard0/SpeedSoftware/Extracted. The extracted rom is now your new base. At this point it would be a great idea to move it to your EXT-sdcard and create a new project folder for it and label the folder "Project SLICK". inside the folder is your rom. lets rename that rom "SLICK".
Lets open your new SLICK rom. You should have some folders...
BOOT IMAGE
DATA
META-INF
SYSTEM
3. THE SYSTEM FOLDER
/SYSTEM/APP
Most of your work will done in the System folder so lets open that up. This is the heart of your rom! There are many folders here but lets start with the app folder. This folder has every app installed in your rom. This is a good time to remove the bloat you don't want in your rom. Go ahead and delete the apk's you don't want or need.
/SYSTEM/BIN
Here you can speed up your system or make it more battery efficient by deleting things like "mpdecision" and things like that. Be careful what you delete though. In general you won't do much in here.
/SYSTEM/BUILD.PROP
Here you can change values or add values. The one value we are concerned with is "ro.build.display.id" This build property's value will be displayed in the end users settings menu under "about phone". So let's give this property the correct value "ro.build.display.id=SLICK ROM v1.0" The rest of the build properties you can do as you wish. Build.prop is simply a text file. You can use the text editor built into Root Explorer.
/SYSTEM/CSC
Open this file and you will see more files. Listed is "feature.xml". Here you can edit values for various items for texting and mms.
/SYSTEM/ETC
Here is where you will find a folder called "init.d". Located in this folder are various text files. The text files are scripts that are told to run when your phone boots. You can add or modify to the existing scripts or create a new text file.
So we went over a few of the basics of modding your new rom and molding it into something you can call your own but does it work??
4. TESTING YOUR NEW BASE.
So we have already modified our rom a considerable amount and should have a good solid base. Before we go any further we should really test things out first. If we did something wrong earlier we will at least have an idea where to look. So lets flash our new rom. Go to you EXT-sdcard and find our project folder. you should still have your SLICK file. Zip this file with Root Explorer. Make sure you have a good battery and a cool environment because it's going to take your GS3 about 30min of hard work to zip this file. When that is finally completed, flash your new rom located in /storage/sdcard0/SpeedSoftware/Archives. Flash it just like you would any other rom.
Test your new rom out on your GS3 and see how things are running. Check your existing modifications you did earlier. If everything looks good, we can continue modding. If not you will need to go back to your base to see where you went wrong. This is also a great time to check your init.d scripts. One way to do this is to download "Script manager" from the market and click on your init scripts to read there log. It will tell you if something went wrong.
If everything is looking good, we can continue modding...
5. THE MODS
So we have that nice clean base but what about all them mods in the roms we download and flash everyday? There are a few different ways we can do this and we will start with the easiest but first, do a nandroid backup of your new base. If one of your mods you perform next goes bad it's simply quicker to recover. Now, If you have flashable zips of some of the mods you like then you can flash them now and make sure they are working the way they should in your rom. Remember, just cause we have the d2vzw does not mean mods from the sprint or T-mobile won't work on our devices. Sometimes it's worth a try. It's all about which firmware they are on and what has changed with the firmware.
So we flashed a few mods but don't have everything we wanted. At this point you are left with only one option and that is to get on that PC of yours and learn to decompile a APK. I may touch on this subject later as it is a bit more involved for someone new to this sort of thing.
6. UNDERSTANDING THE FLASHABLE ZIP
The alternate method of a flashable zip is to extract your flashable using Root Explorer and picking it apart. For example we will use "Lean Kernel" and kill 2 topics with one stone. If you unzip the kernel you will see...
BOOT.IMG
META-INF
SYSTEM
As you can see there are some familiar files to us just like when we extracted our base rom in the beginning. Basically when you flash a mod like this or any flashable for that matter, it installs files into your rom in certain places. In this example we will be installing in BOOT.IMG and SYSTEM. But what? And what is that META-INF file for? Well this META-INF file is what tells your rom what files and what to do with those files. Inside META-INF is a text file called an "updater script".
Here is what it looks like...
Code:
show_progress(0.500000, 0);
mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system");
package_extract_dir("system", "/system");
set_perm(0, 0, 0777, "/system/etc/init.d/00leanKernel");
unmount("/system");
assert(package_extract_file("boot.img", "/cache/boot.img"),
write_raw_image("/cache/boot.img", "/dev/block/mmcblk0p7"),
delete("/cache/boot.img"));
show_progress(0.100000, 0);
Line 2 shows it mounting the system so we can write to it.
Line 3 shows us extracting the entire directory of the system file in the flashable into the system file of our rom.
Line 4 shows we are setting permissions for one of the system files we just installed in the rom. In this case it is an INIT.D file.
Line 5 shows us returning the system to an un-writable state.
Line 6 shows we are now installing the other file called BOOT.IMG.
So we installed BOOT.IMG and the SYSTEM file. The BOOT.IMG file is usually only found in a rom or kernel zip so most of the time you won't see this file in a flashable but I wanted to use this as an example to show a bit about the kernel side of things.
Ok, so lets get back to the original files of this flashable zip. The updater script stated we installed a new system file into the rom so whats in there? If we open the SYSTEM file from our flashable with Root Explorer you will find a file hierarchy...
SYSTEM
-- ETC
--- INIT.D
---- "00LEANKERNEL"
-- LIB
--- MODULES
---- Listed here are a bunch of ".ko" modules and i'm not listing them all.
So whats the point of all this? Well lets say when we originally debloated our rom in the begining we could of included some of our flashable mods like a custom kernel before we zip the rom to test the base. So in this case we can manually install this kernel before we zip the base. We can take the BOOT.IMG from our extracted kernel and replace the BOOT.IMG in our extracted rom. We only need the files from the flashable so we need to copy and paste the "00LEANKERNEL" file from our flashable to our roms /system/etc/init.d folder. We can also take those ".ko" files from the flashable and dump those into the /system/lib/module folder and we are done. You have now manually installed a kernel into your base rom before you zipped it. Now when you zip your rom and flash it, your new base rom will boot with your custom kernel. Since we manually installed the kernel we don't need the META-INF file provides an auto install script for installing through recovery. Technically we could take all of our flashable mods, extract them, look at the file hierarchy and copy and paste the those files to our extracted base rom. That way we can zip our rom and test it with the mods right off the bat. You can really make things quicker this way and is in general the way to go.
I think it's rather important to fully understand a flashable zip. How it's built and how it completes it's task. It's used so often and makes mods so incredibly easy to install but it is also what installs our rom! One of the files we see when we open "slick" is a META-INF and there inside is the updater script to flash the rom. Again we are doing the same thing as we do with the flashable mod but this time we are installing a lot more files with a lot more permissions. It is the exact same thing as shown above just a bit more extensive.
7. PUT THE PIECES TOGETHER
Ok so we have our base rom running on our phone and possibly a few mods installed. We also have our extracted and debloated "slick" rom on the EXT-sdcard inside our project folder. The next part is rather easy if you understand how those flashable mods were installed. If you understand the whole flashable and its files, your better off just extracting them and then copy and paste them where they need to go. After you have all your mod files in place you can now zip your official "Slick" rom using Root Explorer of course. Prepare yourself for another 30 minutes for it to zip. After it's zipped your done. You have now created your first fully modded rom! However...
Lets say you don't get the whole flashable thing and or you had made some other changes to the rom while you were testing. Lets say you flashed some mods and created a few init.d scripts or the build.prop along the way. NO WORRIES! We can put the rom together another way. A lot of the mods you flash will install files in some usual areas of the rom like your Framework folder and such. Lets just say we don't know though. You can actually copy complete folders from the rom you are running right there and now and paste them into your extracted "Slick" base rom using Root Explorer. So you can take "/system/framework" from your currently running rom, copy it, and paste it in "/storage/EXT-sdcard/project folder/slick/system/framework". In short just take your copy of the framework file and put it in your extracted base and paste it. Root Explorer will then ask you if you want to replace this file and click yes. You have just transferred any modded file that might have been in framework to your extracted rom. Any folder you may think was modded, simply copy and paste it to your extracted base rom on your EXT-sdcard. Once you think you have it all the modded files transferred you can zip your new "Slick rom! Flash and enjoy!!
FINISHED
So we have now completed our own rom on the device itself. It's really not too difficult just a bit more time consuming with zipping and that. However, you may need to do a bit more research on how to decompile and recompile an APK. This is one of things that can really be a pain to setup. It's again the basics that will kill you. The whole PITA is not decompiling or making changes to a framework file, it's setting up the environment that sucked for me. You have to get the Java and files in order and all the little crap to get it to work. IMO, if you haven't decompiled an APK yet it's really not difficult at all. Like I said. It's the basics. I encourage you to learn this because it's so freakin easy after it's all setup and you will be able to do so much more with your rom. Once you get this APK thing down don't be afraid to take someone elses work and reverse engineer it. Try to figure out what that developer did to accomplish what he wanted. It's a great way to learn and thats what it's about.
I may add to this somewhere down the road but for now it's all I have. I hope this helped and motivated someone to create a rom and begin there journey to become developer someday! We can all use fresh ideas for development. There is so much more to come for Android so get your hands dirty and share!
Thanks guys!
Ha never really thought of doing this on the fly with my phone. Even though all the right stuff was sitting in my face thanks for opening my eyes razz1
Sent from my SCH-I535 using Tapatalk 4 Beta
dincdoes.me said:
Ha never really thought of doing this on the fly with my phone. Even though all the right stuff was sitting in my face thanks for opening my eyes razz1
Sent from my SCH-I535 using Tapatalk 4 Beta
Click to expand...
Click to collapse
It's another way. May not be the fastest way but it's another option. I also wanted to write this as a general rom creation and learning some basics. It's always the basics that will kill a project and motivation. I would like to see a complete newb to be able to complete a rom with this tutorial. Then I accomplished something. Going to have to finish this tomorrow though. It's taking longer than I thought lol.
Yea I mean I'm a newb at doing it from my phone if that counts =) .. What explorer do you like to use to repack the zips. I'm sure I'll try this method soon to play while bored at work. Rom tool box will help with boot animations, fonts and transition animations too take care thanks for giving our community some new skills I'm sure it will help out down the road.
Sent from my SCH-I535 using Tapatalk 4 Beta
Thank you for this post. This will definitely get me to try and make my own ROM the way I like, also I might just learn some new stuff. Great post thanks again
Sent from my SCH-I535 using xda app-developers app
Nice tutorial.
It's a great way to show what can be done just from your phone.
:good:
Right on man. Been waiting for this. Thank you.
Sent from my SCH-I535 using xda app-developers app
dincdoes.me said:
Yea I mean I'm a newb at doing it from my phone if that counts =) .. What explorer do you like to use to repack the zips. I'm sure I'll try this method soon to play while bored at work. Rom tool box will help with boot animations, fonts and transition animations too take care thanks for giving our community some new skills I'm sure it will help out down the road.
Sent from my SCH-I535 using Tapatalk 4 Beta
Click to expand...
Click to collapse
I use androzip man.
Sent from my SCH-I535 using xda app-developers app
More added
So would I make, say ROM manager a system app? Just copy the apk into the /System/App folder?
Evil Genius Jr. said:
So would I make, say ROM manager a system app? Just copy the apk into the /System/App folder?
Click to expand...
Click to collapse
Yes, but not all apps you download from google play work in /system/app. Some want to be installed into /data/app. However /data/app doesn't exist till after the rom is booted. You would need to add the folder to your extracted rom and modify the updater script.
razz1 said:
Yes, but not all apps you download from google play work in /system/app. Some want to be installed into /data/app. However /data/app doesn't exist till after the rom is booted. You would need to add the folder to your extracted rom and modify the updater script.
Click to expand...
Click to collapse
You are the fu**ing man razz1.
Sent from my SCH-I535 using xda app-developers app
That's about all I have for now. OP completed!:sly:
Hello. Ok so I created a ROM what I call MyTWGE (Tuchwiz Google Edition). Followed the instructions, unzipped the stock Verizon OS went into the -app- folder deleted all the Verizon, Samsung and Google apps (only the ones that are download able from Google Play). Replaced the stock launcher with the 5x6 version that I extracted from another zip, replaced the camera with the Google edition camera (download able from GP), replaced the keyboard with the Note2 keyboard (also unzipped from another zip). Looked around and deleted a few more files I found that were connected to some Samsung apps and zipped it up. Flashed the zip yesterday onto the phone and it's ALIVE working.
Thank you for your patience to write up all these instructions. I previously used TB to debloat my phone and that was it, learned a few thing thanks again
Sent from my SCH-I535 using xda app-developers app
Lehocki said:
Hello. Ok so I created a ROM what I call MyTWGE (Tuchwiz Google Edition). Followed the instructions, unzipped the stock Verizon OS went into the -app- folder deleted all the Verizon, Samsung and Google apps (only the ones that are download able from Google Play). Replaced the stock launcher with the 5x6 version that I extracted from another zip, replaced the camera with the Google edition camera (download able from GP), replaced the keyboard with the Note2 keyboard (also unzipped from another zip). Looked around and deleted a few more files I found that were connected to some Samsung apps and zipped it up. Flashed the zip yesterday onto the phone and it's ALIVE working.
Thank you for your patience to write up all these instructions. I previously used TB to debloat my phone and that was it, learned a few thing thanks again
Sent from my SCH-I535 using xda app-developers app
Click to expand...
Click to collapse
Lol the whole time I was reading this I was waiting for you to say something didn't work out for you but it all did I guess. Nice!!
Yeah running for the past 24h no problems everything works. Thanks
Sent from my SCH-I535 using xda app-developers app
---------- Post added at 02:24 AM ---------- Previous post was at 02:07 AM ----------
Only thing that that's annoying is the wifi in the taskbar. I read in one of the posts that I have to go into systemui and some other files within n delete lines 12 through 21 but that didn't work , am guessing I need to decompile systemui to do that. The person in the post didn't clarify and I'm not ready to do that yet. Reason is I don't know anything about programming or linux or decompiler or anything like that. Deleting files I can do replacing some sure. But I'm happy my first attempt to mix something together worked and I'll keep doing it till I actually figure out what it is that I am doing. Thanks again for the post
Sent from my SCH-I535 using xda app-developers app
Yea. Follow Didacts write ups to get you through it. It's all in framework res apk.

Categories

Resources