The Android SDK comes with many tools and an easy software management system for updating and adding new tools and SDK components. This tutorial will show you how to add new tools, where to look for them once added, and give you an idea of the types of tools you'll find available for download outside the normal toolchain.
Step 0: Getting Started
This tutorial is for the Java developer just about to get started learning Android, who is familiar with Eclipse, and has installed the Android SDK and Android Developer Plugin for Eclipse. If you have not, see the previous tutorials in this series.
Step 1: Downloading New Tools
Launch the Android SDK Manager tool (either in Eclipse or standalone). Wait for the "Fetching URL" task to finish. At the bottom of the screen, you can choose between organizing the available downloads by API Level or Repository. We recommend API Level.
In here, you'll find all the SDK versions, downloads for each version, the tools useful for all versions, and an extras section for other downloads that do not fall into a specific category, or are applicable only to certain developers or devices.
When you first install the Android SDK, some downloads useful for normal day-to-day development aren't included by default.
For example, we've noted that no System Image is included when installed via the Eclipse plugin, which means you won't be able to use the Emulator until you download more components.
To download a tool, simply click on the appropriate checkbox and then choose the "Install X packages..." button. Some downloads are automatically used and integrated with other tools. Some downloads are merely components downloaded into specific directories. Still others may need to be installed separately after they are downloaded. We'll go over some of the tool types later on.
Step 2: Finding Downloaded Tools
You've downloaded something through the Android SDK Manager. Now what?
Most of the downloads are automatically integrated into your development environment (Eclipse), but not all. If you download the SDK Platform, that API level will appear as a version you can build against within Eclipse. If you also download the System Image, you can launch an Emulator with that API level. Likewise for sample content; each sample will appear in the new app creation wizard once downloaded.
However, other tool installations are more subtle. Android sources, for example, simply appear in a directory somewhere in your Android SDK path.
Where do you look for other downloads?
Almost without exception, downloads appear somewhere in your Android SDK path. If it's an add-on, such as a skin for a particular device, or a Google API, it will show up in the add-ons directory in the SDK path.
Anything grouped in the "Extras" folder of the Android SDK Manager will be saved into an extras directory under your SDK path. Extras are further organized by the company they are associated with. Download the Google Analytics SDK? It goes under the analytics_sdk of the google subdirectory of the extras directory.
Samples, while also integrated into the new Eclipse app wizard, appear in a sample directory (organized by API Level).
You may need to look around a little to find your downloads as there are many directories with many subdirectories. There is some rhyme and reason to it all though!
Step 3: Overview of Tools and Extras
Let's talk about several of these tools and downloads. The descriptions in the SDK Manager are, well, non-existent at the moment. We won't dive very deep into each at this time because many of these tools deserves a series of tutorials on their own. In broad strokes then, here are their purposes:
- Android Support Library: Provides a compatibility API that back-ports some new (and integral) platform features to earlier versions of the Android SDK.
- Google Analytics SDK: Integrate analytics tracking inside your apps using Google's library and service.
- Google USB Driver: For windows only, this is a set of USB drivers enabling developers to connect via USB to many different Android devices.
- ARM EAB v7a System Image: Found for each of the API levels. Required for using the emulator. This is the standard system image used for the emulator.
- Intel Atom x86 System Image: A system image that uses Intel Atom CPU emulation rather than ARM emulation. Only available for select API levels.
- Intel Hardware Accelerated Execution Manager: Mac and Windows only. A driver for making performance of Intel Atom System Images very smooth on development machines. Once downloaded, must also be installed manually.
- Google APIs: Available for each API Level. Adds Google-specific services, such as Google Maps mapping functionality.
- Google AdMob Ads SDK: Integrate advertising into your apps using Google's library and service.
Step 4: Manufacturer Portals
Unfortunately, not every tool available for Android developers is available for download through the Android SDK Manager. New tools are being added to the Android SDK Manager all the time, but there are still some components not bundled there which must be downloaded from elsewhere.
Many device manufacturers have their own developer programs. Finding them can sometimes be challenging, though. Here are a couple we know about. Feel free to let us know about others in the comments and we will add them to the list.
HTC Dev: Provides OpenSense SDK, bootloader unlocking, consulting, information, and more
MOTODEV: For general information as well as their own IDE (Motodev Studio for Android).
LG Mobile Developer Network: SDKs, online testing with real LG hardware, and more.
Samsung Developers: SDKs, App challenges, and online testing with real Samsung hardware.
Note that many of these companies require you to register as a developer before you can access their downloads. This may mean you are subject to further terms and conditions so read the fine print carefully when you are downloading and installing any Android SDK component, either from the Android SDK Manager or otherwise.
We could go on, but there are dozens of manufacturers. If you really want to fully access the development-enabled features of a device that has more than the standard set of hardware (such as fingerprint scanners, 3D displays, dual displays, and other such goodies you might want to integrate into your apps), you'll either find support via the Android SDK Manager or the manufacturer's developer website.
You're another step closer to being fully prepared for getting started with Android development. You have your Android SDK installed, your tools in hand, and information on where to get more of what you need for specific developer projects.
You're well on your way to Android development. What kinds of apps are you looking forward to creating? Let us know in the comments!
About the Authors
Mobile developers Lauren Darcey and Shane Conder have coauthored several books on Android development: an in-depth programming book entitled Android Wireless Application Development (now in it's third edition as a two-volume set), Sams Teach Yourself Android Application Development in 24 Hours, and Learning Android Application Programming for the Kindle Fire: A Hands-On Guide to Building Your First Android Application. When not writing, they spend their time developing mobile software at their company and providing consulting services. They can be reached at via email to firstname.lastname@example.org, via their blog at androidbook.blogspot.com, and on Twitter @androidwireless.