I have some basic knowledge of android phones from a fan's point of view and have had a bit of experience with testing of custom ROMs but I really would like to start with basic development on my own.

I'm no developer, which is why I need some serious advice of where do I start and how do I proceed. What kind of prerequisite knowledge do I require ?

Any kind of tutorial or knowledge database which can help me get started would be very helpful.

  • What kind of "development" do you mean? Creating custom ROMs could potentially be reasonable for this site (though it's never come up, I don't think), but questions about developing your own applications should go to Stack Overflow. I'm not really clear on what you're looking for, to be honest. Commented Aug 13, 2011 at 15:55
  • 1
    Theming is probably on-topic here, but development of any kind is not. That said, the best way to start is to jump in and start playing with things ... I started learning about computers as a kid, and accidentally deleting Windows once and other mistakes were formative experiences :P Commented Aug 13, 2011 at 18:04
  • Actually I'm on nothing specific. I like theming but creating custom ROMs or applications are the best part of it which gets me interested into. Anything you think that will be suited for a beginner like me. Commented Aug 13, 2011 at 22:35

3 Answers 3


XDA is a good resource but not a good starting point. The AOSP is also. But the best idea is always to look how others are creating customs ROMs. For example the CM development for the Kindle Fire:

A good starting point is Jackpoint Calvin's post about how to create a CM update.zip for the Fire from source. It gives a good overview about how the kernel, ASOP, hardware modification and CM play together. And how these are handled with Android's repo script.

Forums are a good information resource, but it's hard to find useful information fast. IRC channels are the first place to get involved. Join a few rooms to get into contact with developers. Maybe you find a beginners task on which you can start working.

Also you need knowledge about Android/Linux kernels, hw drivers, C and some Java.


I second to what @Blundell said.

For Moding,Rooting&Flashing first try finding a cheap hardware and also checkout the support for Rooting, building cutom kernel, custom system image for your chosen hardware and get going.

There are lots of resources available from

  1. XDA
  2. Modaco
  3. CyanogenMod.

for App developement on Android

follow this below link to start with installation and configuration of sdks.... http://developer.android.com/index.html

there books avaialable on Amazon. for deigning UI, Android Fundamenttals, professional.... try searching some books which gives you the insight of 'what is what' and 'who made who'


Learn Java (the programming language Android is based on)

Recommended book 'Java in Two Semesters' (ignore that it's based over 2 semesters)


Then use:




You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .