I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
I cannot agree more. Learning the in's and out's of the Android framework will benefit newcomers SIGNIFICANTLY.
Building ROMs is easy, fixing bugs and adding new functionality is the fun stuff, and having a solid understanding of the Android framework helps with this. The best way to learn is to pick up the Android SDK and whip up some apps, there are great tutorials out there.
Awesome information! It is good to see I have been reading the right literature... There are also a few that I missed... Thanks again for the links!
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
I completely agree. But it's cyan saying it, who wouldn't
I am ok with "chef" terms because they were born on XDA, which makes them kinda cool, but I agree that the file-pusher mentality/stereotype is quite derogatory.
I hope this section goes places.
P.S. Hearing a diehard android dev like you (cyanogen) say that you are biased against sense really made me think about how good plain old android really is... so clean and functional. Good stuff bro.
very nice thanks for the info was looking into this...now to fill the brain.
Weird how this is exactly what i was looking for. Time to read. Thank you cyanogen.
I'm with Cyanogen on the bias against pre-built, proprietary code blobs. Even the non-free, basic parts to get AOSP to build for dream give me the hivie-jivies, mostly because the reason we're in such a pit now with further versions of Android is because we have no source to maintain working basic functionality (yeah, video in a device capable of recording/playback is basic).
I'll try to work a couple basic tutorials based on my rom-building exploits covering things from getting android built from source, to actual troubleshooting possible problems, to having a hand at modifying the source so you can make the built your own. I really want to see somebody come up with a real custom rom on the android part of the OS and leave the linux part rest for a while.
Oh man! PDK! Never seen it! Thanks a lot
Great job
As always, my hat is off to you Cyanogen. This is exactly what i was looking for. Once again thanks for your hard work and dedication to the project.
This is awesome. I am going to be learning this stuff over summer. But there seems to be a gap of information between learning the android stuff, and learning the linux stuff.
Hi do you know some guides online to build Overclocked Kernels ???
PDK website
Odd that the PDK website does not function. Anyone know who owns it?
mistere372002 said:
Odd that the PDK website does not function. Anyone know who owns it?
Click to expand...
Click to collapse
Works fine for me. What issues are you having?
I guess I'll be the first in the thread to ask the extreme newbie questions.
Are the links in the OP in a particular reading order, or is there a recommended order?
Since the entirety of my programming experience is some simple VB type stuff, will I be able to learn from the ground up via those links, or will it be more like trying to figure out the words in a Chinese book with no knowledge of the language?
At one point I had managed to cobble together a web front end on my Droid for wowhead.com (all it did was bring up a screen with a search box, which would then pop open the browser with the results of whatever you searched for), but to say I had a firm grasp of what I was doing in my tinkering would be a gross overstatement.
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Click to expand...
Click to collapse
So, firstly thanks for the websites. Personally, I already knew about most of those. But that is beside the point right now.
Why would someone want to learn how to program anything when they are just building a rom? I just don't understand what is wrong with someone only tweaking and slimming a rom down. What point would it be for a website like this to make everybody just go out and learn on their own EVERYTHING, and then what would this site be for? Posting only in the development forums? This is a support website. Plain and simple. Who cares if someone asks a question? If they searched and couldn't find something, let it go.
In your same thought process, very FEW WM chefs could call themselves chefs. And before you ask yes, I could call myself a chef because I have written quite a few apps to assist in building a rom or actual tool for WM. Maybe not the best chef, but one nonetheless.
I just think this is basically discouragement of any new developers/chefs from posting something in fear of being chastised. I am absolutely still learning android. If it wasn't for the people of SDX, particularily joeykrim, I wouldn't be so close to a final product of my Android kitchen.
This being said, maybe I am just full of crap and the only one that will go against your POV. Mainly because I am not afraid to state my opinion. And this POV is wide across the forum and this is why I don't contribute much here anymore
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
Thank you.
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
Thanks for your support/advice,
I'm trying to understand all the stuff in order to create a new ROM for Tattoo from 0, and I will take your info in order to. Crate this ROM and make a step by step manual to help people to understand how to modify their Tattoo's. I will like to see this cooperative knoledge share for this phone. As more peoople understands all this stuff, and all this work done by the comunity, more people will join and share to have better phones every day.
Tanks
java version
hi all,
Working 100%. Thanks for this great work. Now runing this 2.6.34 kernel on tattoo. Just now ajusting the kernel configuration.
Cheers
great advice
Cyanogen
Thanks for your support & advice
Time to start reading....
trying to understand all that is needed ==
TO BE A DEVELOPER..
IF ANY BODY HAS MORE INFO OR VIDEOS ..
PLEASE POST
----------------------------------
Currently own a Sprint EVO 4g > and plan on making great things for it..
Cyanogen you are so damned right. Building a Rom should implicitly mean that you know git, Android, dev and... read api and docs
I'm thinking about dsixda Rom kitchen.
I use its scripts to unpack kernel and zip everything, but largely customized the scripts and added some. In fact I love shell scripts.
I just wish you could also post a link to a toolchain tutorial for those willing to compile binaries from sources on x86 for an ARM architecture. And also to add shared libraries.
Have a nice day.
Hi guys,
I think I have been an xda user long enough..so I though, why dont I try my hand in developing and be more of a giver than a taker in this great community.
Problem is, I dont know where to start. So if you dev guys could give me an effective learning path(study this first, then this, then this)..I would be most greatful!
Im not a developer by training(an accountant, of all things!!), however, I did get into IT audit so I know a little bit about the different flavors of unix..and I love coding(we use some scripting software in the trade, i know i know, its different) and i am never happier than trying to figure out how to make things work using code..
I know some of you may laugh at me, but I really am interested in this.
Thanks!
There's a great site here with lots of useful info
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Yep!! Sleepless nights! Just like a real dev..hehehe... I do know some languages like vb..python..javascript..but that was just me muckin around..nothin serious also..already had the netbeans ide setup...and got my java hello world cherry popped..hahaha..so lame
Sent from my GT-I9100 using XDA App
DreadPirateDan said:
There's a great site here with lots of useful info
Click to expand...
Click to collapse
Thanks man!!! Looks good!
Sent from my GT-I9100 using XDA App
saunderez said:
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Click to expand...
Click to collapse
Yes..that is my endgame..but i was hoping you guys could point me to some android specific stuff..like how kernerls work..etc..basically i want to know the environment first...using google doesnt really yield in depth stuff
Sent from my GT-I9100 using XDA App
Android is basically Linux with a custom UI.
If you want to know how kernels work (and you really shouldn't(!) if your goal is to make apps, as that's REALLY in-depth lowlevel stuff) just check out how Linux works - there's a million million articles on the net about the internals of Linux.
Android specific app development stuff, incl. tutorials and samples are here:
http://developer.android.com/guide/index.html
Maybe you just wanna setup the SDK and try to get the "Hello World" working, continue from there.
SDK: http://developer.android.com/sdk/index.html
i understand this question has been asked in similar ways but programming is quite broad so hopefully i can get a personalised response to help zone in on my learning.
bit of information about me:
ive been using computers all my life whilst doing a little bit of code tweaking for a variety of things such as; games(hex editting) web coding and even a bit of excel macro work.
i currently have no plans or commitments as of now and wanted to use my free days to learn something new that ive been intrested in since i was about 12 years old.
im looking for a base or a starting point in learning coding... i understand jumping straight into coding apps and things is way out of my reach but i guess i have to start somewhere! Im very much intrested in customisation and the ability to customise as much as possible on phones, games and applications but i have no idea where to start...
ive been looking around and people recommend learning all sorts of languages from:
php/css moving up to java
straight to java
python
c#
c++
c then progressing into c++
but id rather get an answer from a community that is notoriously skilled in the developing area so much so that i feel this is the best place to ask!
if there is anyone who also wishes to help me personally in helping me along the way and giving me some advice then please pm me as id be so grateful to have someone there to help me.
thanks in advanced for your responses im looking forward to learning and hopefully starting something that will be a major part of my life from now on.
Well, since this is a mainly Aneroid development website, and if you are interested in aneroid, I would just jump straight into Java. That's what I did at least... to learn Java just google "Beginner's guide to Java" or something. Hope this helps.
Sent from my Kindle Fire using XDA
i was hoping for more input then just one person, i would like to know what others feel is the best way to go about it so i can build up an idea of peoples opinions to see what i feel is the best strategy of learning.
i appreciate your input ballarous =)
penfold1992 said:
i was hoping for more input then just one person, i would like to know what others feel is the best way to go about it so i can build up an idea of peoples opinions to see what i feel is the best strategy of learning.
i appreciate your input ballarous =)
Click to expand...
Click to collapse
What are your development plans for? Do you plan on donning an apron and becoming a rom developer or do you plan on developing apps? You're setup will differ between the two but either way grab yourself a few good java books but understand it applies to Android differently than regular java. Learn the fundamentals of java, it's core rules etc but study googles open source api to see how you implement your phones system into regular java format. Here is a link to the Google source for developers (not source as in the source you sync to build Android, source as in how to implement phone apis into that source) http://developer.android.com/reference/packages.html
Here's some general app development guides that will broaden your understanding http://developer.android.com/resources/index.html
Sent from my Galaxy Nexus
From my experience...
It probably does not matter where you start... I personally started with web based languages like VBS, and javascript, then jumped into c++... I completely avoided Java until recently.
VBS or Visual Basic is used for excel macros so you already have some experience under your belt. It should be pretty simple for you to apply that same understanding to the different syntax of Java.
Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
pangprego said:
Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
Click to expand...
Click to collapse
Start with kernel hacked (you know cpu/gpu overclocking) I think you do many touchpad user happy
There is a tutorial for the beginners
http://forum.xda-developers.com/showthread.php?t=1564632
Hi xda-developers,
I am an Embedded developer with vastnexperience in Firmware development in C programming (for microcontrollers), pcb designing, corel draw/photoshop (intermediate level) . Now I am looking to stretch my self a lil further by trying my hands on Android Programming. I have no prior experience in Software development. It would be kind of experienced developers out here to guide me with possible approaches that I can give to Android development without a much steep learning curve. As I would be practicing android development mostly on weekends (as of now), I would like to get started with things that I can relate with already. That way it would keep me going. Help me out with:
1. Possible applications I should work on. Something that can also be helpful for the community of users and developers.
2. Starting point and other obstacles I would come across while development.
3. Application ideas.
P.S: I also have a rPi lying around catching dust.
Some of the features still cant use on this. Libraries could be use.
Start with "Hello World"
Regardless of your software development capabilities you should always just mess around with the tools that are available and see what you like and what you don't like.
Try every tool you can, when you feel like you know those inside out have a go at extending the functionality of one of those.
For me when it comes to learning a new technology like Android SDK just playing with it inspires me to want to create real and practical applications.
Goodluck and have fun.
PS: I would stick around and see what happens with the release of Qt 5.2 Hint hint...
Yea. Android like embedded requires you to set up a Dev environment so get that up first. ROM building vs app developing are hugely different. Decide which and download the tools. (May require you to install a whole new os and tweak it heavily. Last time I ventured to compile a ROM it was a day to set up my Linux distro of choice)
And like what was said before start with hello world and move up in small bites. You will gain better understanding of how things work and will be less frustrated. Don't expect a full featured app to appear. Once you play around with all the little components eventually you will see a big picture and the building blocks for the "big app" will be there ready to use.
Sent from my One using xda app-developers app