Hello XDA,
I just recently got into compiling from source, and wanted to share what I've learned to XDA of course.
I've noticed a lot of tutorials on ROM Development with kitchens, but in my opinion you're not getting anywhere near as much control of your ROM then if you were to compile from source yourself. I'm not bashing kitchens at all, because they're great for fundamentals of ROM Development. Learning the basics with kitchens is how I started, but I wanted more control. So I've been doing a lot of research and figured I'd give back to the community.
This is a series of tutorials, with this one being the "Basics/Introduction". I've also been getting into Kernel Development, so if anyone wants me to make another series for that as well please let me know! I would love to hear some feedback on this letting me know if I'm wrong on anything (because I'm definitely NOT an expert on this) or any constructive criticism for the next video(s).
If I get good feedback I'll continue making videos for this, and like I said, maybe for Kernel Development as well. :highfive:
tl;dr
Code:
I'm fairly new to ROM Development, I tried my best to help people out who are attempting to learn compiling from source to have more control over their ROMs. [B]Please be gentle![/B] ;)
Thank you for this, dude! It's easy for a beginner to get overwhelmed by the mountain of information out there about ROM development, as I've recently found out. This is a great little tutorial, consisely showing the stuff you really need to do whilst explaining the reasoning behind it.
Can't wait for episode 2!
+1
Go for the video tutorials:good:
I really liked it, waiting for new videos :good:
Hi Nick Mast,
Can you give me your text file named As_I_Go.txt in this video.
Thanks so much.
Thank You
Please continue making more. This was very helpful.
Sent from my Nexus 4 using Tapatalk 4 Beta
Need help on custom build
Hi @d0wngrade,
We are still waiting for the other videos in the series.
Thanks in advance.
I've just reinstalled Linux in a Virtual Machine and I'm syncing the Android 5.1.1 (latest) branch now. I'm going to watch part 1 and record a video where I left off. I don't know how long it will be, but it will be coming soon-ish. After the sync and some initial setup I'll be ready to record, so watch for it!
Related
I'm just curious who these seasoned devs are in here. I'm trying to see where this is going cause right now I see two paths: a really useful resource or a super duper kangkit/get rich quick scheme.
Until then I'm off to cook some food, not a rom.
TheDudeOfLife said:
I'm just curious who these seasoned devs are in here. I'm trying to see where this is going cause right now I see two paths: a really useful resource or a super duper kangkit/get rich quick scheme.
Until then I'm off to cook some food, not a rom.
Click to expand...
Click to collapse
I'm envisioning a multipurpose/variety thread. The likes of which never before seen. A thread so historically consequential, that the once elusive trade magic, some only hinted of in the fables of yesteryear, will be exposed, explained and made the standard. Oh yes, I'm with you when you say, "sounds much too important for just one dev to endure singlehandedly!" Which is why I bring you, the thread which will overclock your kernels 'till they pop ............................................................TOP ROM N' COOKING WITH YOUR HOSTS, DUDE AND KING!!
My mom says hi
I'd really like to see this become an active source of information between developers. A place where even some of the best can learn a thing or two.
Anyway... stepping up:
NPRussell
Creator of the various VillainROMs on the HTC Hero, capable of more than file moving and winzip, luckily.
I'll help out in here as much as possible to help get things moving!
@Cyanogen; Great introductory thread
I'm no mod, but I do have some priveleges.
Let me introduce myself.
Most of you won't know me for my efforts on Winmo i guess, since this is Android Chef Central. I worked with the best guys on creating a driver(pack) for Windows based MSM7XXX devices.
Now, I'm helping out XDA as much as I can.
Pleased to meet.
I am jcarrz1, an activist in the community and a fairly basic rom modder, etc. that looks for unique roms/bases and ideas for my creations.
not anything special, mind you.
im jamezelle(James L.) I dev for vogue-android, the eris and motodroid.
jamezelle said:
im jamezelle(James L.) I dev for vogue-android, the eris and motodroid.
Click to expand...
Click to collapse
wow all this time I thought I read some where you were a woman....don't know where I got that from lol....still loving Sense-able...
I myself can only winzip and push files plus some recoloring in gimp still trying to learn more...
NeoS2007 said:
I'm no mod, but I do have some priveleges.
Let me introduce myself.
Most of you won't know me for my efforts on Winmo i guess, since this is Android Chef Central. I worked with the best guys on creating a driver(pack) for Windows based MSM7XXX devices.
Now, I'm helping out XDA as much as I can.
Pleased to meet.
Click to expand...
Click to collapse
Hey man, your graphics driver packs were more than appreciated for my Diamond / Touch Pro / Touch HD ROMs! They made a difference.
BTW ... I'm dsixda, who got his life stolen away after starting on the Windows Mobile 6.x Onyx ROMs for the Elf/Elfin ;-)
Now that I'm on Android I really want to get back to doing actual development work. (I don't think writing Mortscripts for my ROMs count, do they?) However, the stock Android ROMs in my opinion are useful enough for my day-to-day activities... I'm just a file pushing guy for now ;-)
I am charansingh. Just learnt how to build cyanogen mod from source, Have been building overclocked kernels for personal use lately just for testing. Now digging into cyanogen mod source to see if i can see something interesting to learn, edit and make something new. Lately i edited setting in the camera to allow unlimited video record time kind of. And will be doing more as a get time to do it
Keep it clean guys!
dsixda said:
Hey man, your graphics driver packs were more than appreciated for my Diamond / Touch Pro / Touch HD ROMs! They made a difference.
BTW ... I'm dsixda, who got his life stolen away after starting on the Windows Mobile 6.x Onyx ROMs for the Elf/Elfin ;-)
Click to expand...
Click to collapse
Hey thanks man. I'm glad i've helped out people with my packs. I'm new to Android so i won't be much of a help in the graphics department, but I hope to help out as much as I can to get the best out of our snapdragon chipsets.
LOL
Warped420 or Michael, started the LEGION MODZ TEAM. Learned everything I know about building from PlayfulGod and Junkie 2100.
Built a JellyBeer $ROM$. But no visual until we used Hroark13's legacy mods.
I made a Tutorial on XDA.
Always here to help
Edit. I really should slow down and read. I'm not a mod
BCRichster- Newer member of LEGION MODS Team. I got your back, Warped420!
Theming is my focus, but trying to learn as much as I can about everything I can. Android Rocks! :beer:
Sent from my confused Warp/Nexus using Tapatalk 2
Will someone please help me in getting a kitchen set up for the Samsung Epic and at least have the paitence to teach me the basic skills of developing for Android and building ROMs for Android. (Like what is the stuff I need to know, and stuff that is essential to having a working Android ROM)
Please and thank you,
Korey
Whosdaman said:
Will someone please help me in getting a kitchen set up for the Samsung Epic and at least have the paitence to teach me the basic skills of developing for Android and building ROMs for Android. (Like what is the stuff I need to know, and stuff that is essential to having a working Android ROM)
Please and thank you,
Korey
Click to expand...
Click to collapse
Here are some links to get you started. There's a lot of stuff to learn, so my best advice is to be patience and lurk, read, and learn. I know nothing about your particular device, but much of this will apply.
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://forum.androidcentral.com/hacking/6037-general-rom-faq.html
http://forum.xda-developers.com/showthread.php?t=633246
http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/
http://forum.xda-developers.com/showthread.php?t=622916
http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html
http://forum.xda-developers.com/showpost.php?p=6738713&postcount=1
http://www.kandroid.org/android_pdk/index.html
http://android-dls.com/wiki/index.php?title=Main_Page
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=641223
http://adrianvintu.com/blogengine/post/Colored-Logcat-Script-for-Windows.aspx
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://forum.xda-developers.com/showthread.php?t=623976
http://lukasz.szmit.eu/2009/12/making-your-own-rooted-android-rom.html
http://groups.google.com/group/android-kernel
http://groups.google.com/group/android-building
http://groups.google.com/group/android-porting
http://groups.google.com/group/android-developers
http://groups.google.com/group/android-ndk
http://groups.google.com/group/android-platform
Look for the sticky thread by Cyanogen in this forum called "some advice". Are you looking to build roms from source, or just modify existing roms?
Do you know any Java or C?
Building roms may seem fun, but it takes research and patience. Lurking github commits, textbooks, and the forums is a great start. The community is very eager to help, and that's one of my favorite parts about android. But deving shouldn't be as simple as copy paste. Where's the fun in that?
I understand where you're coming from though, I was the same way a few months ago. Built a rom from source, posted it, then realized how uninformed I was.
I am now improving my skillz by reading textbooks on Java ("Head First Java") and C ("The C Programming Language"), both available as pdf documents. I'm mucking around in kernels and am going to start writing apps as well. Its a good place to learn the framework. You could also get into theming, but that requires a little graphic design know-how.
Good luck man, and have fun with it
Sent from my Nexus One using XDA App
Me too would like to learn more about creating ROMs for android (Galaxy S I9000 here)
I do have java experience (quite a lot, actually) but I really have no idea where to start when creating a ROM
thanks
Did you ever get a kitchen going?
Hey!
A while ago I got the idea of learning how to cook roms.. I made some research on it and I found some helpful stuff on xda. Well, I tried but quiet didn't understand and manage to be successful in doing what was told there..
I've read lots of stuff like "The hardest part of developing roms is getting started". So I guess this is the part where I need the most help
Whatever, the reason why I opened this thread is that I wanna hear some developers. Their ideas on developing; How to get started, their short story on how they started developing...
Basically I wanna learn where/how to start from those people who experienced and managed to become a developer..
I mean, I wanna know your stories as I really think they will help me, they will be examples to me...
Well, not only me, to anyone who reads them.. I'm hoping that this thread will help other newbies like me...
Thanks!
My first android phone was the g1, didn't install CM until the myTouch on t-mobile. I started writing scripts for android phones. Little ones, like LCD Density script or apk removal. Then worked on a theme. Didn't really go anywhere. Fixed a bug for Salvagemod for the Evo, then started working on SalvageMod. Evo needed a kernel after support was said and done, I figured out how to compile it, looking at other commits, I was able to make changes successfully to the Freedom Kernel for the Evo. Then decided that I wanted to work on some gui application. Cmcompiler came about.
While there are many many more details from start to finish. Point is really, that no one is going to teach this to you. You have to want to learn, and you simply have to do it. Its hard work. I have spent hours and hours of messing with things to get them to work correctly. Trial and error is a great way to learn android. Sadly "Android" isn't the only thing you have to learn when it comes to development. You need to learn the tools that come with the development, like packaging or install script if you have a local gui application, or git/svn/bzr for version control systems. Most importantly, you need to have fun learning. If you are not having fun. Quit.
I do not feel attracted when you ask devs to answer, but still.
I started with XDAs kitchen.
No development ofcourse, but a good place to start.
I felt XDA kitchen was not enough, so I started to learn BASH - the scripting language in wich Kitchen is written.
I started with opening the "menu" file out of the kitchen.
After a while, I neede batch-resize, as I wanted to become a themer.
I made it together with my dad.
After I saw that some themes contain more items then another, I made CopyFrom.
AndroidCentral was my next idea - a combination of all home-made tools.
Just like lithid, I felt a GUI was needed.
But I started to work on it for cross-platform usage.
Conclusion: writing scripts is a good way to start. Google is my best friend, as I am new to scripting also.
Good luck
Sent from my Galaxy Nexus using Tapatalk 2
To echo the sentiments of the two previous posts by lithid and mdroid, I also started by writing simple scripts and small projects. Android Utility was my start up project.
My first real projects involved Rosie (HTC Sense launcher) and theming it. Then it become modding the apk to do other things (remapped, 4x5, 5 column app drawer, transparency, etc). The process of learning how to theme and mod one apk really helps you learn.
My recommendation is to pick one particular aspect of your device/Rom and learn as much as you can about it. You will find quickly that by doing so you inevitably have to learn how to use the Android tools, scripting, BASIC programming fundamentals, and a general idea of how everything works.
And yes, Google is your friend. Also stackoverflow
Sent from my PG86100 using Tapatalk 2
I also wanna to start developing. Thanks the infos. Can you write a few standard dev-tools name?
Sent from my ZTE Blade using XDA app
After creating this thread and reading the opinions of developers I followed this tut and tried this kitchen.. Helps in modifying a ROM.
And as I already had Cygwin installed using the way shown in the above tutorial I tried this tool for modifying the boot.img..
And if you want to modify apps you can give a shot to this tool...
These tools are basically really easy to use and efficient. Especially for a newbie like me.
oh, and these words of cyanogen would be really helpful..
start developing is not easy...but if you really want it and can dedicatebtime and patience all will just be fine... it's not recommended that u try to do all at first...maybe just a mod can be ok for you or anyone starting here...try modding a rom,changing stuff,adding tweaka and playing with build.prop as well...then if all goes right u can think on modding more stuff like apjs,themes,including simo comex apks...those who needs extra settings,etc... you'll gain xperience as long as time goes on and will fibd lot of interesting stuff u'd like to invlude on builds...so don't rush...good roms need time and patience
Sent from my MB860 using XDA
Thanks! when I read your ideas, telling me to play around with a rom and all that. I feel that Im really lucky. I've already been playing around with the ROMs I've used so far.. like editing build.prop, basic theming, editing apks, I once edited framework-res.apk to enable the navigation bar, etc...
Yesterday I tried porting MIUIv4 on the cm9 for for my device following some tuts on xda.. I did everything right, but no luck I get stuck in boot logo... Whatever I'll not give up!
I'm planning to study those kitchen stuff more for now, I'll give a shot to the tutorial mentioned on the portal today..
Whats your device?
My next plan to modding a ROM. I read also the MIUI porting thread, that's not hard. A long time ago, with my previously phone, the Xperia X8 (miss you...), i tuned up the stock ROM and modified a cooked ROM for myself - without XDA. I registered after here.
Sent from my ZTE Blade using XDA app
LG GT-540 optimus
I know. Its really easy. Plus I tried to port MIUI by mikegapinski on cm9 by miroslav_mm.. both roms are developed for GT-540.. I do everything right but I get stuck...
I don't what to mod, I mean I don't have any ideas... so Ill try porting MIUI
Hey bro. My advice? Do some heavy softmodding first (Take lets say tejas rom and add themes, adjust framework, add tweaks, add custom animations.custom this custom that basically add what you think is nice and yeah after long you will get more and more weird ideas )
Hello, ladies and gentlemen!
Now that I have finally got my hands on a YP-G70, it's time to start developing for it! For my first project, porting AOKP! If you're like me, the default customisation options are not enough to suit your needs so you turn to a custom ROM. AOKP is my first choice when it comes to customising my device. Since there currently exists no JB AOKP ROM, I have taken up the task of porting it myself. (Hopefully, I will not have to resort to building it from source!)
It will most likely be a long project, and I could not have been inspired to take on this task if it wasn't for the awesome developers working on ROMs. Any help along the way would help this project work out!
Step 1: Finding a good ROM to port from.
Reserved.
U rock!
if you could develop would help. I'm taking classes, until then I'm just tester
Looking forward to this!
64kb said:
Hello, ladies and gentlemen!
Now that I have finally got my hands on a YP-G70, it's time to start developing for it! For my first project, porting AOKP! If you're like me, the default customisation options are not enough to suit your needs so you turn to a custom ROM. AOKP is my first choice when it comes to customising my device. Since there currently exists no JB AOKP ROM, I have taken up the task of porting it myself. (Hopefully, I will not have to resort to building it from source!)
It will most likely be a long project, and I could not have been inspired to take on this task if it wasn't for the awesome developers working on ROMs. Any help along the way would help this project work out!
Step 1: Finding a good ROM to port from.
Click to expand...
Click to collapse
If I can help you perhaps, the best rom to port from would be a rom with simillar hardware. You can go search for the nexus s or the galaxy s I9000 as they've mostly the same hardware as the SGPs 4.0 and 5.0. Still I recommend building from source for optimal quality.
I was hoping this would not be the case but I have set up a Linux box for building just in case. Thanks, I can spend the next few days off from school working to get this started!
Sent from my YP-G70 using xda app-developers app
Moved to General for now, when the OP is full of development, will be more than happy to relocate!
I have 3 questions for the experts or anyone who is interested in this topic. Any information provided would be greatly appreciated. Here we go!
1) If I wanted to compile my own custom rom what kind of knowledge would I need?
2) Is this type of project possible from a laptop (i.e. building the rom and making fixes etc.)
3) How long would a project like this take me to produce a semi-working version of Android? (all basic functions, wifi, bluetooth etc.)
I am a first year college student looking to study the world of device software to become a developer someday. And this project would be a good start regardless of length and time it would take to finish. However I am unsure of the exact knowledge I would need in order to start something like this. If there's anymore information I need to provide please let me know. Thanks in advance!
0
Seppppx said:
1. Basic android knowledge, some basic android development knowledge (AlaskaLinuxUser has great guides and explanations for this, he covers everything you need. https://www.youtube.com/c/AlaskaLinuxUserAKLU ), you don't have to know a programming language, but it will be useful. Basic skills about programming are very useful (you should know what an integer is, or what is a variable).
2. Yes, depending on the specs, you need Linux or MacOS. 4gb of ram is the minimum I guess, 16gb is recommended. A good cpu will shorten your build times considerably (but should be okay on lower end cpus as well, it will just take a long time to build afaik), gpu doesn't matter afaik. SSD will make your build times faster.
3. I haven't managed to make a basic working build, but getting LineageOS booting to the home screen on a device with no custom rom or sources took me 47 days, I had to do everything from scratch for the first time.
Click to expand...
Click to collapse
I appreciate the tips and will be looking at the guides tonight. To say the least I am excited
Mr.Conkel said:
I have 3 questions for the experts or anyone who is interested in this topic. Any information provided would be greatly appreciated. Here we go!
1) If I wanted to compile my own custom rom what kind of knowledge would I need?
2) Is this type of project possible from a laptop (i.e. building the rom and making fixes etc.)
3) How long would a project like this take me to produce a semi-working version of Android? (all basic functions, wifi, bluetooth etc.)
I am a first year college student looking to study the world of device software to become a developer someday. And this project would be a good start regardless of length and time it would take to finish. However I am unsure of the exact knowledge I would need in order to start something like this. If there's anymore information I need to provide please let me know. Thanks in advance!
Click to expand...
Click to collapse
Consider to visit the threads created by @AlaskaLinuxUser e.g. these:
[Guide][Video Tutorial] How to build Custom ROMs and Kernels![10,P,O,N,M,L]
Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg I really hope that you have enjoyed the series, and that it was helpful to you in your Android career! Praise...
forum.xda-developers.com
[Guide][Video Tutorial] Intermediate to Advanced Custom Rom and Kernel Building
Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg I really hope that you have enjoyed the series, and that it is helpful to you in your Android career! Praise God...
forum.xda-developers.com
[Video Tutorials] XDA Etiquette, Compiling Custom Roms/Kernels
Praise God! A video tutorial about XDA etiquette! These videos express my personal opinion, and are not necessarily the opinion of XDA. I am not speaking on their behalf. This is just a video series that I put together based on a recommendation...
forum.xda-developers.com
Please check for the threads in his profile. There's much more around.
EDIT: Upps and sorry. Already mentioned by @Seppppx