Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
isidromxz
Old
(Last edited by isidromxz; 20th October 2012 at 07:53 PM.)
#1  
isidromxz's Avatar
Recognized Developer - OP
Thanks Meter 687
Posts: 227
Join Date: Feb 2007
Location: Denver

 
DONATE TO ME
Smile [HOW TO] Beginners Guide to Android ROM Development

This tread is not monitored or updated any more use for reference only

Quote:

Started this tutorial in the HTC HD2-Nand forum, I think maybe someone
can find it useful


Who is this tutorial for?
  • Absolute Beginners like me
  • People with little or no programming skills

This is a very basic tutorial!!
Quote:
Step one: Setting up the Android kitchen




First you will need to set up dsixda's android kitchen
(All credit for the kitchen to dsixda's)


Go to dsixda's thread for a list of supported devices.
Here is a summary of the installation process
( I recommend you read the tread first)

1. Before you do anything install the java jdk(find it in dsixda's thread)
2. Download and extract the cygwin_packages.zip provided by dsixda on third post
3. Run the set up(make sure there is no previous cygwin installation)
4. Follow the kitchen read me txt!!!
5) local package directory *must* be the path to the cygwin_packages folder that you just extracted

6) when it shows all the package names, go to the top and select "all <-> default" until it changes to "all <-> install" (you must click on the arrows)

7. Run the cygwin at least once and close, now you will see a folder inside the cygwin installation like this: Home\your user name\

8. Download the kitchen and extract to the home\your user name\
9. Rename the dsixda-android-kitchen-*** folder to just "kitchen"
10. Now your ready to run the kitchen type:
Code:
cd kitchen(enter)
./menu(enter)

11. If you did things right you should see this:

congratulations!!
Quote:
Step Two: Setting up a working folder
1. First our folder structure should look like this:
Code:
cygwin folder/home/your user name/kitchen
2. Inside the kitchen it should look like this:

3. Now we need a rom to work on, for this tutorial i will use my own rom but you can use any hd2 rom. Place the original rom zip in the original_update folder inside the kitchen.
4.run the cygwin.exe again type:
Code:
cd kitchen(enter)
./menu(enter)
5.now enter option 1, enter again. You should see your rom listed, choose and enter
6.you will be asked about changing the working folders name, at this point it makes no difference so just continue.
7.you will be asked to convert to update-scrip do it and continue
8. Now you can view the roms info
9. congratulations you have a working folder!!!
Quote:
Step Three :change/modify/update!

First I will be covering basic changes you can make to your rom, later I will be adding more helpful hints.

Quote:
Adding/removing applications
1. Go to the working folder where you extracted your rom, inside you will find:
or
2. Then go to "system/app" inside this folder you will find all the rom applications(apks) you may also find some in the data folder if your rom has this folder.
3. Copy, replace, and change any app(apk) be carefull if you dont know what the apk is do not delete!!
4. Congrats you have modified a rom, if your ready and want to see if it worked skip to step four to buil rom from working folder.

Quote:
Adding new boot animation
1. Just replace the bootanimation.zip located in "workingfolder/system/media" with the boot animation of your choice.
here is a sample of my bootanimation to try.

Quote:
Edit the gps script for your country/location
1. In the workingfolder/system/etc/ you will find a file named gps.conf, you can
edit this file with notepad++ or even word.
2. using the right gps script in this file can speed up gps lock, you can
find some from angeldeath, download extract and replace the gps.conf.

Quote:
Changing the default wallpaper
1. Be very careful doing this, do not edit,delete or modify an apk without knowing what it is or does.not all things are as simple as copy and paste.
2. go to the workingfolder/system/framework/
3. Install 7zip and open the framework-res.apk
4. With in the framework-res.apk with 7zip go to "res/drawable-hdpi/" and look for the default_wallpaper.jpg. You can extract modify and replace with new one.
5. Make sure its the same file format and image dimensions.(in some roms you can also modify the default_lock_wallpaper.jpg)
Quote:
MMS Fix for T-mobile
1. *I Have only tested this on MIUI Roms*
2. Go to "workingfolder/system/app"
3. Find MMS.apk
4. Right click and open with 7zip

5.Inside mms.apk go to "rex/xml/"
6.replace the "mms_config.xml" with this "mms_config.xml"

Quote:
modifying build.prop

"build.prop" is a file that contains various system-vital "parameters"
Some can be modified with little risk, some can cause havoc. So Please do this Carefully!!!!!!


1. Locate the file "workingfolder/system/"
2. Open with notepad++


There is several simple changes that can be done, I will start with some and add more later.

Quote:
LCD Density
1. If you dont know anything about this topic Here is some info to get started
2.Locate this line inside the build.prop "ro.sf.lcd_density=240"

3.The only value you will modify is the "240" to your preference.


Difference is simple and visible!
Quote:
Update Kernel From update.zip
Note that it's not always as easy as copy and paste

1. Extract you kernel_update.zip
2. Copy and replace the extracted files to the corresponding folders inside your finished ROM
3.Start with the boot folder

3. Than the system folder (there might be some libs and modules associated with the rom)

4. Another helpful hint is to open the updater-script
to see if your kernel requires you to delete anything for the kernel to work correctly.

sample script:
Code:
delete("/system/ppp");


-there are several other options provided by dsixda's android kitchen for that I recomend you go to the tread and read.

Quote:

Step Four: repackage the rom

Quote:
Now that you have made some changes it's time to test!!
1. Run the kitchen and enter option 99 - "biuld rom from working folder"
2. Choose mgldr or clk
3. I recommend that you go with all default options until you get more experience with the kitchen.
4. When its all done you will find a folder inside "cygwin/home/yousername/kitchen" called output_zip
5. Inside the folder is your new rom ready to be flashed and tested!!!
Quote:
UPDATER-SCRIPT
Quote:
Thanks to user langthang for a great updater-script guide.
Download it HERE
I had a couple of request on how to get custom txt during the ROM installation in CWM,
the updater-script basically tells CWM what steps to take during the installation(flashing rom).
If you don't have any experience please don't edit anything other than what is in this simple tutorial.

1.First once you have your Rom ready in .zip format, Open with 7zip
2.Go to META-INF/com/google/android
3.Extract the updater-scrip file
4.Open with Notepad++
5.Any text that would appear during the CWM install should be in this format :
Code:
ui_print("Put your text in HERE");
Here is the requested 3d MIUI LOGO for example:
Code:
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print("");
ui_print("     ___                     ___                ");
ui_print("    /__/\\       ___         /__/\\       ___     ");
ui_print("   |  |::\\     /  /\\        \\  \\:\\     /  /\\    ");
ui_print("   |  |:|:\\   /  /:/         \\  \\:\\   /  /:/    ");
ui_print(" __|__|:|\\:\\ /__/::\\     ___  \\  \\:\\ /__/::\\    ");
ui_print("/__/::::| \\:\\\\__\\/\\:\\__ /__/\\  \\__\\:\\\\__\\/\\:\\__ ");
ui_print("\\  \\:\\~~\\__\\/   \\  \\:\\/\\\\  \\:\\ /  /:/   \\  \\:\\/\\");
ui_print(" \\  \\:\\          \\__\\::/ \\  \\:\\  /:/     \\__\\::/");
ui_print("  \\  \\:\\         /__/:/   \\  \\:\\/:/      /__/:/ ");
ui_print("   \\  \\:\\        \\__\\/     \\  \\::/       \\__\\/  ");
ui_print("    \\__\\/                   \\__\\/               ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
ui_print(" ");
6.Add your text start at top and save,
then replace with new updater-scrip
congratulations!!
Quote:
Quote:

There is allot more that I did not cover, didn't even scratch the surface.
This was not intended for porting roms or any mayor scripting, this wont help you
with writing drivers, kernels, libs etc. Just tried to make it as simple as possible for
beginners like me, so we can understand the amount of work devs go through.
Please! please! before you release any Rom, test and test again!!!!!!


Like I said this was Originally for the HD2 so use at your own discretion!!
(original thread)


Just want to thank XDA Forums for giving us this space to play learn and share.
The Following 375 Users Say Thank You to isidromxz For This Useful Post: [ Click to Expand ]
 
surtrafl
Old
#2  
surtrafl's Avatar
Senior Member
Thanks Meter 17
Posts: 171
Join Date: Feb 2011
Location: Buenos Aires
Really nice, simple, step by step guide for beginners!
Also, thanks for the files, i guess ill try kitchen on w7.





The Following 3 Users Say Thank You to surtrafl For This Useful Post: [ Click to Expand ]
 
hightech316
Old
#3  
hightech316's Avatar
Senior Member
Thanks Meter 25
Posts: 495
Join Date: Jan 2011
I love seeing more rom cooking material. I wish some one would do an advanced one.

Sent from my Droid Incredible 3D using Tapatalk
" Talk is cheap. Show me the code. ", Linus Torvalds .
The Following User Says Thank You to hightech316 For This Useful Post: [ Click to Expand ]
 
threestripebrand
Old
(Last edited by threestripebrand; 5th October 2011 at 02:53 AM.)
#4  
threestripebrand's Avatar
Senior Member
Thanks Meter 165
Posts: 1,135
Join Date: Mar 2011
Location: Boiling Springs,NC
Great thread and tut! couldn't be better timing since dsixda is taking a break. anyway im having a little trouble with something im working on. i can get past the boot animation to the lock screen, and i can see the data kicking in and then before anything really gets going, it reboots. thats as far as i have gotten. heres my recovery log.
http://pastebin.com/GeXmphrt

seems to me like its not mounting the system or something of that nature. And I'm pretty green to all this if you couldn't tell lol.
this is a port by the way. thanks again for this thread!
The Following User Says Thank You to threestripebrand For This Useful Post: [ Click to Expand ]
 
lawalty
Old
#5  
lawalty's Avatar
Senior Member
Thanks Meter 75
Posts: 733
Join Date: May 2008
Nice work for rom making for beginners.

Sent from my HTC Vision using xda premium

Peace be with you!

Phone: T-Mobile Galaxy Note2
Status: Un-Rooted; enjoying my ISIS app
Rom: Stock Touchwiz
 
irishnation09
Old
#6  
Member
Thanks Meter 11
Posts: 68
Join Date: Mar 2011
Wow thanks for this was getting tired of just being told to use the kitchen. My fault for my own noobness but this is very helpful.

Sent from my Inspire 4G using xda premium
 
dzee206
Old
#7  
dzee206's Avatar
Senior Member
Thanks Meter 59
Posts: 144
Join Date: Oct 2011
Location: Seattle
ive never had any luck with cygwin before, so what i'd like to know can this process be done in ubuntu?
The Following User Says Thank You to dzee206 For This Useful Post: [ Click to Expand ]
 
r8zer
Old
#8  
r8zer's Avatar
Senior Member
Thanks Meter 18
Posts: 497
Join Date: Jun 2008
Location: London
Quote:
Originally Posted by dzee206 View Post
ive never had any luck with cygwin before, so what i'd like to know can this process be done in ubuntu?

Yes it can all be done from within ubuntu, then you do not need Cywgin,
CURRENT :- Samsung Galaxy S2 GT9100 (Rooted)
HTC NEXUS ONE
(retired from service)

RECOVERY = ClockworkMod 5.0.2
Kernel = SiyahKernel 2.0beta 6
ROM = R8zersRom
RADIO = XXKI4



The Following 4 Users Say Thank You to r8zer For This Useful Post: [ Click to Expand ]
 
Droidyou
Old
#9  
Droidyou's Avatar
Senior Member
Thanks Meter 48
Posts: 135
Join Date: Dec 2010
I find working in ubuntu a little easier. But cygwin works good aswel

Send from a lightning fast Htc Sensation
Htc G1 -> Htc Hero -> Htc Sensation -> Htc One X -> Sony Xperia Z
XDA UNIVERSITY
The Following User Says Thank You to Droidyou For This Useful Post: [ Click to Expand ]
 
1jesper1
Old
#10  
Senior Member
Thanks Meter 7
Posts: 116
Join Date: Oct 2010
Awsome guide.
I hope someone would like to help me make the galaxy ace compatibe with the kitchen.

http://forum.xda-developers.com/show....php?t=1303345

The Following 2 Users Say Thank You to 1jesper1 For This Useful Post: [ Click to Expand ]
 
Post Reply+
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...