[guide] [kitchen] [cygwin] setting up and modding your very own rom from base - Android

Hey everybody thanks for coming to this guide. Feel free to ask questions in case you don't get it. But let's get this straight, ok?
So some of you must be using a custom ROM. And if you're not a developer, you might be wandering that how did they make the ROM. If you want your OWN product without taking the long way, I have the solution right here.
For me it's almost impossible building up my OWN ROM from nothing like other devs did themselves, either. But i CAN make one from ANOTHER rom. Adjusting it a little, modding a bit there, fixing a LOT here... and ta-da! The Something-Based rom was born. The ultimate tool that you're going to need is the ANDROID KITCHEN.
The one and only kitchen that actually "cooks" Android. One note that this guide i'm doing is for Windows. If you can figure out how to use it with Linux or Mac please be a nice person and share it will you?
Ok, first thing you need is a base ROM(make sure it's the rom that works on the device you're trying to build the ROM for)(Can be CyanogenMod, AOKP, Resurrection Remix,...)
Then comes the other requirements/files:
-A stable internet connection
-Your Windows PC
-Cygwin Packages
-Kitchen
-Java JDK(either x86 or x64(depends on your PC)
So for a reminder, that before you kick off make sure that java jdk was installed. Just go through the setups and install it.
Now comes the GUIDE:
Video: https://www.youtube.com/watch?v=0ZoP5RHWBX8
Sorry if it wasn't so detail. But if you miss anything I can make it up for you. Just simply report it back, OK?
Have Fun Modding!
Special Thanks
dsixda for the kitchen
Roman Ablivia for inspiring me to make the guide and presenting me to the kitchen
Farrell Tech Crew for fixing out my buggy video(no longer)
Laguire Sien Tiamat for supporting and helping me all the time
If you find this thread useful, don't forget to thanks or subscribe me. If you love my works and previous threads, donate me.(Still didn't figure out how you can)
Download links:
Java JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Cygwin: http://d-h.st/ZoQ0
Android Kitchen: http://d-h.st/e4C7

bro when try to install kitchen by typing ./menu i get the following error plz help. I tried changing username of pc through control pannel but didnt worked.

/home/Lalit & kumar (whatever the name is ) has spaces try something like this /home/lalit&kumar as the kitchens functionality depends on the correct naming of the files as well

Related

[HELP]Android Development

hi guys,in the past i made a rom for my wm 6.5 device ,now i want to develop custom ROM's for my Mini,what are the sites/topics that i must see? what are the fundamental things that i must know?how hard it is?is there a Kitchen like in WM?there are REPOS like in WM for specific phone DPI?who is the rom structure?
I had already talked about this in another post so im just going to copy paste it out of laziness:
Some links
Start by going through source.android.com for the general basics if you havent already.
Also, even though Google removed the PDK (Platform Developer's Kit) from the site, it has been mirrored on kandroid here: http://www.kandroid.org/online-pdk/guide/index.html
The stuff in the the PDK, although inadequate, is still very important and explains how to create the necessary makefiles to add to the build, configuring for a new market, etc. etc.
Also,
watch these two videos over here. These were very helpful in my ROM development:
http://www.youtube.com/watch?v=1_H4AlQaNa0
http://www.youtube.com/watch?v=rFqELLB1Kk8
Learn to use github. It is helpful for you to keep track of your changes as well as incorporate others works into your own.
http://help.github.com/
Finally, Cyanogenmod repos are your BEST friend. Almost all major AOSP ROM devs owe some sort of thanks to those guys who have done so much. If you want to check out some of the code changes and patches that you want to incorporate look here on their gerrit:
review.cyanogenmod.com
If you want to look at the other changes that are actually in the cyanogenmod builds, best to look at their git repos here:
https://github.com/CyanogenMod
I am still learning right now while I create my ROM but your welcome to PM me if you have any questions
Click to expand...
Click to collapse
As for kitchens, there are a bunch of them.
For theming, there is UOT: http://uot.dakra.lt/
For HTC based phones (+ some others), there is dsxida: http://forum.xda-developers.com/showthread.php?t=633246
For others, just search the chef threads.
If you want to learn true ROM development, dont use kitchens. Study, study, study from the links above and the source code. Learn to make custom modifications in code. This will give you a much deeper understanding of how everything works.
If you want to just edit, add apps, and repackage them, then kitchen will be easy and clean.
As to how hard is it? If you're gonna work with source and do significant changes, then it will be difficult (as documentation is slim to none) but very satisfying. Like cyanogen said in the other sticky, learn how regular android apps interact with the system. Create a few test apps and go from there.
Hope I helped

Build own Custom-Rom

Hello XDA-Developers,
I'm 16 Years old an I'm from Germany so please excuse my Gramma mistakes etc.
After the release of Jelly Bean there ist only one thing in my Head: learn how to develop
my own custom rom based on Jelly Bean for a Device which havent got get an update
till now.
It would be nice if someone give me advice how to start developing my own Rom. It would be
nice to know how I can start developing an how I can insert WiFi or Graphic Drivers from an older
(official) Rom to my own Rom.
I'll be happy if you can give my some advice for getting started to be a real XDA-Developer.
Greetings from Germany,
Sascha
Find a book on Linux Kernel/device driver development and read it. Build your kernel, make some modifications. Find a device similar to yours and start porting. We can't give you a step by step or do stuff for you. If you have a question about a specific item, error, feature, or bug then ask about it, but we can't do much with these "how do I start developing" questions. Just read kid that's all I can say.
I highly recommend following this guide and building the "hello world" app. If it doesn't work properly the first time, start from scratch and rewrite it again and again until it works. That's what I did and it really helps you gain a basic understanding of XML and java.
http://developer.android.com/training/basics/firstapp/index.html
Check out some of the various guides on this website as well. I highly recommend reading the "introduction to edify language" which is used for coding updater scripts. I had problems at first with the updater script and I had to decompile other roms and check out their updater scripts in order to gain a proper understanding.
http://www.freeyourandroid.com/index.php
This is also a good guide to check out, it's about building your first app as well but significantly more detailed than googles guide. I haven't read the whole thing myself yet but am in the process of doing so. It's good to have an understanding of how to code apps as well since it helps you understand XML and java which is also needed for ROM development, and makes it easier in general to get a grasp of various coding languages.
http://www.vogella.com/articles/Android/article.html
Also decompile some apps/tweaks/roms for your particular device and check out the code. For example I compared the stock rom for my phone to an AOSP build of ICS just to check out the different code and study it. It's very interesting and a good way to learn. PM other devs in your devices forums if you have questions or get stuck somewhere, that's exactly what I did and the devs were very helpful.
Good luck learning and have fun!

Making a custom rom with using android source codes

Hi guys,
I need help. Really I have search on google again again and again but I couldn't find anything about this topic..
My government gave us galaxy (10.1) tablets instead of books. But unfortunately this tablets's OS is not a normal android 3.2; It has been customized and we can't access many applications or other thinks. So I've decided to make a new custom rom for this tablets to offer in a competition of project. I have 2,5 months for this competition and I should make this rom so I need help. I've downloaded the android source (I want to work on 4.1jb) It is 4.2gb on my ubuntu 12.04 and I don't understand anything till see your answer on stackoverflow. I read and have some knowledge about system but It is not enough.. I know c# lang and I know general coding for 4 years.
I should edit the launcher (I said desktop but I don't know how calls It..). It has programs and widgets tabs and I want to put a new tab here. And anyone cannot see programs and widgets tab without any permission. This permission will give students's tablets by teacher ('s tablet). So, students can't play anything in the lesson but when it is over, stundents can play anything what they want.. Teacher will give the permission before leaving class..
This is what I want to do.. Briefly, I want to make a custom rom but directly using android source codes.Because I think I can't make this rom with using kitchen or just editing .apk files..
Thank you for your help..
Go to chef central in XDA forums it's very interesting (read all stickies), build a good kitchen and start building. Take some CM things to build a great ROM.
Sent from my RK29 tab...
I have thought It cannot work, haven't it?
Because I want to make a custom rom with using details. Not just editing .apk packages etc.. I looked for kitchen when I begin to make costum rom but kitchens don't satiate me.
Do you think again I should look kitchens ?
dmrc1143 said:
I have thought It cannot work, haven't it?
Because I want to make a custom rom with using details. Not just editing .apk packages etc.. I looked for kitchen when I begin to make costum rom but kitchens don't satiate me.
Do you think again I should look kitchens ?
Click to expand...
Click to collapse
If you are editing the source code you are doing more than modding apks. What I recommend to you is start building a Android with main features for example low requirements. Then you start deleting all those stuff you don't need building a very small Android. Then you modify system ui like appearance and themes and you start adding those great developer community apps. Those steps are easy for start then you'll modify those great things. And if you have time you should create a project web page in Google developers and start getting support and testers. Also if you post here your Roms you'll gain experienced developer support.
Remember you are building a Android Room not a new OS. Start modding and removing not useful stuff.
If it helps give thanks ! :thumbup:
Edit: I also recommend you if it's possible to don't work with Honeycomb... If you wanna get good results use Jelly Bean or Ice Cream Sandwich.
Sent from my RK29 tab...
SferaDev said:
...Remember you are building a Android Room not a new OS. Start modding and removing not useful stuff.
If it helps give thanks ! :thumbup:
Edit: I also recommend you if it's possible to don't work with Honeycomb... If you wanna get good results use Jelly Bean or Ice Cream Sandwich.
Sent from my RK29 tab...
Click to expand...
Click to collapse
Yes, I'm just editing an android rom not making a new OS. And I'm not working on Honeycomb. I got the source of JB.
Okey, I'll start doing your thinks. But I've an idea and if you know, please help..
Yes, I don't have to edit source code and it seems very hard to do. But I thought making a new tab panel like this panels top of JB. Check it.
http://androidplus.in/wp-content/uploads/2012/08/Jelly-Bean-Apex-theme.jpg
There are apps, downloaded, widgets tab panels on top. If I can add a new panel just with coding a new app. (not editing the source), It would be a solution for me. The panel that I'll add (let's call it education panel) have to open and close with my command (the command that comes from teacher in realty). If the command doesn't let the user of tablet to switch other panels, user can't switch. The education panel is like apps panel and contains some essential tools (like e-book, notepad, some videos about education etc.). Do you have an idea how can I do? or can I do this with just an application?
Please give me knowledge.. (Again I don't have to edit source code (like you've said) if I find this quests answer.)
Ok let's remember how Android it's divided...
I think you must modify for this launcher and systemui, if I'm not wrong. You must deodex the files inside the app package to build the eclipse project.
Good to know you aren't working with Honeycomb
Sent from my RK29 tab...
I was reading out in Android Dev forums and those links are useful to you:
http://forum.xda-developers.com/showthread.php?t=1732635
http://forum.xda-developers.com/showthread.php?t=1814441
Click to expand...
Click to collapse
Sent from my RK29 tab...
Got it. Thank you.
I was (am) busy for this job so I can answer now
dmrc1143 said:
Got it. Thank you.
I was (am) busy for this job so I can answer now
Click to expand...
Click to collapse
For anything you need !
Sent from my RK29 tab...

Attempting to start developing

Im going to try and start to develop for the Rezound. Iv decided that I would to take on JB head on, i know its very unlikely that I will make a stable JB rom but i want to try at least, I have the SDK and jb source already i just dont know where to start with JB, if anyone could help that would be great thanks.
I think Joel has JB booting.
The best place to start is modifying other ROMs with the android kitchen. Gives you a feel for how things work.
GrayTheWolf said:
I think Joel has JB booting.
The best place to start is modifying other ROMs with the android kitchen. Gives you a feel for how things work.
Click to expand...
Click to collapse
Nope. jonman www.github.com/JB1tz
I knew it was jo-something.
Good luck! Glad to see you're getting your feet wet.
Looking forward to your JB ROMs in the near future.
The Beeb
Building from source is a lot different than building a kitchen ROM but as Wolf said you might want to start there to at least learn a few things and the program is pretty easy to learn. The kitchen requires a functioning ROM to build from so not sure you could do JB. The AOSP website has a lot of information about building from source but you'll find the directions they give are for building for the nexus devices. AOSP is strictly for Linux or MAC (maybe windows under a virtual machine) and is pretty straight forward for getting it setup, I used Ubuntu 12 but getting a Linux box setup is as far as I took it as I got bored of it all. One of the devs here should have a github repository for JB and maybe you can join in on that or find some instructions on how to use the JB source you have to build for the Rezound. I would contact wildstang83 he's a pretty friendly guy who likes to help. Also get on IRC and start asking questions.
AOSP for setting up a build environment:
http://source.android.com/source/initializing.html
Android Kitchen:
http://forum.xda-developers.com/showthread.php?t=633246
kzoodroid said:
Building from source is a lot different than building a kitchen ROM but as Wolf said you might want to start there to at least learn a few things and the program is pretty easy to learn. The kitchen requires a functioning ROM to build from so not sure you could do JB. The AOSP website has a lot of information about building from source but you'll find the directions they give are for building for the nexus devices. AOSP is strictly for Linux or MAC (maybe windows under a virtual machine) and is pretty straight forward for getting it setup, I used Ubuntu 12 but getting a Linux box setup is as far as I took it as I got bored of it all. One of the devs here should have a github repository for JB and maybe you can join in on that or find some instructions on how to use the JB source you have to build for the Rezound. I would contact wildstang83 he's a pretty friendly guy who likes to help. Also get on IRC and start asking questions.
AOSP for setting up a build environment:
http://source.android.com/source/initializing.html
Android Kitchen:
http://forum.xda-developers.com/showthread.php?t=633246
Click to expand...
Click to collapse
Thanks for all the info, I have linux mint and as far as i can tell everything is set up
gearlo said:
Thanks for all the info, I have linux mint and as far as i can tell everything is set up
Click to expand...
Click to collapse
Then you're pretty much at were I left off setting up my linux box. I was going to try building for the GTab 7+ and there is a github repository for it for CM9 and CM10. Was just starting to learn how to connect to it when I lost interest. There is supposed to be some type of tutorial on the github site but I couldn't find it. I am also not sure if you need eclipse installed or not to use it. This is where you would need the help of a dev or someone else who's set up a linux box. I also didn't see a github for JB for the rezound but I also didn't look all that well just did a quick search.
wildstang, joel, newtoroot, nilsp I know build from source, or at least they did for the incredible, so they would be good sources of information and I know they've helped others in the past so don't mind pm's.
https://github.com/
Here's a tutorial I found on building from source might be some useful info there:
http://www.xda-developers.com/android/compiling-from-source-the-easy-way/
Here's a tutorial for AOKP:
http://forum.xda-developers.com/showthread.php?t=1810297
Maybe antp or wolf would help you setup too as I noticed their posts in the AOKP build forum?

[Request] Build from the source GUIDE

Hello there guys,
As we all know we only have 3? 4? developers for the HOX+ . And they are really doing all they can to help keep the phone upto date.
But as we all know they are all busy and can't update their roms that much any longer.
EDIT: Lloir already has a guide : http://forum.xda-developers.com/showthread.php?t=2187266 but I don't think he covers how to fix camera and gps and stuff
So! Is it possible to make guide on how to compile the rom from the source? I know tombridden and lloir already made a one post guide on how to build some roms but it was too specific.
I now have an extra machine (a laptop) with 500gb free storage and ubuntu as the main OS. It's quite powerful too with 6gb RAM and i7. So Why not use it to help the community while others are busy? In the meantime I will look around for some guides for other phones but I don't think they will help that much.
And please include the answers to those questions if you make a guide:
1- What to do to fix camera/GPS/wifi/Data/sensors ?
2- What approach should I take when compiling a new ROM. For example: there are no developers for PACMAN , how will it differ during compiling between it and AOKP/CM/AOSP .
I am talking about a rom that wasn't approached by Lloir so he won't have the repos for them. What to do then?
Thanks a lot and I can't wait to help
@Lloir @tombriden @PippoX3 @mike1986. and any other developer out there.
you can start by looking at XDA-University
The reply is correct. All of us moved first steps studying at XDA University.
Anyway the case is more complex than others.
For this device there are really few developers. Other device have a lot of support from constructors, many dev and the team-work result in a lot of kernels/roms to flash for the final user.
If you wanna taste the happyness for build a rom, I'll send you a guide to setup your ubuntu, download the sources and build.
But in this case, where enrc2b is not officially support, the things are more difficult.
You must have a minimal practical with java, cpp, android and kernel code (if so).
For the moment I'm in trouble to build an AOKP 4.2.2 with new kernel. I haven't device to try, 'cause the hard is build&&try continuosly.
Not the fact to have a pc turned on for hours and hours.... and the eyes&&mind open for hours and hours... but the patience to continuously try time after time.
Now I am in a dead point... many users like have S2W enable on new CM kernel... but.... the kernel won't!
Thanks a lot anyway. Thanks to @Lloir, @tombriden, @maxwen and alls who's workin' for this device.
Stay tuned....
PippoX3 said:
The reply is correct. All of us moved first steps studying at XDA University.
Anyway the case is more complex than others.
For this device there are really few developers. Other device have a lot of support from constructors, many dev and the team-work result in a lot of kernels/roms to flash for the final user.
If you wanna taste the happyness for build a rom, I'll send you a guide to setup your ubuntu, download the sources and build.
But in this case, where enrc2b is not officially support, the things are more difficult.
You must have a minimal practical with java, cpp, android and kernel code (if so).
For the moment I'm in trouble to build an AOKP 4.2.2 with new kernel. I haven't device to try, 'cause the hard is build&&try continuosly.
Not the fact to have a pc turned on for hours and hours.... and the eyes&&mind open for hours and hours... but the patience to continuously try time after time.
Now I am in a dead point... many users like have S2W enable on new CM kernel... but.... the kernel won't!
Thanks a lot anyway. Thanks to @Lloir, @tombriden, @maxwen and alls who's workin' for this device.
Stay tuned....
Click to expand...
Click to collapse
That's what i did already. I set up the periphals/kernel/device info GITs and now i am looking for the roms, I found CM and stuff but I can't find PURE AOSP , does that mean i must download it and upload it?
I also have Oracle java installed. Do I have to have open JDK?
Ghand0ur said:
That's what i did already. I set up the periphals/kernel/device info GITs and now i am looking for the roms, I found CM and stuff but I can't find PURE AOSP , does that mean i must download it and upload it?
I also have Oracle java installed. Do I have to have open JDK?
Click to expand...
Click to collapse
https://github.com/pure-aosp/android
Lloir said:
https://github.com/pure-aosp/android
Click to expand...
Click to collapse
Now that we begin to have a solid CM base, will possible to build at least CM for enrc2b for noobs too.
And eventually "port" device/kernel" parts to others platforms. So who like e.g. PA can do...
If you agree, I can paste my personal appoints to a guide, from client setup (Sun java don't works) to the build zip rom.
Updated and corrected to last KK.
PippoX3 said:
Now that we begin to have a solid CM base, will possible to build at least CM for enrc2b for noobs too.
And eventually "port" device/kernel" parts to others platforms. So who like e.g. PA can do...
If you agree, I can paste my personal appoints to a guide, from client setup (Sun java don't works) updated and corrected to last KK.
Click to expand...
Click to collapse
Go for it. Saves me doing it which I was about to do
Sent from my One X+ using Tapatalk

Categories

Resources