Software - prior to Spring 2015

Required Software

  • Java 7 or 8 JDK (Java 8 is the current default)
  • Secure Shell (SSH)
  • Mercurial (includes TortoiseHG on Windows)
  • Gradle (unzip somewhere you can find it to refer to from Android Studio)
    • As of August, 2014, Android Studio requires Gradle 1.12 or earlier, and the default version is Gradle 2.0
    • To download and install Gradle 1.12, do this: go to the Gradle download page, click the more downloads link and on the resulting page click Choose Version and select 1.12, then click on
  • Android Studio (follow the detailed instructions to install Android Studio and various SDKs)
  • GenyMotion (a fast Android emulation system based on VirtualBox - registration required)
    • Once you've installed GenyMotion you should download one of the Android virtual machines.
    • Finally, under Android Studio plugins (File => Settings => Plugins toward the bottom), click Browse repositories and select and install the GenyMotion plugin.
    • You'll have to restart Android Studio to enable the plugin.
  • Astah Community UML modeling tool
  • Robolectric unit testing framework (a bit further down the road)
You can run Android tests and apps in the emulator or deploy them to your Android phone or tablet (with the required developer settings). With Robolectric, you can run Android tests in an ordinary JVM without the presence of an emulator or device.

Recommended Software

For Windows users:
  • TortoiseHg (integration of Mercurial with Windows Explorer)
  • Ubuntu in a virtual machine (consider this option if you are a Windows user and have trouble getting things to work; using GenyMotion is preferred)
These are useful Android Studio/Intellij IDEA plugins:
  • Bitbucket
  • Checkstyle
  • Code Outline
  • Favorite Folders
  • GenyMotion (see above for how to install this)
  • Key Promoter (helps you learn keyboard shortcuts)
  • Markdown

Alternative Stack

If you have a Mac and an iOS device, you may consider using XCode for iOS development with deployment to your device. If you make this choice, you will be largely on your own if you run into problems, though.

Overview of Android Development Modes

Different software is required for each of these.
  • local host
    • gradle on command-line
    • IDE such as Android Studio (our choice for this course) or Eclipse -> visual GUI editor
  • target device
  • remote host
    • ssh, gradle on command-line, copy or download apk to device and install