Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add upcoming release info for 1.19

...

  • Creating a new Android emulator
    • Its configuration can be parameterised, including OS version, screen size, language and hardware properties
  • Running any Android emulator
    • Waits until the emulator is fully started-up
    • Emulator snapshots can be automatically created
      • This allows a very fast startup time for subsequent builds
      • This ensures subsequent builds will start from the same clean state
    • Logs are automatically captured and saved
    • Emulator will be shut down automatically when the build has finished
    • Multiple instances of the same emulator are automatically prevented from running concurrently
  • Installing an Android package onto an emulator
  • Uninstalling an Android package from an emulator
  • Running the monkey stress-testing tool
  • Parsing output from running monkey
    • The build outcome can be automatically marked as unstable or failed in case a crash is detected

Automated installation of the Android SDK should be possible in future, meaning build machines could more easily be deployed without manual intervention.
Please see the upcoming features section for how you can support this, or the running on Amazon EC2 section for a rough guide to automating setup for this plugin.

Requirements

Jenkins

Jenkins version 1.377 or newer is required.
Since this version was released well before the Hudson/Jenkins split, this plugin can also be used with Hudson. Any changes to this situation will be posted here and on the Hudson wiki.

...

Potential upcoming features

Info
titleAutomated installation of the Android SDK

It should be possible to automatically install the Android SDK and the correct dependencies on any Jenkins node, without manual intervention.

This feature is already quite complete (source is on the auto-install branch), so the curious can try this out already.

However, because the SDK Tools currently lack a way of automatically installing only certain SDK components, the plugin will download every Android platform version — a total of around 1GB. Auto installation is also currently not available on Windows.

To help this feature be completed, please add a "star" to support these Android feature requests:

Source code

The latest source code can be found on GitHub:
https://github.com/jenkinsci/android-emulator-plugin

Version history

Version 1.19 (upcoming)

  • Added automated installation of Android SDK, build tools and OS images
    • Where the SDK is already installed, the plugin can now install new OS images on-demand
    • Installation of the base SDK or SDK addons does not yet work on Windows (see Android bug #18868)
    • Installation of system images is not yet possible (see Android bug #21880)
    • When installing an SDK addon, adb will be auto-restarted, which may affect parallel builds (see Android bug #21923)
    • HTTP proxy support is not yet included
  • Added option to delete the emulator when a build ends
  • Added build step to load a snapshot into the running emulator
  • Added build step to save a snapshot of the running emulator
  • Added detection of missing ABIs (e.g. required for Android 4.0+) (JENKINS-11516)
  • Added support for Android 4.0
  • Relaxed the rules for determining whether a screen resolution alias is valid or not
  • Fixed variable expansion where an existing environment variable clashed with a build variable
  • Temporary log files are now stored outside of the workspace (JENKINS-11492)
  • Made snapshot more likely to succeed on Windows

Version 1.18 (September 12, 2011)

  • Fixed bug introduced by Android SDK Tools r12, where emulator startup was not detected properly on Windows (JENKINS-10815)
  • Fixed bug where build would get stuck during emulator startup if adb hangs (JENKINS-10421)
    • Thanks to Jørgen Tjernø
  • Fixed bug where logcat processes were not always killed at the end of a build (JENKINS-10785)
  • Made emulator shutdown more robust and prevent builds from hanging if the emulator is unresponsive (JENKINS-10778)
    • Thanks for Richard Mortimer for the investigation and fixes

...