This n00b wants to help! - Hero CDMA Q&A, Help & Troubleshooting

I'm a pretty much clueless when it comes to Linux or Android. I want to help the community as much as possible and want some advice on good literature for learning Linux and ultimately Android developing.
I have no previous experience with programming but am a well above average windows user. (kinda pathetic, I know.)
I thought this might be a good topic to start since alot of us seem to be pretty useless seem to want to contribute.

beyondinferno said:
I'm a pretty much clueless when it comes to Linux or Android. I want to help the community as much as possible and want some advice on good literature for learning Linux and ultimately Android developing.
I have no previous experience with programming but am a well above average windows user. (kinda pathetic, I know.)
I thought this might be a good topic to start since alot of us seem to be pretty useless seem to want to contribute.
Click to expand...
Click to collapse
Developer.Android.com is a good place to start out if you are looking at the "how stuff works" - though if you don't have a clue how to program it will be over your head. Take a look over at geekfor.me - this site is hosted by Flipz one of the ROM devs here(Fresh Rom).
If you want to learn Linux, grab an Ubuntu or Mint ISO from their websites and burn it to a disk. then boot into the disk and run it "live". It's a little slow running off a CD rom drive, but better than isntalling on to a drive if you don't know what you are doing.
Most important thing to learn about this phone: HAVE FUN!

I installed Unbuntu 9.1 last week and have been messing around a bit, but not too much.
I'll have to take a look on android's dev site and Flipz page aswell.
Thanks for the advice!
I would like this thread to end up as a good reference for others so keep it coming!

Books wise, I would recommend:
Running Linux
Understanding the Linux Kernel
Hello, Android: Introducing Google's Mobile Development Platform
Android Application Development: Programming with the Google SDK
Professional Android Application Development
Unlocking Android: A Developer's Guide

gu1dry, that's exactly what I'm looking for.
Again, thanks folks.

beyondinferno said:
gu1dry, that's exactly what I'm looking for.
Again, thanks folks.
Click to expand...
Click to collapse
I'm in the process of working through Hello Android. Pretty good book so far, im enjoying it and learning alot.

Good to see you've installed a Linux OS on your computer... that will help the most with learning how it works.
Experiment with it. Don't be afraid to break it and when you do break it (you will break it) learn how to fix it.
That's how you'll learn the most.
My favourite resources when first learning Linux were:
- to google "<topic name or what I want to accomplish> linux howto"
- irc.freenode.net #linux (you will probably get flamed a bit but it's a great channel to just read and watch/listen in)
Connect with very active and very focused Linux communities (and Android communities... like XDA ) and you'll be able to glean a ton of good information, even if it doesn't make sense at first.

Related

ROM Building Starter Guide?

Considering the state of flux we are in with the roms, I think it would be really kewl for one of the guys to cook up a quick rom building guide. The main objective would be to allow user to replicate the rom build of their own accord. Many projects have taken the "you build it" approach to avoid the pitfalls of distributing closed source.
Look at something like Microsoft Core Fonts in linux. No distribution will ship with the fonts, but they all provide a package, even gnu pure Debian, that will pull the exe files from the web and unpack/install them for you. Same thing goes for flashplayers.
If someone would make a script/guide for making saayyy Cyanogen 4.0.4, by pulling the source from google, adding a modpack, and compiling on their own machine, then Cynan and the other would be clear from any wrong doing. Leave it to the community to distribute and get the roms out. Bittorrent/newsgroups/whatever, they can't stop us all, and they dare not pull a RIAA to hunt people down.
I think its something that maybe worth considering. The stuffer methods are great, but I would personally like to be able to build the rom as it should be, with all the fixings.
One
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
Two
http://github.com/cyanogen/android
three
http://source.android.com/download
you can add the other junk by following guides on the forums here, or pushing your own apps etc...
Thanks for the clear and concise answers. The first site has some very detailed info. I will give it a go, the Kitchen Rom Builder cooker back from my wizard days has me spoiled, but this looks pretty straight forward I just needed some direction.
helfrez said:
Thanks for the clear and concise answers. The first site has some very detailed info. I will give it a go, the Kitchen Rom Builder cooker back from my wizard days has me spoiled, but this looks pretty straight forward I just needed some direction.
Click to expand...
Click to collapse
http://www.jukie.net/~bart/blog/20090830174551 this one helps out too, but the manifest from cyanogen's github is out of date, it's 4.1 at time of writing this.
This is posted in the wrong area
as post like this are every week
jdk5 is no longer available for download on 9.10 x64 systems. Anyone know of a way around this?
Couldnt you add one of the older repositorys and add it that way?
Its one of the reasons i dont use the x64 build, too many incombatabilitys.
You could always vmware an x86 machine
Yea, I'm just now building a virtualbox x86 machine. I'm going to strip it down to essentials and then install everything needed for android building.

I Want To learn

I want to learn how to develop...I mean of course it wont be an over the night thing, but i still have 70 years to spare.
I want to contribute to the community, and isn't that what linux is all about?
My first question, Can i develop android in ubuntu? or does it HAVE to be eclipse?
I wouldn't mind downloading both anyways since i want to learn how to use ubuntu anyways.
yeah..so i guess all im asking is for someone to set me in the right direction?
Also android is written in java too right?
hoshmosh said:
I want to learn how to develop...I mean of course it wont be an over the night thing, but i still have 70 years to spare.
I want to contribute to the community, and isn't that what linux is all about?
My first question, Can i develop android in ubuntu? or does it HAVE to be eclipse?
I wouldn't mind downloading both anyways since i want to learn how to use ubuntu anyways.
yeah..so i guess all im asking is for someone to set me in the right direction?
Also android is written in java too right?
Click to expand...
Click to collapse
Eclipse is a program that runs under ubuntu/windows/mac. It's only needed for development if you're going to be doing app modifications, etc, it completely depends what kind of development you want to do.
Kernel/Source editing can be done in notepad if you want but you're still gonna need to know some java.
Interested in learning as well
I'm also interested in learning to develop apps for android and apparently we're in the same boat and level (beginner) - Currently I have 22 apps and 10 live wallpapers I'd like to develop but I'm still doing the reading and software acquisitions necessary to start so PLEASE drop me a line on anything you figure out or learn and where you acquired the info/tutorial - who knows maybe we can get this software company going lol (big dreams here)
The guys on here seem to be light years ahead of us but I've got hella time to devote to learning, testing and development so I'm ready to go
Meltus said:
Eclipse is a program that runs under ubuntu/windows/mac. It's only needed for development if you're going to be doing app modifications, etc, it completely depends what kind of development you want to do.
Kernel/Source editing can be done in notepad if you want but you're still gonna need to know some java.
Click to expand...
Click to collapse
JAVA knowledge is a MUST for development.
Also based on my own experience Eclipse does not work well under Windows.
I've tried to modify the Launcher app from Cyanogen's source to have 7 screens in stead of 5 and it failed each time. I edited it in Ubuntu and it worked the first time. Just need to have Java 5 installed (not sure if there was a fix for Java 6 discovered yet). Eclipse works very well in Windows if you just plan on editing .9.png files but that's more theming than development. So bottom line Ubuntu is highly advisable.
I guess you could always start somewhere by reading some of this.

Android Development

I'm posting this in the Development section because that is what I am trying to learn about. Please move me if I am mis-posting this.
I'm greatly interested in the the Roms people are making and everything that is being done on these forums. If someone wanted to start to learn about these things, developing and such, where should they start? Do I need to learn Java? Are there certain books I should be reading?
I can flash my phone like its my day job now, and I haven't come across any major problems I couldn't solve by reading, but I have no idea where to start to be able to develop things myself. If any developers here could maybe throw out a few tips on how to get started, what someone should focus on learning, etc., it would be greatly appreciated! I have plenty of time and a great desire to learn so I'm not intimidated by having to do the work, I just have to have some things to focus on. Thank you in advance for any help/advice you can give me!
I always wanted to know how make roms also I was looking around the internet but couldn't find anything that will describe it step by step word for word.
Maccie
It will be a huge writeup.But im sure someone will do it. I am still learning myself. There are some good topics around but different from what we have now
topshelf95 said:
I'm posting this in the Development section because that is what I am trying to learn about. Please move me if I am mis-posting this.
I'm greatly interested in the the Roms people are making and everything that is being done on these forums. If someone wanted to start to learn about these things, developing and such, where should they start? Do I need to learn Java? Are there certain books I should be reading?
I can flash my phone like its my day job now, and I haven't come across any major problems I couldn't solve by reading, but I have no idea where to start to be able to develop things myself. If any developers here could maybe throw out a few tips on how to get started, what someone should focus on learning, etc., it would be greatly appreciated! I have plenty of time and a great desire to learn so I'm not intimidated by having to do the work, I just have to have some things to focus on. Thank you in advance for any help/advice you can give me!
Click to expand...
Click to collapse
There are a number of aspects to android development you have to learn to know how to build a full ROM from scratch. C is of course required for kernel building, and apps are built from java in the dalvik-vm, but can be built against sun java.
of course, to get started, you would need the android sdk available here: http://developer.android.com/sdk/index.html
then there's the cloning of the android git:
http://android.git.kernel.org/
and, specifically for the captivate, there's the captivate source code:
http://opensource.samsung.com/
then there's pulling off the vendor proprietary libs from your phone (which is a ***** and I believe you can grab them from wes's github, though I can't speak for their accuracy) here:
http://github.com/wesgarner/proprietary_vendor_samsung
building the entire android OS from source is a challenge, especially compensating for some changes Samsung has introduced. this is what a real ROM is. now if you're talking about "ROM"s like Cognition and Shep's and even Eugene's Hybrid/Frankin-Twiz... they aren't comparable. Not to belittle any of their efforts, but this is simple "drag and drop" from stuff built by Samsung. While they're very useful tools, there is little actual development going on in them. There are improvements and tweaks, for sure... but it isn't a *true* ROM. All these releases by DesignGears, Eugene, and Shep are good and effective, but it'd be a shame if they weren't because they are just files thrown together from Samsung's already compiled ROM(s). Even the AOSP Beta 3 (which I have a qualm with the name, because it isn't actually AOSP, it's files pulled from an already built AOSP tossed onto Samsung's ROM again) is just modifying binaries (decompile, edit, recompile).
for those, it's as simple as extracting the zip, replacing the files you want, and rezip it. modifying the update-script inside meta-inf if there's something you want to add.
Awesome post Kaik, thanks, I was wondering some of those too.
Thx that explained a bunch
Maccie
Thank you for taking the time to post that Kaik! It's nice to have a place to start! Anyone else have any tips or things they think might be good to check out?
last, but certainly not least and I can't believe I forgot this, is Unhelpful's toolchain to compile against:
http://forum.xda-developers.com/showthread.php?t=761923
he did a lot of testing with various combinations, and this was the best he found to reduce wakeup lag and other issues
Wow. Kaik. That was the most awesome response to that question I have ever seen. Most people just point to developer.android.com and say go learn to program and come back in 5 years.
Thank you for this very useful information. Your the man now dog.
johnyhoffman said:
Most people just point to developer.android.com and say go learn to program and come back in 5 years.
Click to expand...
Click to collapse
Devs are not being mean or pissy, they are being honest and realistic. If development was just "point and click" XDA would not even be here. Give the devs/veterans a break and take it upon yourself to learn the basics and do some searches, if you are that interested.
I would love to just start making my own Android OS just the way I like too but to do that will require much more reading and learning, trying and failing.
You will probably not find "the answer" you are looking for but if you search, read and most importantly, respect the time, energy and anguish people have put into this site you will find the means to get where you want.
Otherwise you can expect... "Let me just glance and peek to see how to do this. Damn what the hell does that mean? Oh well here is a modded ROM. I'll try that. Jeez, that sucks. How do I make my own? Let me just glance and peek to see how to do this. Damn what the hell does that mean? Oh well ..." It is an endless cycle.
I'm not saying this to belittle anyone. Most have been there, including myself. I say this as a vote of confidence to all.
Hang in there, do the work, break some phones, read some books. Really! You have to!
koe1974 said:
Devs are not being mean or pissy, they are being honest and realistic. If development was just "point and click" XDA would not even be here. Give the devs/veterans a break and take it upon yourself to learn the basics and do some searches, if you are that interested.
I would love to just start making my own Android OS just the way I like too but to do that will require much more reading and learning, trying and failing.
You will probably not find "the answer" you are looking for but if you search, read and most importantly, respect the time, energy and anguish people have put into this site you will find the means to get where you want.
Otherwise you can expect... "Let me just glance and peek to see how to do this. Damn what the hell does that mean? Oh well here is a modded ROM. I'll try that. Jeez, that sucks. How do I make my own? Let me just glance and peek to see how to do this. Damn what the hell does that mean? Oh well ..." It is an endless cycle.
I'm not saying this to belittle anyone. Most have been there, including myself. I say this as a vote of confidence to all.
Hang in there, do the work, break some phones, read some books. Really! You have to!
Click to expand...
Click to collapse
this times one thousand. I linked you guys to some very useful sites when it comes to actually putting android together... but understanding how it all works, actually getting a successful build, fixing bugs, etc... I can't even begin to pretend to be able to help with that. if you have little to no experience in C and Java, these things will basically be useless to you. dev's aren't being mean when they brush you off like that, but usually if you can't figure out how to google what to do with the code, they don't have high hopes for what you'll be able to do with it once you find the code.
the idea isn't to be like "f*** off" when they say that, it's more of a "we'll help you when you learn, but you're the one who needs to take the first steps and you need to take the responsibility of learning on yourself."
I was actually referring to the fact that someone like me, a hobbyist programmer for about 10 years now, can make sense of his reply and use it to go forth and actually do something. Most of the guides you find on here that are supposedly pointed at noobs, do not layout things as easily as his post did.
Wasn't criticizing anyone, but I have seen less patience nowadays for any posts such as these.
Was just saying it was a gem of a post for me personally. Maybe it doesn't help the ultra noobs and the more experienced people see it as useless, but for someone with little time right now, it was a perfect post for me.

[Q] Software development

To all programmers,
I am a Young fellow interested in getting into software development. However, I don't know where to begin.. There's C++, java, and python all supposedly good languages to learn (c++ being a bit harder). Which one should i choose.. then I need books, sites, any kind of help/suggestions on the chosen language.. Please enlighten me developers! You all do great work for the community and I thank you for your time and input!
if you are looking for Android
you need Android SDK + Jave eclipse those are important to develop for Android
and there is some more softwares here in the XDA
APKTOOL etc
if you wanna edit apk (XML) Hex Editor is your choise
this is what i know
I was thinking of development I am completely new so perhaps that is the best route to go?
Sent from my MB860 using XDA Premium App
yup , 1st you have to know what is AndroidSDK , visit
code.google.com
and you'll get the basics
I started with vb, then c++, python, fortran, cobal, unix, and now java. Java is what Android apps run on. But vb will give you basic skills. c++ will teach you about everything else. My $.02
Thank you all for your posts now for another question! How did you learn? It looks like ill be messing with a little of all of them though it seems I may focus more on Java. Did you learn with a particular website? Prefered books? Thanks again!
Sent from my MB860 using XDA Premium App
School and old programmers. I could not have learned it from reading a book.
I'm a rather persistent guy.. I think I could learn from a book and perhaps ask a few questions on hereshould the need arise. I have a few friends who have some knowledge as well on the subject. I think I can self teach myself I just need to know some of the sources others have used. like java for dummies if that's any good or for that matter a real book..
here
http://www.youtube.com/watch?v=Hl-zzrqQoSE&feature=youtube_gdata_player
Head first Java is a good book for beginners.
If you have no prior experience in programming, I would recommend starting with Visual Basic. The Code Project website is an excellent resource.
And if you are going to start with Visual Basic, then the MSDN website will have tutorials, code examples, etc.
guys he is going to develop for android i (Think) , why the heck he needs visual basic for ? android app only can develop by AndroidSDK and ECLIPSE(JAVA)
visual basic its for pc apps though
k0sh said:
guys he is going to develop for android i (Think) , why the heck he needs visual basic for ? android app only can develop by AndroidSDK and ECLIPSE(JAVA)
visual basic its for pc apps though
Click to expand...
Click to collapse
You start with basic cause it's just that, basic. Teaches you principle concepts. Things that you would already know if doing java. Taking a java class or reading a java book, they think you already know boolean logic. It's just a good base knowledge set to have.
thekdub said:
And if you are going to start with Visual Basic, then the MSDN website will have tutorials, code examples, etc.
Click to expand...
Click to collapse
http://msdn.microsoft.com/en-us/vbasic/ms789056
That's right, forgot about that. Tons of free stuff
so what I'm getting is I should develop on pc first visual basic is a good starter. Interesting, Now I have a few sources on all of them except C++ which though I may not mess with it immediately I may take a peek at it anyways. Glad to know I have same people that know what their talking about helping me out! my friends have limited knowledge.

Need to learn the android development... From basics....

Hi,
First of all thank you so much for starting a forum for learning the Android Development.
I am very much interested in learning android, and i have gone through the official android developers site, and downloaded the SDK.
But i am stuck there, coz i am very new to the Linux/Unix part. I would like to learn more about that, but i do not want to learn programming unless it's necessary. I know it will take a long long time to learn that. So can anyone help me with the app development or fixing/understanding ROM/Kernels.
Sorry if i am being too much jumpy in the starting itself, It's because i do not know where/how to start.
Thanks,
Les
lesfauves said:
Hi,
First of all thank you so much for starting a forum for learning the Android Development.
I am very much interested in learning android, and i have gone through the official android developers site, and downloaded the SDK.
But i am stuck there, coz i am very new to the Linux/Unix part. I would like to learn more about that, but i do not want to learn programming unless it's necessary. I know it will take a long long time to learn that. So can anyone help me with the app development or fixing/understanding ROM/Kernels.
Sorry if i am being too much jumpy in the starting itself, It's because i do not know where/how to start.
Thanks,
Les
Click to expand...
Click to collapse
Unfortunately without learning programming, you will find it difficult to do any app development and kernel understanding or fixing.
Programming is key to both of these. So although you don't want to, have a look at some of the resources out there on how to learn to program.
Apps are written in java, kernel code is mostly C.
Maybe this helps? I think failing to start by learning to program will just leave you disappointed.
If it's okay, I'd like to suggest something.
@lesfauves
For kernel development, you really need to learn C, C+, C++ etc. C is the most important language here. However if you're gonna build vanilla kernels (with no modifications whatsoever), a simple guide should do it. Modifying source code requires knowledge of C (and maybe some other languages) as pulser_g2 has said.
For app development, you need to know the basics of Java. It's a must. Otherwise you'll end up getting nowhere.
For ROMs, you need to have a good understanding of both Java and C (and some other languages).
You can learn these online. I'm learning C myself. It's really easy.
Hope I helped.
sgt. meow
I too want to learn android development, just dont know where to start. Been waiting for xda university to open up for this very purpose. now I went through the site and still have a couple questions. I see that learning C is fundamental, where would you guys suggest would be the best place to learn? i was hoping for something like codeacademy, they dont have C though. Also, which distribution of linux would you guys suggest to install?
If you just want to dive in, and have fun creating small Android apps, learning Android concepts as you go, I highly recommend MIT App Inventor (AI): http://appinventor.mit.edu/ . It used to be Google AI but Google wanted to focus on other things.
I have decades of experience in Unix & Linux low level mostly C software development, but was new to Android & Java in Feb. 2011. App Inventor was a great intro to Android concepts, but it seems almost impossible to make commercial quality apps of any size with it.
So after a few months I dove into Java with the Android SDK & the concepts I learned with AI transferred well.
If you want to run Linux on your PC, which is a great way to learn Linux in general, Ubuntu remains quite popular, but a lot of us techy types have moved to Mint. I'm still on Ubuntu but will likely try Mint at some point.
The original and seminal book on C language is this: http://en.wikipedia.org/wiki/The_C_Programming_Language . It was a great intro for me back in the 1980's. But many C++ people will tell you learning C first may mess you up for C++. I never really caught on to C++ and don't care now as Java is IMO better.
This is the seminal book for C++: http://en.wikipedia.org/wiki/The_C++_Programming_Language
In general I think C is better for kernel and low level Android NDK stuff; C is the language of the kernel. For higher level Java of course, using Eclipse as an IDE since it still is the most widely used IDE I think.
Any good sites or tutorials for learning Linux????????????/
l0lh4rd said:
Any good sites or tutorials for learning Linux????????????/
Click to expand...
Click to collapse
http://www.ee.surrey.ac.uk/Teaching/Unix/
sgt. meow said:
If it's okay, I'd like to suggest something.
@lesfauves
For kernel development, you really need to learn C, C+, C++ etc. C is the most important language here. However if you're gonna build vanilla kernels (with no modifications whatsoever), a simple guide should do it. Modifying source code requires knowledge of C (and maybe some other languages) as pulser_g2 has said.
For app development, you need to know the basics of Java. It's a must. Otherwise you'll end up getting nowhere.
For ROMs, you need to have a good understanding of both Java and C (and some other languages).
You can learn these online. I'm learning C myself. It's really easy.
Hope I helped.
sgt. meow
Click to expand...
Click to collapse
I wanted to to help my phone community and my self of course...from where you can learn c online??i know my way with pc i make some roms from my community but i need to start learning to compile from source!!! share your links if you can thanks!!
Lynda.com
pikachukaki said:
I wanted to to help my phone community and my self of course...from where you can learn c online??i know my way with pc i make some roms from my community but i need to start learning to compile from source!!! share your links if you can thanks!!
Click to expand...
Click to collapse
A great site that I use to learn with for web design and development is Lynda.com which has a good amount of C tutorials and learning. It isn't free but a subscription is worth the site. There is a huge amount of information, tutorials, and learning that can be done there.
Go look at my post in this forum section.! May help you
Sent from my PG86100 using xda app-developers app
Thats great but remember that i study pc hardware and i dont have none of programming knowlage at all!!!i once try to learn basic but i get bored cause i dont needed then
pikachukaki said:
Thats great but remember that i study pc hardware and i dont have none of programming knowlage at all!!!i once try to learn basic but i get bored cause i dont needed then
Click to expand...
Click to collapse
Aaaaaah gotcha
Sent from my PG86100 using xda app-developers app
Search for newboston.org in Google it has tutorial + forums for every language + android app development too must see website for me! Enjoy development
Sent from my GT-S5360 using xda premium
Ok lets say i want to learn how to make a device tree for my device cause noone make it...then compile aosp or cm and make it a usable rom for a device...to go to a bookstore to buy a book in my language to remove the possibility of wrong learning...what book to buy??java, c , c++??
This is a great idea, and as i have just started learning C at university (And Java next year woo!) i will be visiting this alot for reference and tutorials. I still find C hard to get grips with but i do have a basic understanding of it. I also like messing around with kernel's and stuff on android and really want to make my own ROM or kernel soon!
So thanks XDA and everyone involved in this !
pikachukaki said:
Ok lets say i want to learn how to make a device tree for my device cause noone make it...then compile aosp or cm and make it a usable rom for a device...to go to a bookstore to buy a book in my language to remove the possibility of wrong learning...what book to buy??java, c , c++??
Click to expand...
Click to collapse
If you want to learn how to make a device tree check outthis guide, then when your ready to try compiling AOSP and Cyanogenmod check out this guide. If you want to learn to compile ROM's and then I would recommend a book on Linux and C for programming kernels such as C All-in-One Desk Reference. On the other hand if you want to program applications a good Java book is important and I would recommend Head First Java. Hope this clears things up, let me know if you still have questions.
shimp208 said:
If you want to learn how to make a device tree check outthis guide, then when your ready to try compiling AOSP and Cyanogenmod check out this guide. If you want to learn to compile ROM's and then I would recommend a book on Linux and C for programming kernels such as C All-in-One Desk Reference. On the other hand if you want to program applications a good Java book is important and I would recommend Head First Java. Hope this clears things up, let me know if you still have questions.
Click to expand...
Click to collapse
My point is basically to learn how to create the device tree and then compile any rom i can and hope that i can use fixes from others and hints from others...im not really interesting of making an application!!
can read my guide here
mithun46 said:
can read my guide here
Click to expand...
Click to collapse
Please stop spamming your link across each thread. And tone down the MASSIVE text in the thread - it just looks unprofessional.
so, where do I start? C or C++?
Sent from my R800i

Categories

Resources