Question about getting started with dev tools - Android Software/Hacking General [Developers Only]

Hi,
I'm sorry for the noobish question here... but I'm seeing a lot of root procedures and general hacks for android require the use of the developer tools.
Is there any good tutorials on getting accustomed with these tools? Its been a long time since I used any development UI (the last was borland C++ to compile command line Dos apps).. I could use some sort of refresher on what you can do and how to use it..
I have a mediocre knowledge of linux command line, but I prefer to work from Windows when possible(not sure if this matters).
Anyone have any good links, or tutorials?

Related

Best place to get started ? ? ?

. . . with understanding development using Java for Android?
Do I start with Java books?
Where do I read about how to set up an Android development environment? I'm trying to read through everything at the Android Developers website, but I was hoping someone could point me towards better/more information.
I know this is a VERY n00b question, but in order to avoid asking any further n00b questions, I'd like to come to this party better equipped.
TIA -
Darryl
You HAVE to be good at java before you can start programming for android. C/C++ too if you intend to develop something performance hungry.
I suggest that you look at an introduction to developing in Java on desktop and familiarize yourself with Java syntax. If you haven't programmed anything before then also familiarize yourself with programming techniques and object oriented programming in java.
To be honest, it takes 4 years on college to learn that. You may be able to learn it earlier, given that you put enough effort but don't expect programming anything useful anytime soon.
Thank you!! At least I have a starting point. Never too late to begin.
Gonna see if starting with Introduction to Java Programming, Comprehensive Edition is something that works for me.
Thanks again!!
sorry for double post
Ive managed to set up Eclipse 3.5 and the Android SDK.
Then I downloaded the components to develop for Android 1.5, 1.5, and 2.x(.x)
Also installed the USB driver(on an WinXP machine) and that's all there is to it, I think.
As for Java, I have an old book(or bible, judging by the size) on Java 1.5 from Deitel.
But right now, Im just looking at the official trails on sun.com:
http ://java.sun.com/docs/books/tutorial/index.html
I guess learning the syntax is one thing.
Learning programming concepts and OO are two other things.
Then there are algorithms and programming techniques.
Then there is familiarization with how the Android platform differs from regular Java applications/applets/etc.
I think that covers the basic steps towards Android programming in java.
If I missed anything, can someone fill me in please?
Thanks!
maybe someone knows of a open source repos. you can look at examples. Like planet-source-code dot com but with android examples.

[Q] general question about phone tools

It seems that the tools for modding/rooting/etc. are usually written for Windows PCs 1st then later coded to run Macs... Any real reason for that? Just curious if it's easier or simply a preference of the developers. Macs run a unix based OS so you would think that coding the tools would be easier for it, right?
I love this forum BTW. There is so much info on here if you have the patience to search for it and the users always seem so willing to help answer questions, especially to the newer or novice (noob) folks!

Where should I start if I wanted to start developing ROMs?

I have coding experience in C++ and windows programming languages, but I haven't a clue about android. I tried searching google and this forum for a good master thread or even a book, but haven't had much luck.
Can anyone help me out?
jojo54696 said:
I have coding experience in C++ and windows programming languages, but I haven't a clue about android. I tried searching google and this forum for a good master thread or even a book, but haven't had much luck.
Can anyone help me out?
Click to expand...
Click to collapse
same here
Hello I am new to xda and I would like to start developing new custom roms and kernels however I do not know where to start.
Just some background info about me:
I am 15 yrs old
I am have programmed in the following:
c++
visual basic
c#
asm
Java
javascript
html
android 2.2 framework
window phone 7 framework
xml
ios
XNA
I have done computer repair for people along with console repair
Tools I have used:
visual studio
android sdk
eclipse
dreamweaver
dev c++
Photoshop
appmobi xdk
phonegap xda
xcode iphone sdk
and some more
Phone I currently have:
evo 3d
I am a noob to making roms and I do not know how to start if someone could help me or point me into the right direction that would great. Thanks
Click to expand...
Click to collapse
that was my post and still no replys
First of all, learn and become comfortable with Java. If you're not comfortable with Java you're going to have some problems since besides the c libraries/kernel the android source is Java/XML.
Second, you need to decide if you're going to be messing with pre-built ROMs (or RUUs or whatever) or the actual AOSP. Actual AOSP is the actual source code but if you're modding a pre-built ROM you're going to have to also learn how to deal with smali code (which as far as I know is basically machine code [if you know what that is]).. Eris has a pretty good guide-in-progress which I'll find and post here later if I can.
It's a lot of work and a lot of looking and learning and not very clear. I have a lot of respect for the people who do it a lot I'm thinking of dabbling soon...
Edit:
here: http://teambamf.net/showthread.php/2793-Guide-Eris-s-Ultimate-Guide-to-ROM-ing-and-Porting

Mac Users&Android

Recently I've been trying to teach myself how to develop for our phone, but I'm using a Mac. I have a Windows Partition, and can run Windows on my Mac, but it's a pain to have to restart just to use a single program for whatever it is that I need done. So I've done some research and thought it would be nice to share all the programs that I've found that help in Android Development.
It would also be nice if other Mac Users would share what they have found as well or what they use when trying to accomplish certain tasks when working with android. So here goes:
--Android SDK--
This is rather obvious…that being said you can download this from android.com. However, if you chose to install Eclipse I find installing the SDK from Android to be rather Redundant, if you agree go on and read the part about Eclipse.
--Wine/MacPorts/xCode--
First, sometimes it's useful to use Windows programs on Mac, and an one quick way to do that without having to reboot is with Wine. It takes a while to set up, but it is useful for running MOST executables. The last two programs you install as part of the tutorial, so follow on:
So here is the website I used to set up Wine: http://www.davidbaumgold.com/tutorials/wine-mac/
All of his instructions are accurate excluding where he talks about installing xCode. It is OK to install xCode through the App Store, all you have to do afterwards is install Command Line Tools. To do this:
1. Open xCode
2. Open Preferences (cmd+,)
3. Click the Downloads tab
4. Use the link to create an Apple Dev account
5. Click Command Line Tools
Now you can continue to follow the rest of the Tutorial
--Eclipse--
This program is useful for creating Android Applications on your phone. If you choose to install Eclipse I would follow this guide once you're done. I realize it is for creating Android Applications but it also explains how to set up a working environment.
So here is the website I used to set up Eclipse: http://www.vogella.de/articles/Android/article.html
I would start at section 5.1
Also Eclipse can be used for compiling .9.png files…I found a good tutorial for this on XDA: http://forum.xda-developers.com/showthread.php?t=487001
Go hit damnitpud's thank meter if you find his thread useful
--APK Manager--
I found this tool extremely useful for pulling APK's and pushing them to your phone. This app can be used for Themeing apks, or editing the XML files.
I found this application on XDA as well: http://forum.xda-developers.com/showthread.php?t=1285130
Go hit s0niq3's thanks button, maybe it'll convince her that people actually care about her program.
--android-utility or AU--
This little program looks to be extremely useful, I found it while searching for a way to compile .9.png files without having to use Eclipse. But it also has a host of other applications and uses. Make sure you read the thread thoroughly and follow all instructions.
I found this application on XDA as well: http://forum.xda-developers.com/showthread.php?t=1167623
Go hit tommytomatoe's thanks button as well, he gave us a marvelous little program. There is also a version for windows now, well at least part of it.
[For windows, and Linux Users: http://forum.xda-developers.com/showthread.php?t=1272513]
Go hit kakomalo's thanks button
If you download the version 1.0.1 and you try to compile a .9.png file, and you receive an error telling you that aapt is missing, all you have to do is drag and drop the aapt from the Android SDK into /android-utility/utility/
--xUlitimate--
I'm not sure if this one is worth mentioning for Mac, but it would be kinda cool if someone figured out how to get this to work with Wine…so here it is:
So here is its link: http://www.droidforums.net/forum/xeudoxus/47283-release-xultimate.html
This one has some theme tools. I found it specifically for the Draw9Patch Compiler, but I could not get it to work nicely with wine.
--Gimp--
This one is well known, so I don't think it needs much explanation…but it is image editing software.
Here is the download link if you don't already have it: http://gimp.lisanet.de/Website/Download.html
---Finally
After spending hours searching, downloading, and finding out what works I thought I would share to save someone else the expense of having to go through the trial and error. I would love it if other Mac Users, or any one else would share their knowledge on programs they use when working with Android; to theme, compile ROMs, or any other activity related to Android while pertaining to Mac.
Also, if you mess up your computer while doing this it is your own responsibility
Don't know why you haven't got any thanks for this, here's one from me for a very detailed and informative post. I am not a Mac user but thanks for your contribution.
Well I guess I just gave you your first thanks!
This post should be a little useful for Mac users... especially those that don't understand Unix.
Developing on Mac can be very similar to developing on Linux. Mac is just slightly more GUI oriented. Unix commands are the same, though.
So Linux users could use this guide as well!
EDIT: After I posted... I noticed 4 more users had thanked you as well... o-o that was fast
Haha oh thanks guys! After the first couple of days I thought my thread was going to get swallowed up. I'm starting to think that Mac Users are rare amongst Android developers. I do realize that other Unix OSs like Ubuntu are favored more, but sometimes it's a pain to run these back and forth. I've even tried to VM UBUNTU, but I had a problem getting the USB to interface with the program, whether it was how I sent it up, or the program itself I have no idea. So I went out looking for alternatives. There is always triple booting I suppose.
Sent from my SAMSUNG-SGH-I727
I'm use a Mac at my office, and not by choice. Thank you for this extremely helpful post!
Great guide for anyone who is looking to start developing for Android. Better yet, for people who need to get the jist of what is going on in UNIX!

Linux/Android help for a beginner

Hey all-
I'm very interested in learning Linux in order to not only do cool stuff at home with my own computer, but also to perhaps be of service in developing ROMs and give back to the devs who've helped breathe life into my ol' OG Evo for nigh-on two years now. If I ever got to the point of doing some 'grunt work' and helping out on a project, that'd be awesome for me.
Here's where I'm currently at with Linux: I've followed instructions to dual-boot Ubuntu on my Windows 7 laptop (yay!!!!), but other than installing Chrome and using all my Google services (Gmail/Docs/etc.) through that, I'm not really sure what else to do in order to become fluent with Linux. It's kind of like reading a book on how to build a car, but not knowing one end of a wrench from another.
Here's where I'm at with Android: I can follow instructions to root my phone, flash ROMs, install the Car-O-Dope tweaks on GB ROMs using System Tuner and ROM Toolbox, and most basic things that include using Smelkus' recovery (flashing, wiping, nandroid/restoring, etc). I'd say I know more than the average Android user, but certainly not as much as the experts here.
I've looked on a variety of forums both here and on Ubuntu's site, but I'm not really sure how people got their start using Linux and how they progressed from there in terms of fluency with Linux, applying that to Android developing, and also generally using it as a 'one-stop shop' for home use. I've read about people being able to build HTPCs on the cheap, using a computer as a file server/web site host (my wife's a graphic designer, but hates technology, natch)/media streamer/home security server, but as soon as the instructions get to "Ok, now open up your command line and follow these 28 steps......", I get a bit gun-shy.
If anyone's got any helpful tips on how they got started, any good beginner's guides (project-oriented would be great, just as reading a book on speaking a foreign language is no substitute for conversing with a native/fluent speaker), and how they grew in fluency or just any general advice, it'd be greatly appreciated. I'm putting this here and spreading it around in the hopes that some of the WAY talented XDA devs and members I've read so much from will toss a bone in my direction.
Thanks for reading and for any help!
Get very familiar with Terminal. For Android dev or otherwise, it is essential. Reading man-pages is also good to learn new commands better. In Terminal, just type "man man" minus quotations. That will get you going.
Sent from my PC36100 using xda premium
You should definitely make an effort to become comfortable with the Linux command line environment (also known as Shell, the most common Shell currently is BASH).
Try giving yourself some useful activities to do, such as: setting up a home file server with Samba, setting up a media streaming server (DLNA - Plex Media Server is a great program for this), just little things like that.
Before you know it you'll be a pro
markinaus said:
You should definitely make an effort to become comfortable with the Linux command line environment (also known as Shell, the most common Shell currently is BASH).
Try giving yourself some useful activities to do, such as: setting up a home file server with Samba, setting up a media streaming server (DLNA - Plex Media Server is a great program for this), just little things like that.
Before you know it you'll be a pro
Click to expand...
Click to collapse
So, is Bash something I download/install, or should it be already 'packaged' in with Ubuntu?
go to the development forum on ubuntuforums.org and find out how to upgrade to ubuntu 13.04. As that version is currently in development you should get a chance to learn a few things. That's how I learned modern linux distros. Also setting up and playing around with Ubuntu server edition might be helpful.
For app development Google some Java tutorials. Once you get the beginners stuff out of the way you should be ready to learn android development with your new Java skills.
Sent from my GT-I5500 using xda app-developers app
---------- Post added at 06:01 AM ---------- Previous post was at 05:47 AM ----------
just using Ubuntu for your day to day tasks should also help. When the other Guy was talking about bash he was talking about the terminal in Ubuntu. its a command line that lets you enter various commands. Google 'Ubuntu terminal' for more info
Sent from my GT-I5500 using xda app-developers app
Joshmccullough said:
So, is Bash something I download/install, or should it be already 'packaged' in with Ubuntu?
Click to expand...
Click to collapse
No Bash is something that is already packaged with Ubuntu, it is one of the most essential elements of Ubuntu (and Linux in general) because it gives you a means of interfacing with everything else. If you have a type of Linux with no graphical interface, then the shell is your only means of interfacing with the operating system at all.
So in short, yes Bash is packaged with Ubuntu and every other kind of Linux out there (if it's not, a different shell will be packed with it, but Bash is the most common one).
Maybe something for later but I have seen a number of different Dev threads about getting started with AndroidDev, I know that I have seen at least about 10, all from different perspectives/starting points. One that I could find easily was the following:
http://forum.xda-developers.com/showthread.php?t=1778984
Check it out. Basically, says ... Linux (fundamentals), CLI (command line interface or shell, fluent), Java (fundamental), XML (medium), SDK (medium) and Time - to start with at least. Hope that is useful.

Categories

Resources