Developing applications for Android devices is facilitated by a group of tools that are provided with the SDK. You can access these tools through an Eclipse plugin called ADT (Android Development Tools) or from the command line. Developing with Eclipse is the preferred method because it can directly invoke the tools that you need while developing applications.
However, you may choose to develop with another IDE or a simple text editor and invoke the tools on the command line or with scripts. This is a less streamlined way to develop because you will sometimes have to call command line tools manually, but you will have access to the same number of features that you would have in Eclipse.
The basic steps for developing applications (with or without Eclipse) are shown in figure 1. The development steps encompass four development phases, which include:
During this phase you install and set up your development environment. You also create Android Virtual Devices (AVDs) and connect hardware devices on which you can install your applications.
During this phase you set up and develop your Android project, which contains all of the source code and resource files for your application. For more informations, see Create an Android project.
- Debugging and Testing
During this phase you build your project into a debuggable
.apkpackage that you can install and run on the emulator or an Android-powered device. If you are using Eclipse, builds are generated each time you project is saved. If you're using another IDE, you can build your project using Ant and install it on a device using adb. For more information, see Build and run your application.
Next, you debug your application using a JDWP-compliant debugger along with the debugging and logging tools that are provided with the Android SDK. Eclipse already comes packaged with a compatible debugger. For more information see, Debug your application with the SDK debugging and logging tools.
Last, you test your application using various Android SDK testing tools. For more information, see Test your application with the Testing and Instrumentation framework.
During this phase you configure and build your application for release and distribute your application to users. For more information, see Publishing Overview.
Essential command line tools
When developing in IDEs or editors other than Eclipse, be familiar with all of the tools below, because you will have to run them from the command line.
- Create and update Android projects and create, move, and delete AVDs.
- Android Emulator
- Run your Android applications on an emulated Android platform.
- Android Debug Bridge
- Interface with your emulator or connected device (install apps, shell the device, issue commands, etc.).
In addition to the above tools that are included with the SDK, you need the following open source and third-party tools:
- To compile and build your Android project into an installable .apk file.
- To generate a keystore and private key, used to sign your .apk file. Keytool is part of the JDK.
- Jarsigner (or similar signing tool)
- To sign your .apk file with a private key generated by Keytool. Jarsigner is part of the JDK.
If you are using Eclipse and ADT, tools such as
are automatically called by Eclipse and ADT so you don't have to manually invoke these tools.
You need to be familiar with
adb, however, because certain functions are not
Eclipse, such as the
adb shell commands. You might also need to call Keytool and
sign your applications, but you can set up Eclipse to do this automatically as well.
For more information on the tools provided with the Android SDK, see the Tools section of the documentation.
Other Third-Party Development Tools
The tools described in this section are not developed by the Android SDK team. The Android Dev Guide does not provide documentation for these tools. Please refer to the linked documents in each section for documentation.
Developing in IntelliJ IDEA
IntelliJ IDEA is a powerful Java IDE from JetBrains that provides full-cycle Android development support in both the free Community Edition and the Ultimate edition.
The IDE ensures compatibility with the latest Android SDK and offers a smart code editor with completion, quick navigation between code and resources, a graphical debugger, unit testing support using Android Testing Framework, and the ability to run applications in either the emulator or a USB-connected device.