[REQ] where to learn android developement - Nexus 5 Q&A, Help & Troubleshooting

So I've been rooting and moding for quite a while and I enjoy doing it but I wanted too give back to the XDA community and help work on some of the kernals and some Roms and other android development. I've been programming for about a year and I already know how to make android apps (I'm actually in the process of finishing up my own android game) so I'm not new to programming. I just want someone to point me in the right direction to start my new journey in the android modding community. Any help will be greatly appreciated
Sent from my Nexus 5 using XDA Free mobile app

First of all this should have probably been posted to the general thread. Secondly there are plenty of places and ways to learn programming for android. You'll want to start with learning java. Go to udemy they have some good java classes I am taking one as well. You can use XDA university or the android developers website etc etc. Just search google there's a million free ways to learn this kind of thing.
Sent from my Nexus 5 using XDA Free mobile app

First learn to post in the right section.

Ya, the thread been moved. I don't post much so I didn't know. And I already java and ik it pretty well to. I just want to know if anyone has any super good tutorial or something like that I can look into to learn android development cause I thought the kernal is wrote in C and part of roms are wrote in other languages
Sent from my Nexus 5 using XDA Free mobile app

What sort of development are we talking about?
Beside app development, I see categories as below
- Decompiling stock apps, theming them or modifying code, then recompiling them
- Building Android from Source
- Building kernels from Source
- Building PARTS of Android from source as modifications
I think the first steps should be learning to build android from source. That gives you the basics. Then you can start to delve into the code and look to write functions in java and cpp to build in extra functions. It would also be good to get busy figuring out how to cherry pick other functions into the source from other repositories.
Here is a good starting point for that
https://source.android.com/source/building.html

Thanks, really appreciate it, I guess I got to first get Linux running on my machine before I download the aosp source code, any recommendations on which Linux distro I should install, I'm thinking Ubuntu
Sent from my Nexus 5 using XDA Free mobile app

shogun656 said:
Thanks, really appreciate it, I guess I got to first get Linux running on my machine before I download the aosp source code, any recommendations on which Linux distro I should install, I'm thinking Ubuntu
Sent from my Nexus 5 using XDA Free mobile app
Click to expand...
Click to collapse
Ubuntu is the staple. I got bored and went for Mint in the end, but that's because I use Linux as my daily driver and found it appealing. It's still Ubuntu (which is Debian) based though. If you're just building, Ubuntu makes sense as all guides are geared up for that.

rootSU said:
Here is a good starting point for that
https://source.android.com/source/building.html
Click to expand...
Click to collapse
rootSU thanks for the link. It's been a while since I've read that. If I'm reading that correctly it means you can build AOSP with jdk7 now. Sweet. I quit building pure aosp because I've been running jdk7 for a while and it was the only source that wouldn't compile with it. Time to repo sync I guess.

theesotericone said:
rootSU thanks for the link. It's been a while since I've read that. If I'm reading that correctly it means you can build AOSP with jdk7 now. Sweet. I quit building pure aosp because I've been running jdk7 for a while and it was the only source that wouldn't compile with it. Time to repo sync I guess.
Click to expand...
Click to collapse
Yep, 7 works fine

Related

Trying become a developer?

Ok I'm totally new to messing with phone and what not. Would like to be able to become involved in developing programs and custom ROMs but I'm not very computer friendly but I get better. My is what all do I need to do to learn how to do that.
Sent from my Inspire 4G using XDA Premium App
First of all good luck with your studies.
I personally don't involve myself with dev for Android but the more souls that dev the more different things we users get.
A good place to start ofcourse is http://developer.android.com
The KB on there is pretty nice and has a lot of beginning to understand parts.
As for other books.
I have the following myself
Hello, Android: Introducing Google’s Mobile Development Platform
Beginning Android 2
Android Application Development: Programming with the Google SDK
I have those 3 and although i don't do dev the information i found in them is enough for me to understand what i can do with my phone and android.
It probably won't get you to make a custom ROM right away but understanding is step 1 building is step 2
Anyways good luck to you.
Start with the android tutorials, and start off by trying to combine them all into one app. Before you know it you might have an idea and start working on a project of your own, that's the best form of motivation for learning!
Yes, me too must read manuals first. So start
petulikt said:
Yes, me too must read manuals first. So start
Click to expand...
Click to collapse
What manuals do I did. Do i get general ones.
Sent from my Inspire 4G using XDA Premium App

The best/fastest way to start/learn developing on Android?

Hi I'm new to developing with android. I have created programs for windows using vb and know a lot about websites. I don't know if that will help any but any advice would help. I already have the sdk and avd along with eclipse for both windows and Linux. Also does anyone have any source codes I could benifit looking at?
Sent from my PC36100 using XDA App
If you are looking to develop apps there are several good books you can buy from Amazon such as Hello android and SAMS teach yourself android just to get you started and introduce you to the way that Android apps are written (although some bad habits creep in from reading these books too)
Otherwise a good free place to start is the Android pages themselves - developer.android.com/resources/tutorials/hello-world.html
This will get you in to the basics and show you how to set up eclipse (sounds like you have done this bit though)
Otherwise just google and you find lots of links, and possibly check out Replica Island -replicaisland.net/ - which is an open source game that you can also download for free in the android market
OfficialLocdoGg said:
Hi I'm new to developing with android. I have created programs for windows using vb and know a lot about websites. I don't know if that will help any but any advice would help. I already have the sdk and avd along with eclipse for both windows and Linux. Also does anyone have any source codes I could benifit looking at?
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
If you already know vb maybe try basic4android, a lot of people on the forums there are used to vb and say its easy to transpose skills learnt on vb to b4a.
Dave
Sent from my LG P920 using Tapatalk
developer.android.com should be a good start for it.
Dblt said:
If you are looking to develop apps there are several good books you can buy from Amazon such as Hello android and SAMS teach yourself android just to get you started and introduce you to the way that Android apps are written
Click to expand...
Click to collapse
The SAMS one is very good. Covers a lot of important ground.
check out these links its the best place for you to start
http://forum.xda-developers.com/showthread.php?t=667298
Thanks guys. I'm going to check it out.
Sent from my PC36100 using XDA App

[Q] How to get started making custom roms?

So I was just wondering about how to get started developing custom roms for the g2x? Also, what programs would be helpful etc. Thanks!
shazam1203 said:
So I was just wondering about how to get started developing custom roms for the g2x? Also, what programs would be helpful etc. Thanks!
Click to expand...
Click to collapse
You'll need ubuntu as an operating system to start off with....
And the cm source..
Hah, I wouldn't mind trying this out myself.
Along with a decent computer and basic terminal skills in linux.
You will also need Eclipse classic
I thought about it, but then I went to this site and decided it was beyond my skill set. Start here.
http://developer.android.com/index.html
Dude that site is for app development for rom development u need to head to this site
http://source.android.com/
Do I need to know a programming language at all? I know a little java but not enough to do anything with, I am very familiar with ubuntu and linux in general. what would I need to get started?
Thanks everyone for all your replys!
vipaman said:
Dude that site is for app development for rom development u need to head to this site
http://source.android.com/
Click to expand...
Click to collapse
Sorry. I pasted the wrong link. Was in a hurry. Thanks for posting the correct one.
Ohh...u will need a from kitchen also....and programming language.... ummm Java is imp for starters...
Sent from my LG-P999 using XDA App
Is there a certain kitchen that you would recommend or which one do I need for G2x?
Depends on what ur going to build from.......are u going to build from stock or CM sources.....according to that u should download a kitchen but I guess there is a kitchen which is very gud for the g2x...
I was planning on building from stock, and mainly just starting out with themes etc for now.
So u will need the stock source for gingerbread
Themes are a great starting point. Learning which apks control what is how it begins, learning how to manipulate how it looks turns into manipulating how it performs. Smali and Java are languages you need to be able to read at the least for the OS itself, C/C ++ knowledge would be nice for kernels. A basic knowledge of Linux is required if starting from pure source.
Sent from my G2X XDA app cuz I'm stalking your mom....
Mr. Apocalypse said:
Themes are a great starting point. Learning which apks control what is how it begins, learning how to manipulate how it looks turns into manipulating how it performs. Smali and Java are languages you need to be able to read at the least for the OS itself, C/C ++ knowledge would be nice for kernels. A basic knowledge of Linux is required if starting from pure source.
Sent from my G2X XDA app cuz I'm stalking your mom....
Click to expand...
Click to collapse
+10.......I know for kernels u will need C++ but for just rom java is a must.......He actually explained it better than me..

I wanna get into android development.. where to start?

I found some books... basically learn Linux/android developing, i wanna get a good idea/knowledge... create ROMS, Kernals, just anything that has to do with android..
Where do I start?
Sent from my Nexus 4 using Tapatalk 2
one thing at a time buddy. Start by learning some Java. From there you'll be able to move into app development.
You might be able to do some rom manipulation without being able to program, but knowing how apps work from app development would be helpful.
Ill leave the kernel stuff for someone else to answer.
Sent from my GT-I5500 using xda app-developers app
I agree - start with learning a programming language.
Many are pretty similar in concept/structure - so once you understand the basics, you'll be able to branch out as you will find you need to.
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Any good resources on the stuff you've mentioned?
Sent from my Nexus 4 using Tapatalk 2
I learned Java using a book called Java by dissection.
Sent from my GT-I5500 using xda app-developers app
Me too
Me too i also wanted to learn how to dev some android apps or Rom.
Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
totally agreed. i want to get into developing, too, rooted my ROM firtst, getting into the Terminal of Linux/ubuntu, decompile, modify, compile random apps, Theming the system UI... build your way up and see what you can do. One thing i have to say: You will need A LOT of time. most of the things are trial and error, the best way to learn how things are working.
What kind of development do you want to do? Applications? If so, google 'java tutorials' and you should find good materials on Oracle's site and others.
zgx said:
What kind of development do you want to do? Applications? If so, google 'java tutorials' and you should find good materials on Oracle's site and others.
Click to expand...
Click to collapse
Roms/kernals
"Vanilla android >jail broken iOS>90" TV's"
Would it be worth buying a raspberry pi and learning the python language.. to get started in learning?
"Vanilla android >jail broken iOS>90" TV's"
xvi. Jeweboo
Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Yes, for the apps Java is fundamental, for kernel and other part of the OS i think it is required C.
Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Thanks for guidence
A good resource to check out is WWW.programmersinstitute.org. There are step by step videos for setting up your computer to program and then projects to work through with the instructor. The last time I checked it was free!
Sent from my Nexus 7 using Tapatalk 2
steekyjim said:
one thing at a time buddy. Start by learning some Java. From there you'll be able to move into app development.
Click to expand...
Click to collapse
Absolutely this. Java's the best way to go. Go download NetBeans IDE (Integrated Development Environment) and look up some free online tutorials. That'll get you started.
If you're more inclined towards kernels / ROMs, better to start with C, and then learn JAVA. Kernel is mostly C and android framework is mostly JAVA & C++ (For ROM development, you can make do with framework C++ if you know C)
For C, read Kernighan & Ritchie, for JAVA, any basic Java tutorial should do. Most of all, start coding from your first day - without trying things, you'll never learn programming.
If you decide to go into application/game development, I would highly recommend to try libgdx. I have been using it for 2 years and I am very happy with it.
ivoidwarranty said:
If you're more inclined towards kernels / ROMs, better to start with C, and then learn JAVA. Kernel is mostly C and android framework is mostly JAVA & C++ (For ROM development, you can make do with framework C++ if you know C)
For C, read Kernighan & Ritchie, for JAVA, any basic Java tutorial should do. Most of all, start coding from your first day - without trying things, you'll never learn programming.
Click to expand...
Click to collapse
Will do,
"Vanilla android >jail broken iOS>90" TV's"
To know java is the first

I don't know any code what so ever. What's a good book, website, source to begin lear

And what language should I try to familiarize myself with first? Where do I go from there?
I aspire to work on ROMs one day, and even develop apps.
To be honest, I've also got ****ty computers and are too slow to work with, does anyone recommend getting a new laptop?
I'm probably going to need to be using something along the Unix, so will it be advisable to get a Mac or just stick with Windows and install Ubuntu?
(Sorry for not knowing as much as everyone else.)
I would be grateful towards any replies!
Sent from my SCH-I535 using Tapatalk
Hello @narsciso
Its great to see another individual taking an opportunity on learning more about Android development.
I would recommend you getting a new laptop or desktop as some developing programs are RAM hungry. Though they should still work.
Building ROMs from source - To be able to build ROMs from source you'll need to learn allot about Android, ive never attempted this so I can't help you here. But don't worry, there are plenty of guides here on xda that'll get you set up with a Linux distro and a workstation that will lead you to compile your first ROM from source. Just use the search function.
Modifying ROMs, ROMs can be modified using windows so you wouldn't need a Linux Distro to be able to achieve this. Again there are plenty of guides and useful resources that can get out started, just use the search function.
Building apps from source - Building apps isn't all that hard to be able to achieve this. You will need to set up a environment. You can do so by going to the android developer site and you can start by downloading their SDK Pack. This contains vital files that will get you started. Also includes Eclipse studio (Application Creator).
Another info on android app development is that its based on Java. So I suggest you learn Java coding as others won't be as helpful. But no need to stress over this, Java is straight forward and its easy to pick up.
Modifying apps, you can achieve this by using apk decompilers (this can be done on Linux and windows) you can decompile the app and make changes within the work folder.
You can use the source code of an app (contains functions and commands) to build an app on eclipse.
The apk itself just contains the layout and looks. The src contains vital info for the app to run right.
I would have provided links but I am using my device. If you have any other questions, don't hesitate to ask.
Thanks a lot Krishneel! (I actually had a buddy of that name in HS, he still needs to give my CD back lol!)
You have broken everything down fantastically. I'll get down to reading as much as I can about Java, all the while saving up for a new laptop. I'm real excited now. You've given me a lot of motivation and insight and I'm very thankful to you for that.
So should I go with a Mac or stick with Windows when looking for a new computer?
Thanks again!
Sent from my SCH-I535 using Tapatalk
narsciso said:
Thanks a lot Krishneel! (I actually had a buddy of that name in HS, he still needs to give my CD back lol!)
You have broken everything down fantastically. I'll get down to reading as much as I can about Java, all the while saving up for a new laptop. I'm real excited now. You've given me a lot of motivation and insight and I'm very thankful to you for that.
So should I go with a Mac or stick with Windows when looking for a new computer?
Thanks again!
Sent from my SCH-I535 using Tapatalk
Click to expand...
Click to collapse
No worries mate, there's a fantastic place to get started in java coding its called "codeacademy".
Its all up to you on the operating system bit. Here's a bit of information.
If you're planning on building ROMs from source Mac will work as its based on Linux as I have been told.
If you're planning to work just on apps and further your work into ROM dev later on, you can use Windows.
If you want to build from source on Windows you can do so by using a virtual machine to run a Linux Distro.
Note: when compile ROMs you need a good PC and the compiling process requires lots of time. Which means you'll need patience but assuming that you're only going to work on app development for now. I suggest Windows.
But its up to you on what you feel is the best the looks, price, design or durability.
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
krishneelg3 said:
No worries mate
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
Click to expand...
Click to collapse
Thanks for the source! I guess I'll be investing in a new Windows computer soon!
Again, I can't thank you enough. You may have changed my life around Krishneelg3. Thank you!
Sent from my SCH-I535 using Tapatalk
narsciso said:
Thanks for the source! I guess I'll be investing in a new Windows computer soon!
Again, I can't thank you enough. You may have changed my life around Krishneelg3. Thank you!
Sent from my SCH-I535 using Tapatalk
Click to expand...
Click to collapse
No worries, good luck and all the best with your upcoming project.
If you find it hard to work with just learning Java, you can also refer to tutorials on YouTube. There are so many. And they're really helpful.
Cheers.
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
TheArc said:
No worries, good luck and all the best with your upcoming project.
If you find it hard to work with just learning Java, you can also refer to tutorials on YouTube. There are so many. And they're really helpful.
Cheers.
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
Click to expand...
Click to collapse
So I got a macbook pro as a gift from my girlfriend, and I have took it upon myself to register and start at codeacademy.com
What do you recommend I should focus on for the first 6 months? Should I hop from language to language to mess around with ONE certain thing?
It or ally depends on you, important one would be Java and c

Categories

Resources