Android Development Model

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Android-logo.jpg Applies to Android

Introduction[edit | edit source]

To develop apps for Android devices, you need a set of tools that are included in the Android SDK. Once you've downloaded and installed the SDK, you can access these tools right from your Eclipse IDE (the recommended method), through the ADT plugin, or from the command line, or another IDE (eg: NetBeans).

The following picture shows the typical development workflow:

Android developing overview.png

For further information, please visit https://developer.android.com/tools/workflow/index.html


Development tools[edit | edit source]

A lot of information on how to start programming can be found here: http://developer.android.com/guide/developing/index.html.


Before starting, make sure you can match the following prerequisites:

  • Windows (XP, Vista or 7), Mac OS X (10.5.8 or later) or Linux (tested on Ubuntu Linux, Lucid Lynx) development host
  • Eclipse IDE 3.6.2 (Helios) or greater installed on the development host (if you want to use Eclipse as IDE)
  • Eclipse JDT plugin (included in most Eclipse IDE packages) (if you want to use Eclipse as IDE)
  • JDK 6 (JRE alone is not sufficient)
  • Basic experience with Eclipse IDE (if you want to use Eclipse as IDE)
  • Good knowledge of Java language


In order to start development of your Android “Apps”, you need to install the following components:

  • Android SDK
  • Eclipse ADT plugin (optional)
  • Android NDK (optional)

First of all you should download and install the Android SDK (http://developer.android.com/sdk/index.html). Please follow the instructions reported on http://developer.android.com/sdk/installing.html in order to properly install the SDK. If you want to use Eclipse as IDE, you should also install the Android Development Tools (ADT) Plugin (please find here the related instructions: http://developer.android.com/sdk/eclipse-adt.html#installing).


Eclipse with ADT plugin

Android NDK[edit | edit source]

The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so that you may reuse existing code libraries written in these languages and possibly increased performance. For further information, please refer to https://developer.android.com/tools/sdk/ndk/index.html

Overview of the SDK[edit | edit source]

An overview of the SDK can be found here: http://developer.android.com/sdk/exploring.html

Android emulator[edit | edit source]

Please refer to the Android emulator page for detailed information on how the emulator provided with the Android SDK works. In particular, check the Keymapping table to know how to navigate the Android GUI on the emulator.

Android Tools[edit | edit source]

Please refer to Android Tools page for detailed information on the available useful tools, including:

  • ADT: a plugin for Eclipse that provides a suite of tools that are integrated with the Eclipse IDE. It offers you access to many features that help you develop Android applications quickly. ADT provides GUI access to many of the command line SDK tools as well as a UI design tool for rapid prototyping, designing, and building of your application's user interface.
  • Android Debug Bridge: Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program that includes three components:
    • A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients.
    • A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.
    • A daemon, which runs as a background process on each emulator or device instance.

You can find the adb tool in <sdk>/platform-tools/.

  • MonkeyRunner: The monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code. With monkeyrunner, you can write a Python program that installs an Android application or test package, runs it, sends keystrokes to it, takes screenshots of its user interface, and stores screenshots on the workstation. The monkeyrunner tool is primarily designed to test applications and devices at the functional/framework level and for running unit test suites, but you are free to use it for other purposes. See for example Button Pressing Emulation On Android
  • logcat: The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are collected in a series of circular buffers, which then can be viewed and filtered by the logcat command. You can use logcat from an ADB shell or directly on the serial console shell to view the log messages.

Useful Links[edit | edit source]

Android Developer Website

First project tutorial

Notes[edit | edit source]

Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.