I wanted to get into building my own custom ROMs and I wanted to know if any of the experienced developers had a good place to get resources and tips. Thanks for you help.
You will need a few tools and there is vids on youtube on alot of this stuff.
Basic thing you will need:
linux or windows vm running a linux distro
dsixda kitchen
apktool if you plan on ripping apart the apk's
smali/baksmali(for the more experienced dev)
as for guides I wouldn't know, I learned the stuff by reading the dsixda kitchen thread here on XDA and venturing off on my own.
well known Droid Incredible dev has alot of youtube vids on this sort of thing. http://www.youtube.com/user/ohheyitslou
Related
hello everyone. my goal is to become an android rom/ app developer. right now im currently attending college for my bachelors in Computer Science. right now im still working on my AA so its going to be a while before i even get into the field. ive researched online about linux and learned the basic codes in terminal to move files, delete them etc. but of course i dont think these codes apply to android.
im not trying to learn all this by myself but i atleast want a basic idea of the type of things im going to be learning.
so far ive downloaded android sdk and eclipse on my ubuntu linux netbook.
do you guys know of any websites that can help me get started or at least point me in the right direction in getting started on my first android rom or app.
thanks
Start with building your first hello in eclipse.
The best place to start is right on the Android site. Watch all the videos and get ready to read lots.
They have tutorials and step by step instructions for your first hello app.
BTW they tell you to break it so you have to fix it.
My biggest obstacle is just doing it.
http://android.voxisland.com has a good set of down and dirty introduction videos to app development for Android. Also, developer.android.com. A lot of that knowledge is pretty essential when doing any other kind of Android devving.
pick up some basic java and you'll have a nice head start.
If your looking for examples you can find them here
[can't post links]
developer.android.com/guide/samples/index.html
I wouldn't pay for videos from some jackasses website - plenty of free java tutorials out there to get you started.
www.anddev.org is a good site
You will need to learn the basic codes in terminal to move files, delete them, etc.
These codes apply to Android.
thanks guys for the replys. im going to start looking for tutorials for java using eclipse.
the android.dev.com pages and anddev.org show me how to make apk files. what im trying to find out is how to make roms and mess with kernels and such. how would the java and apk's tie into that?
I've got the same doubt as ripmeck. I didn't know where to ask for help, so I came here.
And I looked into all the replies, thanks for the help guys.
Unlike ripmeck, its already been two years since I've finished my bachelors.
I'm pretty okay with C programming that includes pointers, structures, etc., (but only the basics of all concepts, cause i know how deep and confusing the root goes).
And I'm slightly familiar with Eclipse, as I have done simple (very simple) java programs in it. Programs that makes use of exception handlers, multithreading etc.,
But I'm not so strong in Java (cause it has got lot more features than C and I couldn't remember it all and make use of it, I've got used to the linear style of coding without making use of any classes ).
My question is:
Should I have to get myself very strong in java before started coding for android app or can I eventually learn the java language in parallel with android development?
There was a thread posted by Cyanogen on XDA called 'some advice' with lots of good info on what you need to get started. Sorry I don't have a link since I'm mobile right now. My suggestion is to find that thread and start there.
Here are some steps vaguely describing what you need. Each is a never ending process.
1. Understand Linux/Unix
2. Understand Android
3. Make something.
My advice is to learn everything you can. Read around XDA and tackle learning each bit individually.
Learn ADB, make some themes or mods using metamorph, learn how to sign files and build update.zip files. Most importantly, have fun.
-------------------------------------
Sent via the XDA Tapatalk App
I hope I'm posting this in the right forums (I read the rules, but still).
Anyways, I'm wanting into get into Android development like doing applications or even hacking roms. I'm always reading at how awesome you guys are at developing stuff. Sadly, I don't have much experience. Majoring in Computer Engineering, but I can't wait for years.
So does anyone have any points on how to get started? Even if it takes me a year, I'm fine. I just want to get to know this stuff. Can I start with, say, Java? Thanks, and I apologize if this is the wrong board!
I would definitelly recommend first familiarizing yourself with Java and getting the language down and going to learn how to turn that knowledge into developing for Android from there. There are a lot of easy to find ways to learn Java right online from Youtube and articles people have written, however Android is a little harder to find help learning. Everyone seems to want you to pay them ridiculous amounts of money. And when you do find tutorials on it they will assume you have an advanced knowledge of working with the Java Development Kit and normally Eclipse as well.
Hi! But even if i learn "well" (not to mention basics) can i customize any rom as i wish or rather make some changes on? I've to get into java world beacuse my knowledges about are not necessary as android deserve...
Thanks in advance!
For app development, u hav to learn java and google APIs thoroughly.. u can learn from various development forums..
For Rom tweaking u need to learn linux scripts and other stuffs like directory tree n much more..
NEWBIE...Im fairly new into the developing world, but I have a solid background in anything computer orrientated. I started with a droid x, rooted it, and have never looked back. I'm taking java classes and learning as much as I can about programming. Any helpfull advice for someone starting a career/lifelong hobby in this feild? Reading a lot of books and blogs, but any other resources would be greatly appreciated.
Thx to all the professional devs out there who make it a fun digital world to cusomize!!!!
http://goo.gl/xB9rK
Lets start by using the search function.
This question gets asked and answered several times per week...
Personally i would skip the books.
I started by an idea in my mind what i wanted my app to do and taught myself through tutorials, stackoverflow, irc and lots of google...
Start something small, maybe an app that plays a single mp3 file.
Now you think, how can i choose different ones -> make a file explorer.
And so on... kinda like reading wikipedia, you start with some topic but end up in another topic far away ;-).
Thats if you want to program apps... there are lots of types of devs.... apps, roms, themes, kernel...
Now don't say you want to learn everything .
Thanks & more
Thanks for being the first to reply! And also for the info. I've done a little programming, vb and java, but am more interested in the rom/kernal side of things. Seen the vid before! Awesome!
I tried searching the site for what I'm looking for but unsuccesfull, figured the best way to get forward in this site, and get specific info, was to post a thread in one of the only places I could. Reread the rules and newbie posts, and figured out the reasons but they dont bother meat all.
Guess I'm looking more of an answer to this question, from everyone who replies:
How did u get to where u are now? (be it app dev, device help, other software dev)
Again thx for the help! P.S. what software do u use to program? And which os is preferred, linux, windows, mac?
I'm learning linux as fast as I can and wouldn't mind help there either if its out there.
Sent from my Xoom. Via whatever the heck I want!
I started with knowledge in C++,C,SystemC and some script languages from university + plus some knowledge about programming in general.
We had to use java in the university but i never properly learned it (just couldnt be bothered). I knew the ideas behind it and some concepts.
I actually only started learning java after i had written the exams (one which was about java but thank god didn't require actual working code in the exam ).
This was winter 2010.
So after i no longer had to learn it, i wanted to learn it and started out pretty basic.
Used google alot tried the basic tutorials, i.e. button doing something and so on.
After that got boring i was looking for an app with an actual purpose.
I made a voice recording app, did some bounty requests, wrote a control app for a modification from another xda member and some other stuff, cba to list it all now .
I use the android sdk + eclipse. Currently on windows 7, but that doesn't really matter. I've got a laptop with linux and a virtual machine with it too. It just that i also play video games for which windows is somewhat required and so i'm programming on it too. But it doesn't really matter. Eclipse and android sdk don't really differ on the OSs.
For compiling kernels, you might need linux, but maybe its possible under windows too... (cygwin)... don't really know ;-)
The thing is, you don't need to read 5 books, have 2 degrees in X to start.
Let's take custom ROMs.
No one actually builds those things from scratch.
90% of them are just other ROMs(custom or stock) that have been modified to some extend.
Download a ROM, unpack it, swap some files, change some scripts/configs, maybe recolor some things, add some extra apps, maybe a different kernel.
Repack it and XING you made a custom ROM.. now just flash it and see if it works, if it doesn't... well try again
Trial&Error...
You will get more knowledge about what you can change and what can be done with the time.
There is a custom ROM tutorial thread somewhere on xda, just search for it.
I'm going to write a little bit on my next app now
HI i was wondering if any of the devs could point me in the right direction to learn , read, etc... about Rom cooking, im willing to learn but seriously i have no way on how to start i do know a couple of things but thats about it.
thanks for any info and Help.
I am not a ROM developer, but I have seen developer's responses to questions like this (as I'd like to dive into app development myself):
http://forum.xda-developers.com/showpost.php?p=18935780&postcount=12
Things you will need to look into first include the java programming language (which is easy enough if you are familiar with another OOP language) and the Android SDK. While you can develop for Android in Windows it looks like most of the useful tools for ROM development are mainly available in linux, so you may also want to give linux a shot as well if you aren't familiar with linux and that style of developing.
Once you get a working SDK set up and have some java experience then you can move on to actually decompiling apps and ROMs and examining the code (using the tools that Raver mentioned in the post I linked to). The Android Developers site has great resources available for learning about nearly everything you will need to know Android-wise.
Hi Guys,
I have been visiting this site for quite a while, mainly the development forum, but have not really contributed that much due to my lack of knowledge in Android Development.
I want to change this and am interested in taking a course to learn how to develop in the Android OS.
Is anybody aware of any courses I could take that are based solely online (ie, no classroom work needed)? Bearing in mind that I have no real programming knowledge to start with so will need an "A-Z" course. I am based in the UK so UK sites would be preferential.
I have done a Google search but to be honest there are so many different companies out there I was wondering if anyone had any first hand experiences?
Cheers
You can teach yourself, find some textbooks (I won't tell you where) online and start reading, download eclipse and netbeans, do some reading about object-oriented programming and being learning the basics of java, start trying to develop applications in eclipse (you will need to download all of the appropriate SDK's, Java, Android, etc), there are plenty of starter posts called "How to program Android" etc. located on the various android forums on the net- I would suggest just jumping in and reading as much as you can. I did, I'm not a full-fledged developer, but I am now capable of programming applications and understanding source code. I need to get acquainted with GitHub now so I can actually begin working on open-source projects, and I have a ton of learning to do myself, but that will take you a long way from being a noob.
luna_c666 said:
You can teach yourself, find some textbooks (I won't tell you where) online and start reading, download eclipse and netbeans, do some reading about object-oriented programming and being learning the basics of java, start trying to develop applications in eclipse (you will need to download all of the appropriate SDK's, Java, Android, etc), there are plenty of starter posts called "How to program Android" etc. located on the various android forums on the net- I would suggest just jumping in and reading as much as you can. I did, I'm not a full-fledged developer, but I am now capable of programming applications and understanding source code. I need to get acquainted with GitHub now so I can actually begin working on open-source projects, and I have a ton of learning to do myself, but that will take you a long way from being a noob.
Click to expand...
Click to collapse
Thanks for the advice. The problem with me taking it on myself is that...well...I wont do it! I have 9 or 10 Learn Linux books on my shelf and have read maybe three pages out of them.
This is why I was wondering if there was any online courses I could take, which would guide me through step by step from start to finish. I appreciate it may be more expensive this way but I feel it is the best way for me to learn
The toolset for creating Android apps while easy for a programmer to pick up, is probably not the best for first steps in programming IMHO but it can be done.
FWIW On the side of "Java" and "Android" sides, I would suggest picking up a copy of "Java in a nutshell". learning the concept of Model/View/Controller (MVC), and inhaling Google's website on Android development. Each will be useful at some point in your growth.
Sent from my Transformer Prime TF201 using Tapatalk
Spidey01 said:
The toolset for creating Android apps while easy for a programmer to pick up, is probably not the best for first steps in programming IMHO but it can be done.
Click to expand...
Click to collapse
Okay, so what do you think the best start to programming is? I really feel it is something I would love to learn. I realize it will be a big challenge...but I think I am up for it
Go for it!!!
I would recommend getting to know a bit of Java first. The Java Tutorials found on the Oracle website are an excellent place to start. I've been learning to program for Android for the past month or so, it's hard going, but very rewarding.
bendonahue said:
Okay, so what do you think the best start to programming is? I really feel it is something I would love to learn. I realize it will be a big challenge...but I think I am up for it
Click to expand...
Click to collapse
Eh, for years I have debated between Assembly and shell script depending on the goal. Programming languages are only a slice if the craft.
Sent from my Transformer Prime TF201 using Tapatalk