What language(s) do I need to learn for ROM development? - Samsung Galaxy Nexus

I know this should be in the development forum but I never get any attention there so I thought I would ask some GNex owners I can count on
Now down to business. I have some knowledge in Java and I was looking into developing custom ROMs. I wanted to know which language(s) I will need to know to get started. I'm not talking about developing apps, I'm talking about editing framework like these highly know ROM builders do (CM9, AOKP, GummyNex, etc.) I know it it almost impossible to develop an entire ROM by yourself so I would be more than happy to use some open source code!
Thanks and if anyone could point me in the right direction to get started I would greatly appreciate it!

You need to know C/C++ for the kernel, and java for the apps, framework, ROM, and everything else. Really just java if you're gonna ignore the kernel and just play with the launcher, framework, systemUI, settings, telephony, etc.

So if I get permission to use someone else's kernel, all I need to know from there is Java?
P.S. Can anyone link me to some resources where I can get started?

Bump
Sent from Left and Right thumb via Xparent Green Tapatalk 2!

Hydera5 said:
So if I get permission to use someone else's kernel, all I need to know from there is Java?
P.S. Can anyone link me to some resources where I can get started?
Click to expand...
Click to collapse
Yes just ask, most people let you use their kernel as long as you give them credit. Or you just use stock kernel since you are only doing the ROM anyway. Users will likely flash their favorite kernel anyway.
If you are totally beginner, follow the hello world tutorial on Google Dev site.

RogerPodacter said:
Yes just ask, most people let you use their kernel as long as you give them credit. Or you just use stock kernel since you are only doing the ROM anyway. Users will likely flash their favorite kernel anyway.
If you are totally beginner, follow the hello world tutorial on Google Dev site.
Click to expand...
Click to collapse
I've developed a bit in Java, can you point me to a tutorial to start with ROM development?
Thanks!

The device tree is all in c just an FYI
Sent from my Nexus 7 using Tapatalk 2

aaronpoweruser said:
The device tree is all in c just an FYI
Sent from my Nexus 7 using Tapatalk 2
Click to expand...
Click to collapse
Can you clarify what the device tree is?
Sent from Left and Right thumb via Xparent Green Tapatalk 2!

Hydera5 said:
I've developed a bit in Java, can you point me to a tutorial to start with ROM development?
Thanks!
Click to expand...
Click to collapse
There a few beginner tutorials in Google developer site. I also just googled tutorials and read read read as much as I could. Half the part is learning how android apps work, using XML for the ui etc.
aaronpoweruser said:
The device tree is all in c just an FYI
Sent from my Nexus 7 using Tapatalk 2
Click to expand...
Click to collapse
I think he means all the device kernels are in C, but everything else is in java.

Hydera5 said:
Can you clarify what the device tree is?
Sent from Left and Right thumb via Xparent Green Tapatalk 2!
Click to expand...
Click to collapse
Device tree is stuff like drivers and device libraries. This stuff is what gives the software and apps access to the hardware.
Sent from my Galaxy Nexus using Tapatalk 2

geoffcorey said:
Device tree is stuff like drivers and device libraries. This stuff is what gives the software and apps access to the hardware.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
So technically I would need to know Java and C to create a ROM (no kernel) ?

Hydera5 said:
So technically I would need to know Java and C to create a ROM (no kernel) ?
Click to expand...
Click to collapse
No, you just need have really. Some things like memory.c are in C, but not the ROM stuff.

Hydera5 said:
So technically I would need to know Java and C to create a ROM (no kernel) ?
Click to expand...
Click to collapse
Well, assuming you're building for gnex, you really only need to know java.
Sent from my Galaxy Nexus using Tapatalk 2

Related

[DEV] [SOURCE] Nexus S 4G Vendor Setup

Just finished my vendor setup for the Nexus S 4G. Feel free to use it or fork my repo but please remember to credit for the work I put into it.
https://github.com/peteralfonso/platform_vendor_samsung
What does this mean to non devs? That AOSP ROMs can be made easily now and you should see an entire slew of them soon.
Guess its time to learn some real dev'n stuff Thanks for your time man, youve opened the door for sure.
BuglessPete said:
Just finished my vendor setup for the Nexus S 4G. Feel free to use it or fork my repo but please remember to credit for the work I put into it.
https://github.com/peteralfonso/platform_vendor_samsung
What does this mean to non devs? That AOSP ROMs can be made easily now and you should see an entire slew of them soon.
Click to expand...
Click to collapse
I'm so glad you got your nexus. Will we see a bugless beast?
Sent from my Nexus S 4G using XDA Premium App
Epic, nicely done. Now our 4G brothers can get some love. Ready to add ROMs to the Reference Guide
Sent from my Nexus S
mikeyinid said:
Guess its time to learn some real dev'n stuff Thanks for your time man, youve opened the door for sure.
Click to expand...
Click to collapse
Hey man, you seem pretty cool no homo. If you ever have any questions, and truly want to learn hit me up on gtalk. I dont know everything but I can answer some questions here and there. Im sure you can find my email address somewhere on the web.
BuglessPete said:
Just finished my vendor setup for the Nexus S 4G. Feel free to use it or fork my repo but please remember to credit for the work I put into it.
https://github.com/peteralfonso/platform_vendor_samsung
What does this mean to non devs? That AOSP ROMs can be made easily now and you should see an entire slew of them soon.
Click to expand...
Click to collapse
whats the diff between this and pulling the files myself?
shabbypenguin said:
whats the diff between this and pulling the files myself?
Click to expand...
Click to collapse
Pulling them as in using an extact script or pulling them as in using this:
http://code.google.com/android/nexus/drivers.html
?
Awesome. This is really what should be done first. Glad we have you on board. No homo... really
Sent from my Nexus S 4G using XDA App
Awesome...Mucho Gracias Friend
ily<3
Sent from my Nexus S 4G using XDA App
BuglessPete said:
Hey man, you seem pretty cool no homo. If you ever have any questions, and truly want to learn hit me up on gtalk. I dont know everything but I can answer some questions here and there. Im sure you can find my email address somewhere on the web.
Click to expand...
Click to collapse
Thanks man. That is much appreciated.
BuglessPete said:
Just finished my vendor setup for the Nexus S 4G. Feel free to use it or fork my repo but please remember to credit for the work I put into it.
https://github.com/peteralfonso/platform_vendor_samsung
What does this mean to non devs? That AOSP ROMs can be made easily now and you should see an entire slew of them soon.
Click to expand...
Click to collapse
Catch everyone on the flip side
Ima get dirty for the first time! I need to learn this stuff now that I have the ns.
Thanx Pete!!!
Evo 4G --> Nexus S 4G
BuglessPete said:
Pulling them as in using an extact script or pulling them as in using this:
http://code.google.com/android/nexus/drivers.html
?
Click to expand...
Click to collapse
yea, as ive done both of those steps. just wasnt sure if you added some sprinkles onto the files that make them glitter and glow properly
shabbypenguin said:
yea, as ive done both of those steps. just wasnt sure if you added some sprinkles onto the files that make them glitter and glow properly
Click to expand...
Click to collapse
Well JBQ says the extract file is outdated since the 2.3.4 release and will not work properly. That binary site I linked to is one way to set it up but you will see that my method is much simpler (easier to work with), more organized, and more complete (the binary site is missing a few files). I will be maintaining my repo so essentially it will make it easier for the entire community, so everyone can glitter and glow properly
Edit: So just to be clear, completely remove your current vendor setup (dont use the binaries or the extract script) and replace it with mine.
Just updated the vendor setup with some more fixes
ksweat2292 said:
ily<3
Sent from my Nexus S 4G using XDA App
Click to expand...
Click to collapse
Pause worthy
Sent from my Nexus S 4G using XDA Premium App
are you doing a signapk and reassemble apk on your builds
cteneyck said:
are you doing a signapk and reassemble apk on your builds
Click to expand...
Click to collapse
No, there is no need to. I just included the "reassembled" apks in the proprietary folder instead.
I'm teaching myself how to build from source I'm syncing now. I hope I'm doing it right. Pulling your source...
Off topic: If I could get both my monitors to work in mint 10 I'd be good to go...
mikeyinid said:
I'm teaching myself how to build from source I'm syncing now. I hope I'm doing it right. Pulling your source...
Off topic: If I could get both my monitors to work in mint 10 I'd be good to go...
Click to expand...
Click to collapse
honestly building from source is easy, its finding how to change the source to get what you want that is the hard part

[Q] Where to begin to compile & build android from source.

ive found multiple guides but they all seem to be outdated. I've fresh installed ubuntu 12.04, can someone help me out where to start?
Much appreciated in advance.:highfive:
Seriously?
063_XOBX said:
Seriously?
Click to expand...
Click to collapse
I've got that open and right now I'm syncing. If I sync master repo will that compile 4.2?
Sent from my Galaxy Nexus using Tapatalk 2
http://forum.xda-developers.com/showpost.php?p=34082895&postcount=552
http://forum.xda-developers.com/showpost.php?p=34659463&postcount=556
063_XOBX said:
http://forum.xda-developers.com/showpost.php?p=34082895&postcount=552
http://forum.xda-developers.com/showpost.php?p=34659463&postcount=556
Click to expand...
Click to collapse
Also is there a way I could I could just pull source from a devs github specifically or do you need the master source as well? Sorry for my horribly phrased stupid questions and thanks in advance
Sent from my Galaxy Nexus using Tapatalk 2
soub31 said:
Also is there a way I could I could just pull source from a devs github specifically or do you need the master source as well? Sorry for my horribly phrased stupid questions and thanks in advance
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Read the thread linked above, all of your questions so far have been answered there already. You're going into git territory, so believe me, there are a lot more guides about git than about building aosp.
Sent from my i9250

Guide Me fellow brethrens!

I WANT to learn how to make my own kernel. Is there a guide some where here on xda where I can get started. I promise to give you a mother of all kernels if you brethrens help me get started. I will await a answer.
Someone should help this guy, just so we can have "smellykernals".
Sent from my calculator watch.
kingdazy said:
Someone should help this guy, just so we can have "smellykernals".
Sent from my calculator watch.
Click to expand...
Click to collapse
lawl! I guarantee I would make a kernel of all kernels. I have a passion for tweaking and coding. I have a keen eye for the slightest change in appearance and performance. 1 fps drop is nothing for all, for I... is life and death situation. brethrens.... bring me knowledge! And feast on the future kernel soon!
So have you been to this thread? http://forum.xda-developers.com/showthread.php?t=2094296
Dev is getting people together for a community project
Sent from my SPH-L900 using Tapatalk 2
cbucz24 said:
So have you been to this thread? http://forum.xda-developers.com/showthread.php?t=2094296
Dev is getting people together for a community project
Sent from my SPH-L900 using Tapatalk 2
Click to expand...
Click to collapse
yup. seen it. But I want to do it alone. Just need a kick start.
any guidance is appreciated.
There are plenty of guides you can read. Kernel development isn't easy. It's not something you're gonna start having never done it before and just build yourself a kernel. The first smartphone kernel I ever built took me 6 months to get fully working and it was for a palm pre and I had experience building desktop kernels for various linux distros.
I like to break stuff!
The first kernels I did were based off of a guide from joeykrim and help from vampirefo. They are a PIA until you get used to it. Good luck with your endevors. Here is a decent guide to start with, change the device though. http://forum.xda-developers.com/showthread.php?t=1516051
smellymouse said:
yup. seen it. But I want to do it alone. Just need a kick start.
Click to expand...
Click to collapse
There isnt any kickstart for making kernel for a phone if you havent built a kernel before. I would suggest looking at the community dev thread again, as most of the build process has already been gone over. Do you have a Linux distro running yet?
Sent from my SPH-L900 using xda premium

I want to make an app.... Where's the best place to start?

I know nothing about it, and am eager to learn. Where to start............?!?!
Thanks to anyone that can help! :good:
P.S- Sorry if this isn't the place to post this.
Have you looked in the App Development Forum in the main forum listing? Also XDA university... Just a couple of suggestions
Sent from the future via Xparent Green Tapatalk 2
edfunkycold said:
Have you looked in the App Development Forum in the main forum listing? Also XDA university... Just a couple of suggestions
Sent from the future via Xparent Green Tapatalk 2
Click to expand...
Click to collapse
Thanks man. Anyone else have tips? It'd be appreciated.
Do you know Java ? If not, you should start there.
Lmao I know nothing about any of this. I am as noob as a noob could be!! I'm literally starting from square 1...
Sent from my SPH-L710 using Tapatalk 4 Beta
Joe0113 said:
Lmao I know nothing about any of this. I am as noob as a noob could be!! I'm literally starting from square 1...
Sent from my SPH-L710 using Tapatalk 4 Beta
Click to expand...
Click to collapse
Yeah, definitely start with Java then :thumbup:
CNexus said:
Yeah, definitely start with Java then :thumbup:
Click to expand...
Click to collapse
Starting out with this cool website I found: http://www.codecademy.com/#!/exercises/0
Also found this too: http://developer.android.com/training/basics/firstapp/index.html
+1 on learning java, then maybe some android SDKs, along with Eclipse software. You learn all this, your well on your way. Java will definitely take the longest to learn.
message brought to you by my GalaxyS3
Id like to have somebody createnan app for me.. an app that lets me access my employee mainframe at work.. we have access to it via WEB, but id like a custom app so that i dont have to goto the webpage and log in..and blah blah...and its a JAVA based page too..
Sent from my SPH-L710 using xda app-developers app
Can't even figure out how to get this freakn Android SDK thing to work!! I have no idea how to install the Android SDK. It's DLed onto my computer, and I extracted it but whenever I click on Eclipse to start a project, it's not working! I get an error message about Java.
I'm a freakn idiot!!! I didn't have Java Runtime Environment installed hahaa. Got it working let's see how this goes.
If anyone has any helpful tips, or sites, or teaching.. ANYTHING feel free to post here!!!! :good:
Joe0113 said:
Can't even figure out how to get this freakn Android SDK thing to work!! I have no idea how to install the Android SDK. It's DLed onto my computer, and I extracted it but whenever I click on Eclipse to start a project, it's not working! I get an error message about Java.
I'm a freakn idiot!!! I didn't have Java Runtime Environment installed hahaa. Got it working let's see how this goes.
If anyone has any helpful tips, or sites, or teaching.. ANYTHING feel free to post here!!!! :good:
Click to expand...
Click to collapse
You can go to googles Dev site and watch the countless tutorials on android development. Also YouTube has toms of mini series covering all aspects of a android development if you are a visual learner I would highly recommend watching these series. Try to find the newest set possible. ICS or newer as the api has changed drastically and so has the adtt plugin for eclipse. Also you can find the eBook beginning android development in PDF form its pretty good and is also based on ICS and newer. Between all that you should be able to pick it up.
Sent from my SPH-L710 using xda app-developers app

Halo is open source!!!

I just wanted to post this so every developer could see here's the link to both sets of githubs and pa's comments on it
https://plus.google.com/107979589566958860409/posts/LF2RNE9rHt1
Edit OK here's some more stuff they said could be used to help further get this out
https://plus.google.com/107979589566958860409/posts/fkQGDxzNRd1
06/13
Pa adds a quick how to:
https://plus.google.com/107979589566958860409/posts/biKpmPBT8Pe
I hope admin leaves this up for a fee days so all the devs that didn't see will now know and have a link.. Enjoy
Sent from my Galaxy Nexus using Tapatalk 4 Beta
Just going to toss out that this has been on just about every Android news channel imaginable lately. It is certainly a great step though, and I hope to see it integrated into a framework modifier like Xposed.
Rirere said:
Just going to toss out that this has been on just about every Android news channel imaginable lately. It is certainly a great step though, and I hope to see it integrated into a framework modifier like Xposed.
Click to expand...
Click to collapse
Why when it is open source if you read the news article all that's needed is a git cherry pick and build. Then its done.
Sent from my Galaxy Nexus using xda app-developers app
MartianCeo said:
Why when it is open source if you read the news article all that's needed is a git cherry pick and build. Then its done.
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
Things are rarely that simple, not because cherry picks don't work, but because some people are in different circumstances than your own. My current phone is a HTC One running a stock kernel, and without more sources custom kernels and ROMs are something of a tricky business right now. I prefer stock when possible, so an Xposed-style framework patch is a good way of "cherry picking" what I would like in a workable manner.
Great that you're sharing the news, but you posted in every thread already and now opened a thread in dev section =/
+1 for good intentions though
Rirere said:
Things are rarely that simple, not because cherry picks don't work, but because some people are in different circumstances than your own. My current phone is a HTC One running a stock kernel, and without more sources custom kernels and ROMs are something of a tricky business right now. I prefer stock when possible, so an Xposed-style framework patch is a good way of "cherry picking" what I would like in a workable manner.
Click to expand...
Click to collapse
That's true, I know that it works for all aosp Roms. Who know maybe someone will figure it out for your phone.
Sent from my Galaxy Nexus using xda app-developers app
killersloth said:
Great that you're sharing the news, but you posted in every thread already and now opened a thread in dev section =/
+1 for good intentions though
Click to expand...
Click to collapse
Surely you realize posting in 5 other threads and creating this one aren't every one right? Anyway it can be deleted for all I care, I put this up so developers could have ready access top the info they needed, wasnt just an empty post, but thanks for your support
Sent from my Galaxy Nexus using Tapatalk 2
goast said:
Surely you realize posting in 5 other threads and creating this one aren't every one right? Anyway it can be deleted for all I care, I put this up so developers could have ready access top the info they needed, wasnt just an empty post, but thanks for your support
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
This was the wrong thread don't try to be smart when you made a mistake. Own up and move on.
Sent from my Galaxy Nexus using xda app-developers app
MartianCeo said:
This was the wrong thread don't try to be smart when you made a mistake. Own up and move on.
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
I didn't make anything, I knew full well someone would have something to say about me putting this here, I even say so in the first post. Obviously you guys are friends and you decided to take up for your Buddy which is fine with me they can pull this anytime they please.. It was only done to benefit all toro+ ROMs I'm not even mad about what he said he has a right to have an opinion and speak it freely... I'm not going to speak on it anymore.. I don't want to receive sn infraction for making more out of something than necessary... If it costs nothing to pass over this post and live your life.. I will be doing the same.. Again this was only made to give allr necessary links to compile.
Sent from my Galaxy Nexus using Tapatalk 2
goast said:
I didn't make anything, I knew full well someone would have something to say about me putting this here, I even say so in the first post. Obviously you guys are friends and you decided to take up for your Buddy which is fine with me they can pull this anytime they please.. It was only done to benefit all toro+ ROMs I'm not even mad about what he said he has a right to have an opinion and speak it freely... I'm not going to speak on it anymore.. I don't want to receive sn infraction for making more out of something than necessary... If it costs nothing to pass over this post and live your life.. I will be doing the same.. Again this was only made to give allr necessary links to compile.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Well said goast.:thumbup:
Sent from my Galaxy Nexus using Tapatalk 2
I don't know that guy
Just saying good intentions but I think any dev interested in adding halo to their source already knows lol. I see you around here a lot goast and I have nothing against you
Just trollin xda while I'm bored at work
Sent from my Galaxy Nexus to all you wonder nobodies!
killersloth said:
I don't know that guy
Just saying good intentions but I think any dev interested in adding halo to their source already knows lol. I see you around here a lot goast and I have nothing against you
Just trollin xda while I'm bored at work
Sent from my Galaxy Nexus to all you wonder nobodies!
Click to expand...
Click to collapse
Its all good man I try to help out in anyway I can I lack the knowledge to code or compile anything more than a turd in the morning... I am on here pretty frequently tho... I try to stay up on my phones development when I'm not writing or recording ... Anyway its all good bro
Sent from my Galaxy Nexus using Tapatalk 2
Pa adds some help info, it's back in first post... Wouldn't dare call it the op lmao
Sent from my Galaxy Nexus using Tapatalk 2
My two cents...I know goast from the forums, and he is an advanced user and a great resource to me. He's obviously pumped up about halo, and rightly so (it's a pretty amazing innovation by PA team). I'm not attacking anyone, but I like to stay informed about new things, so I appreciated his blast out. Many devs here work demanding jobs, and donate their personal time to development, so this info may help them in this fragmented crazy fast paced world. I just wanted to thank goast for the info, and impart some positive energy here. I'm not a dev, nor am I an expert, but I share goast's passion for android and desire to learn more about it. To me, that's why I love xda...I have a commercially dead device that is still extremely viable thanks to all of the great work here. Ok, I'm done...everybody enjoy halo!
Sent from my Galaxy Nexus using Tapatalk 4 Beta
goast said:
Pa adds a quick how to:
https://plus.google.com/107979589566958860409/posts/biKpmPBT8Pe
Click to expand...
Click to collapse
what are you talking about? this how to is how to translate not how to add halo

Categories

Resources