Spring for Android Samples
Switch branches/tags
Nothing to show
Pull request Compare This branch is 55 commits behind spring-projects:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Spring for Android Samples

This repository contains sample projects illustrating usage of Spring for Android. Each project requires set up of the Android SDK, command line tools, Maven, the Android Maven Plugin, and Android Maven artifacts such as Spring dependencies. This document walks through that setup. See Spring for Android on GitHub for more information about building from source.

Sample Applications

The following sample applications demonstrate the capabilities of Spring for Android. See the README in each directory for more information on the sample project and additional instructions.

Development Environment

The Android SDK is required for developing Android applications. Google provides command line tools, and an Eclipse plugin for building Android applications, however you are not restricted to only those options. The Android Maven Plugin makes use of the Android SDK command line tools to compile and deploy the app to the emulator, so there is no need for a separate IDE setup or configuration.

Install the Android SDK

  1. Download the correct version of the Android SDK for your operating system from the Android web site.

  2. Unzip the archive and place it in a location of your choosing. For example on a Mac, you may want to place it in the root of your user directory. See the download web site for additional installation details.

  3. Add Android to your path. The following is an example .bash_profile on a OS X:

     $ export ANDROID_HOME=~/android-sdk-macosx
     $ export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools'

Install Android SDK Platform(s)

The Android SDK download does not include any specific Android platform SDKs. In order to run the sample code you need to download and install the Android 2.1 SDK Platform or higher. You accomplish this by using the Android SDK and AVD Manager that was installed from the previous step.

  1. Open the Android SDK and AVD Manager window:

     $ android

    Note: if this command does not open the Android SDK and AVD Manager, then your path is not configured correctly.

  2. Select the checkbox for "Tools"

  3. Select the checkbox for the latest Android SDK, "Android 4.2.2 (API 17)" as of this writing

  4. Click the Install packages... button to complete the download and installation.

    Note: you may want to simply install all the available updates, but be aware it will take longer, as each SDK level is a sizable download.

Configure an Android Virtual Device

The following steps describe how to configure an Android Virtual Device (AVD) for use in running the sample application. More information can be found on the Managing Virtual Devices at the Android Developers web site.

  1. Open the Android Virtual Device Manager window:

     $ android avd
  2. Select the New… button

  3. Enter "Default" in the Name field

    Note: The Android Maven Plugin attempts to start an AVD with the name "Default" unless you specify an alternate emulator in the POM.

  4. Select "Nexus 7" as the device

  5. Select "Android 4.2.2 - API Level 17" for the target

  6. Select "ARM (armeabi-v7a)" for the CPU

  7. Click the OK button to finish.

    Note: The sample application is configured for Android 2.1 as the minimum version.

Build and Run the Android Client

The following instructions apply to each Android sample app. They should be executed from within the sample app's directory, where the project's pom.xml is located.

  1. Build the app:

     $ mvn clean install		
  2. Start the emulator using the Android Maven Plugin:

     $ mvn android:emulator-start

    Alternatively, you can start the emulator using the Android command line tools:

     $ emulator @Default

    IMPORTANT: Ensure the emulator is fully initialized and ready or the deploy will fail.

  3. Deploy the app to the emulator:

     $ mvn android:deploy

    Note: the Android Maven Plugin will attempt to deploy the app to all available devices, both emulators and physical devices attached to your computer.

Troubleshooting Failed Deployment

You can view realtime logging of the app using the following command:

$ adb logcat

If "mvn android:deploy" fails, try stopping and restarting the adb server:

$ adb kill-server
$ adb start-server
$ mvn android:deploy

You can also list the available virtual devices using the following command:

$ adb devices


Pull requests are welcome. See the contributor guidelines for details.

Additional Resources


Spring for Android is released under version 2.0 of the Apache License.