Skip to content
An OpenTreeMap client for Android. The OpenTreeMap code can be downloaded at
Java Other
  1. Java 99.6%
  2. Other 0.4%
Branch: master
Clone or download
RobinIsTheBird Merge pull request #298 from RobinIsTheBird/rtb/fix-map-npe
Refactor for Asynchronous control flow
Latest commit c9a5bdc Jan 10, 2017

Travis build status

OpenTreeMap for Android

Development Instructions

You will need to run an OpenTreeMap server to use the Android app. If you do not have an OpenTreeMap development environment, you can use the otm-vagrant project to get started.

Android Studio Setup

  • This project uses RetroLambda to support Java-8 Lambdas on Android, which requires JDK8:

    • Install JDK8 (If you are running Ubuntu, see here)
  • download Android Studio

  • unzip it wherever you want

  • Using the SDK Manager, install necessary software:

    • From Extras, install:
      • Google Play services
      • Google Repository
      • Android Support Repository
    • For all the SDK versions that you will use, (currently API 14, API 19, API 25), grab:
      • SDK Platform
      • Google APIs (x86 if there's a choice)
      • System Image (if you are using an emulator)

Device / Emulator Setup

You may want to setup your device for debugging, if you prefer that over working in an emulator. Follow these instructions:

If you would prefer to use an emulator, make sure to use an x86 image with Google APIs available, and set your computer up to use hardware acceleration as documented here:

App Setup

  • clone the otm-android repo to wherever you store code

  • Put the appropriate values into the templates in OpenTreeMapSkinned (for more information, see the OpenTreeMapSkinned README)

  • Setup google maps API key. See Google's documentation for help in doing so. Set this key as the google_maps_api_key in the defaults.xml template in the OpenTreeMapSkinned project.

Weird Bugs

If your debug.keystore is not generated, you probably won't be able to run the keytool command. When you first try to run the OpenTreeMapSkinned project, Android Studio should create a debug.keystore if you do not already have one.

USDA Grant

Portions of OpenTreeMap are based upon work supported by the National Institute of Food and Agriculture, U.S. Department of Agriculture, under Agreement No. 2010-33610-20937, 2011-33610-30511, 2011-33610-30862 and 2012-33610-19997 of the Small Business Innovation Research Grants Program. Any opinions, findings, and conclusions, or recommendations expressed on the OpenTreeMap website are those of Azavea and do not necessarily reflect the view of the U.S. Department of Agriculture.

You can’t perform that action at this time.