ROM Development

This startup guide should provide you with enough information to start ROM developing!

SDK Setup
SDK Setup: Here

Windows:
All commands must be executed in the Cygwin shell.


 * 1) Download the "jdk-1_5_0_22-windows-i586-p.zip" from the link provided.
 * 2) Download the "cygwin_packages.zip" from the link provided.
 * 3) Download the latest dsixda kitchen from the link provided.
 * 4) Install the Java JDK (jdk-1_5_0_22-windows-i586-p.zip).
 * 5) Install the custom Cygwin environment.
 * 6) Unzip cygwin_packages.zip.
 * 7) Put the extracted folder, cygwin_packages, in C:\\
 * 8) Run setup.exe and select "Install from Local Directory" when prompted.
 * 9) For your root directory, use "C:\cygwin" (the default).
 * 10) For the Local Package Directory, use "C:\cygwin_packages".
 * 11) When the list of package names, go to the top and select "All <-> Default" so that it changes to "All <-> Install" (you must click on the arrows).
 * 12) Click next and wait for the installation to complete.
 * 13) Once the installation is complete, find the Cygwin shortcut in your start menu, and start it up!
 * 14) Set up the kitchen.
 * 15) Unpack the kitchen to "C:\\cygwin\home\\android\kitchen\".
 * 16) Open a Cygwin shell (from the start menu).
 * 17) Execute the command "cd ~/android/kitchen" Note that the character is '~' and not '-'
 * 18) Execute "chmod 755 menu" in the Cygwin shell to make the menu executable.
 * 19) In the Cygwin shell, enter "./menu" or "bash menu"
 * 20) The kitchen is now ready! Follow the directions that it gives you, and you'll be releasing ROMs in no time!

Linux/Mac OS X:

 * 1) Download the latest dsixda kitchen from the link provided.
 * 2) Unpack the kitchen to "~/android/kitchen/" or something similar.
 * 3) Execute "chmod 755 ~/android/kitchen/menu" in terminal to make the menu executable.
 * 4) Enter the command "cd ~/android/kitchen/"
 * 5) Once in the correct folder in command line, enter "./menu" or "bash menu"
 * 6) The kitchen is now ready! Follow the directions that it gives you, and you'll be releasing ROMs in no time!

Basic ROM Modification
Download a ROM you want to modify, and if you want to get rid of bloatware (Apps added by manufacturers/carriers) navigate to /system/app and look for the file names, back them up to a safe place, and then delete them. If the ROM is odexed (/system/app/ or /system/framework/ contains *.odex files) do not delete any apps, you must "deodex" the ROM first. In the kitchen, there is an option to deodex the ROM. This process can take a while. Once that is done you can go back and delete the apps you don't want. To edit the name of the ROM open the build.prop in /system/ and look for ro.romversion or ro.modversion and edit the name.

Here is where most of the stuff is changed:

Themes: /system/framework/framework-res.apk or /system/framework/services.jar

Start-Up Scripts: /system/etc/init.d/

Boot-Animations: in /data/local/ or in /system/media/

Start-Up tones; Notification tones: /system/media/audio/

LIbraries: /system/lib/

Kernels: boot.img and /system/lib/dhd.ko

In case you are about to theme the ROM read this because it is VERY important:

ROMs produced in this way may not be shared on any site, including Simply-Android, unless you have spoken directly to, and have permission from the original developer.

Blur ROM Modding Tips
If you want add a option to skip motorblur just edit /system/etc/motorola/com.motorola.blur.setup/default.xml to look like this:

      