There are a number of different ways to go about Android application development. One thing we’ve learned here at Segue over the past few years of application development is that there is that no one size fits all. By virtue of the open source nature of Android, a diverse set of tools have popped up, either to fill a need or scratch an itch, to help build apps. Some are cross-platform and some use web technologies. You can build Android apps using a number of different alternative languages and/or integrated development environments (IDEs), including but certainly not limited to:
- Adobe Flash (Flash/AIR)
- Ruboto (Ruby)
- Xamarin 2.0 (C#)
- Basic4android (Basic)
- ItelliJ IDEA (Altenrative IDE, Java)
- Scripting Layer For Android (Python, Perl, etc.)
- AppInventor (Drag and Drop)
However, the official Android toolchain from Google is leveraged to at least some degree by most of these products, and it continues to be the most popular, well documented, and best supported method of developing Android applications.
The first thing you’ll need is to have a recent Java Development Kit (JDK) installed (1.6 or later). Yes, you need the full JDK, not just a Java Runtime Environment (JRE).
Next, you’ll need the components from Google which can all be found with installation instructions on Android Developer Site. These components consist of the SDK, the Eclipse Android Developer Tools (ADT) plugin, and the Native Development Kit (NDK). Naturally, you’ll also need Eclipse for the ADT plugin to integrate with.
If all this sounds too complicated, don’t fret. Google has recently combined the SDK, Eclipse ADT Plugin, Eclipse and all the necessary Eclipse dependencies along with several additional components normally downloaded post-install through the Android SDK Manager (The Android SDK Tools, Android SDK Platform-tools, the latest Android platform and emulator system image) into a single download called the ADT Bundle. This can save you a lot of headache and is probably the quickest way to get started with native Android development.
The SDK Tools contain some Java programs (such as the aforementioned Android SDK Manager) and various command line tools. Google provides a list of the tools/commands and their uses. The Eclipse ADT plugin integrates those tools inside the Eclipse IDE so that you don’t have as much cognitive dissonance switching in and out of your development environment.
The NDK is used to compile and integrate C & C++ code into your application. Generally, you won’t need to worry about this unless you’re a game developer, but there are exceptions. It requires that you have GNU Make 3.81 or higher, and GNU Awk or Nawk. On Windows, Cygwin is also required. Since Android supports multiple processor architectures (ARMv5TE, ARMv7-A, x86, & MIPS), the NDK includes everything you need to cross-compile.
Once you’ve got your tools installed, you’re ready to start developing. If you need more help, I recommend checking out Busy Coder’s Guide to Android Development by Mark Murphy. It’s constantly updated with the latest changes. With these sorts of tools readily available, finding the best fit for building your Android application is easily attainable.