Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
View Poll Results: What will you rate the thread out of 5 stars comparing other guides?
1 29 3.07%
2 12 1.27%
3 29 3.07%
4 162 17.14%
5 713 75.45%
Voters: 945. You may not vote on this poll

Post Reply

[UltimateGUIDE][How-to]Create your Own Custom ROM an easy way|Android Secrets -_-

OP GuneetAtwal

18th March 2013, 11:08 AM   |  #1  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Holla Guys this i am back with a Guide which you would have seen many times on XDA but still were you able to follow them??
And answer is "NO"as they all focus on Android Kitchen which is a big tool but not a wall for blind!! Mark it you will have to use your own sense(Not Htc Sense ) while making a ROM!
But then also i can provide you a Boost Start in Android Development World for Sure

This tutorial is specially for
Quote:

  • Newcomers to the world of Android
  • People who want to create their own ROM but unable to do so as it is going over the head
  • People who did not had any encounters with Programming
  • Even Experienced One

Quote:

Thanks to

Quote:

  • dsixda for his ultimate kitchen
  • lokeshsaini who is the original writer i have just modified it and simplified for better understanding
  • Neroyoung -For his video tutorials
  • If i left any one's name PM me

Quote:

Tools Required : (Report me dead links please)

Part 1: Installing the JAVA JDK, Cygwin and Setting up the Kitchen.

Code:
*Before you do anything install the java jdk*
Quote:

watch this video tutorial by gitagaire for how to setup cygwin and kitchen(recommended)

INSTRUCTIONS

->Download and extract the cygwin_packages.zip
-
>Run the set up(make sure there is no previous cygwin installation)


->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)


->Download the kitchen from above. Then, extract the kitchen's .zip file to a folder under your home account. Rename the dsixda-android-kitchen-*** folder to just "kitchen". In Cygwin, this folder would depend on what was set for your Cygwin install directory, e.g. C:\cygwin\home\John\kitchen

NOTE!! If your user folder contains spaces (e.g. C:\cygwin\home\John Smith\kitchen), then the kitchen will not function properly. Instead, copy it under C:\cygwin\home\kitchen.

->Now your ready to run the kitchen type:
those who have their kitchen like this C:\cygwin\home\John\kitchen use these commands given below

Code:
cd kitchen(enter)
 ./menu(enter)
those who have their kitchen like this C:\cygwin\home\kitchen use these commands given below.

Quote:

If you did things right you should see this:

Last edited by GuneetAtwal; 28th April 2013 at 02:17 PM.
The Following 276 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:26 AM   |  #2  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Part 2:Setting up a working folder

THERE ARE TWO METHODS FOR THIS.
1. WHEN YOU HAVE BASE ROM AVAILABLE.
2. WHEN YOU DON'T HAVE BASE ROM.


FIRST METHOD -



->First our folder structure should look like this:
Code:
cygwin folder/home/your user name/kitchen
-> Inside the kitchen it should look like this:


-> Now we need a rom to work on, for KarbonnA5 users i will recommend this rom by ME only but you can use any rom.

-> Just Place the original rom zip in the original_update folder inside the kitchen.
run the cygwin.exe again type:
Code:
cd kitchen(enter)
./menu(enter)
-> Now enter option 1, enter again. You should see your rom listed, choose and enter
you will be asked about changing the working folders name, at this point it makes no difference so just continue.

congratulations you have a working folder!!!



Second METHOD -it is almost like ROM Dumping works on any device!

Quote:

-> FIRST MAKE A WORKING FOLDER IN CYGWIN FOLDER
IT SHOULD LOOK LIKE THIS
cygwin folder/home/your user name/kitchen/WORKING_(your rom name)

NOTE: FOR THIS MEETHOD WE NEED 3 FILES AND FOLDERS TO BE PLACED IN WORKING FOLDER.
1. META-INF FOLDER - GET THIS FROM DOWNLOAD FILES LIST IN FIRST POST
2. SYSTEM FOLDER - TUTORIAL BELOW
3. BOOT.IMG - TUTORIAL BELOW

2. getting system folder
(NOTE - Rooted phone required!!)

This is universal method and can be done easily using terminal emulator.
For this simply download Terminal Emulator from Android Market.
we need freshly flashed device here. OTHERWISE YOU WILL HAVE LOT OF JUNK FILES.
Open it and type:

Code:
su
 tar -c system/* >> sdcard/system.tar
This will copy all your /system folder to your SDcard with name System.tar
This will take some time to finish so be patient.
After it's done you should have a tar file in your /sdcard named system.tar
You can extract it using Winrar or 7zip software. But yes this will have huge size , as it has other useless folders so you will have to delete them. After extracting this system.tar file you will get following folders (Similar one)

Quote:

/etc
/fonts
/framework
/lib
/lost-found
/media
/sd
/usr
/xbin
build.prop

-> Now simply delete the folders marked in red color and its done.Don't worry if you don't have folders with red colors above,we don't need them.
And the final files that we will have in our system folders will be

Quote:

/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop

NOW COPY THIS system FOLDER TO WORKING FOLDER

Quote:

3. getting boot.img

Here we have 2 options
1. stock boot.img from stock rom - simple kernel which we get in brand new mobile.
2. custom boot.img from custom kernel - kernel which are modified for overclock or other features

1. getting stock boot.img from stock rom.
extract your stock rom with winrar or 7zip. you will see boot.img there. copy it to working folder

2. getting custom boot.img from custom kernel.
download any custom kernel which is only for your device.
extract it with winrar or 7zip and copy boot.img to working folder
NOTE: many of new devices have kernel.bin and other files instead of boot.img so skip this part if your device don't have it...

Last edited by GuneetAtwal; 18th March 2013 at 02:03 PM.
The Following 122 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:27 AM   |  #3  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Part 3 :Change/modify/update rom

[QUOTE]
  • Quote:

    YOU CAN MODIFY YOUR ROM IN TWO STEPS:

  • MODIFY USING ANDROID KITCHEN - for basic modification.
  • MODIFY MANUALLY. - for advanced modification.

Quote:


2. MODIFYING MANUALLY.

Check this Guide for some MODs like center clock,CRT animation, ics and jelly bean style mods etc...
[LIST][*]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!!
LIST OF APPS YOU CAN DELETE - HERE OR HERE
If you can not find some apps in this guide then try opening all those app in your phone and see app name and icon or move those apps from system/app to sdcard and see what is not working...

[*]Adding new boot animation
android kitchen doesn't works for my Karbonn A5 . So we need a different method.
1) Download and extract the bootanimation and samsungani file from Custom Booting.zip attached in first post.
2) Put them in the /system/bin folder and replace the existing files there
3) Now download any boot animation, and rename the bootanimation to “sanim.zip”.
4) Now, navigate to /system/media and replace the “ODEanim” with “sanim.zip”
You are done with the bootanimation change


[*]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.

[*]Adding ringtones :

  • Take your ringtone file...it should be in .ogg format..If not then convert it to .ogg..
  • Locate to the folder system>media>audio>ringtones>
  • Copy and paste your .ogg files here in ringtones folder..
  • You can also change notifications, alarm and UI tones like this..
[*]Changing the Fonts :
  • Take your desired font.ttf file and rename it as DroidSans.ttf..
  • Locate to the folder system>fonts>
  • Now, replace the file DroidSans.ttf with your desired DoridSans.ttf...
  • To change the lock screen clock font...replace the Clocktopia.ttf with your desired one..(rename first)..

build.prop tweaks!!
check this or this or this post for build.prop
NOTE: EDIT BUILD.PROP WITH NOTEPAD++. SIMPLE NOTEPAD WILL CORRUPT THE FILE.

Last edited by GuneetAtwal; 28th March 2013 at 04:27 PM.
Reply
The Following 107 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:27 AM   |  #4  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Part-4 Theming Your ROM

Via UOT Kitchen
Quote:
Originally Posted by Apex

[INDENT]

Credit to Jermaine151


Deaaling with .9 pngs
Quote:

Here neroyoung will teach you how to deal with the pngs ening with .9 extension


Some Great and simple Guides

All things needed theming thread by theimpaler747
Theming .apk byAndrewtst
How to make "basic" theming mods + .9.png tutorial by dully79
Cooking with UOT Kitchen by Apex

[GUIDE]Theming Guide for changing system text settings(Recommended)
[TUTORIAL][ICS][GB]How to change Android's black background(By me)(recommeded)
[Tutorial]-ICS-AOKP/CM9-UPDATED-Miscellaneous MODS[Nav bar,Notification header etc](most recommeded)
Last edited by GuneetAtwal; 18th March 2013 at 01:21 PM.
Reply
The Following 106 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:28 AM   |  #5  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
MORE ADVANCE MODIFICATION (starters for beginners)

editing .apk files

THERE ARE TWO BEST TOOLS FOR EDITING .APK FILES

1. APKTOOLS
This video by neroyoung teaches you how to setup APKTOOL folder as well as teaches you how to edit .apk files



2. APK Manager
this video by adgoosuc teaches you How to unpack,repack and sign an APK File with APK Manager


Editing .JAR Files

In this video by neroyoung you will get information on how to edit .jar files like services.jar using APKTOOL



How to integrate an app in settings(recommended)
Last edited by GuneetAtwal; 18th March 2013 at 01:11 PM.
Reply
The Following 92 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:30 AM   |  #6  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Thread Junction
Quote:

Last edited by GuneetAtwal; 21st March 2013 at 10:07 AM.
Reply
The Following 99 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:30 AM   |  #7  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Few Guides

Quote:

  1. Xposed - ROM modding without modifying APKs/flashing
    .
  2. Compiling CWM Recovery
    .
  3. Compiling TWRP Recovery
    .
  4. Building Kernels and Android Sources
    .
  5. Porting ARM V7 Roms to ARM V6
    .
  6. Porting MIUI with JB/ICS
    .
  7. Porting Jelly Bean( A few Assists)
    .
  8. Dev Basics Collection
    .
  9. MIUI v4
    .
  10. MIUI v4 Updated- Different and Noob Friendly
    .
  11. Sense UI
    .
  12. Making a Flashable Package (Update.zip)
    .
  13. Making a CWM Flashable Zip
    .
  14. Complete Android ROM development and essential tutorials
    .
  15. Re-Odexing a ROM
    .
  16. Porting AOSP ICS ROMs
    .
  17. Compiling CM9 on Mac-OSX Lion
    .
  18. MIUI (Source GB)
    .
  19. Create your own De-Bloat Tool
    .
  20. Porting LewaOS,JoyOS for Noobs
    .
  21. UOT Kitchen Guide
    .
  22. Making your Own Custom ROM
    .
  23. Unpack or Repack an APK
    .
  24. Building your first KERNEL
    .
  25. Compile JB on Ubuntu
    .
  26. DEODEXing Stock ODEXED ROM
    .
  27. [GUIDE]How to use AROMA Installer on any ROM/Device|NOOB Friendly|
    .
  28. [Guide][How To] Adding Brightness Bar Slider to Status Bar
    .
  29. [Guide] Jellybean navigation layout for CM7 ROM
    .
  30. [GUIDE] How to add TABS to Settings with swipe gesture
    .

  31. [DEV][TOOL] Android Image Kitchen - Unpack/Repack Kernel/Recovery + ramdisk

    .
  32. [EASIEST WAY ROM DUMP] ROM dumping method for any phone
    .
  33. How to use GitHub

Other Modding and Theming:
  1. Remap Hardware Button to ICS Recent Apps
    .
  2. Create GB Dictionary for your Language
    .
  3. ICS Recent Apps Button/Softkeys to Status Bar
    .
  4. Smooth Scrolling and Volume Increase
    .
  5. Re-Odexing a ROM
    .
  6. How to LogCat
    .
  7. Convert .jar to .apk
    .
  8. Setting up Android Dev Environment in Ubuntu 11.10
    .
  9. Modifying APK Files
    .
  10. Modifying APK files - Another Method

CREDITS:
Credits to the Original Developers/Writers for posting this stuff.
I am just linking it to their threads, all credits go to them.

NOTE:
If you find any other Topic that maybe useful, Post it in comments, so that We can make a huge thread of Guides.

THANK YOU ALL:
I Thank you all for referring to this.. I have just searched a bit and though making a thread would be useful. I am really Happy that it helped many of you!! Will keep adding!!

Last edited by GuneetAtwal; 28th March 2013 at 04:25 PM.
Reply
The Following 121 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:30 AM   |  #8  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Last but the not the least: repackage the rom

  • AFTER YOU HAVE DONE ALL CHANGE/MODIFICATION YOU WANTED OPEN CYGWIN AGAIN AND TYPE

    now convert update script to updater script(in option 23)
  • now lets edit updater script(optional)

    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.


    TO EDIT UPDATER SCRIPT -
    1.Go to META-INF/com/google/android
    2.Open the updater-scrip file with Notepad++
    3.Any text that would appear during the CWM install should be in this format :

    Code:
    ui_print("Put your text in HERE");
    Add your text start at top and save,
    then replace with new updater-scrip


    Add New Aroma Installer to your ROMLink to Guide(By Me only)

    AND AT LAST
  • Now that you have made some changes it's time to pack the rom and test!!

    1. Run the cygwin and type
    1. enter option 99 - "biuld rom from working folder"
    2. Choose your build option and few more enters
      I recommend that you go with all default options until you get more experience with the kitchen.
    3. When rom is packed and signed it will ask to change rom zip name (type name of your rom)
    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!!!

    IF YOU WANT THAN YOU CAN MAKE CWM FLASH ABLE ZIP'S MANUALLY USE THIS TOOL BY I.AM.H3RO


    congratulations you have build your own rom

  • TROUBLESHOOTING
    • If you are facing java related problem with cygwin than refer post #8
    • If you have a rom without kernel then remove these lines:
      Code:
      assert(package_extract_file("boot.img", "/tmp/boot.img"),
             write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"),
             delete("/tmp/boot.img"));
    • If there is a package error then extract the files of the rom and repack them using any compression software.
    • If rom installed correctly but stuck onto logo screen?? Then remove try removing kernel and flashing rom again.
    • If rom installed correctly but got onto bootloop then there could be many possibilities which could lead to this. If you want accurate cause of it then do a logcat.
    • If there are some apk's which are not working then check if you correctly modded them.
Last edited by GuneetAtwal; 18th March 2013 at 02:00 PM.
Reply
The Following 140 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 11:30 AM   |  #9  
GuneetAtwal's Avatar
OP Recognized Contributor
Flag Punjab
Thanks Meter: 6,613
 
1,981 posts
Join Date:Joined: Oct 2012
More
Now what do you want more in a thread

Just Press thanks button and rate the thread 5 Stars and Show your Appreciation
Last edited by GuneetAtwal; 18th March 2013 at 02:10 PM.
Reply
The Following 136 Users Say Thank You to GuneetAtwal For This Useful Post: [ View ]
18th March 2013, 12:33 PM   |  #10  
Diablo67's Avatar
Recognized Contributor
Flag Ħ†℃ ∃Ṽϴ 4Ḡ
Thanks Meter: 2,777
 
2,709 posts
Join Date:Joined: Mar 2011
Donate to Me
Well you beat me to it,i was contemplating wether or not i should do this,hahaha,very nice,i see your not finished yet,if you need any help,pm me,i have been using the kitchen for a couple of years now.I've learned a few tricks you can do with the kitchen.
Reply

The Following 16 Users Say Thank You to Diablo67 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
best guide, easy way to make rom, how to make a rom, how to make custom rom, tech-feed
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes