Mapbox Navigation SDK for Android
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update (#798) Mar 23, 2018
.tx Remove app name String resource from libandroid-navigation (#884) Apr 25, 2018
app Added RouteRefresh as a wrapper class for MapboxDirectionsRefresh (#1738 Feb 14, 2019
cloudformation Add binary size metric and push to loading dock (#1554) Nov 27, 2018
config/checkstyle Repo cleanup (#285) Oct 2, 2017
gradle bump mapbox-navigation-native version to 5.0.0 (#1744) Feb 14, 2019
libandroid-navigation-ui Ignore primary route update tasks with empty collections (#1742) Feb 14, 2019
libandroid-navigation fix battery charge reporter null pointer exception (#1750) Feb 16, 2019
scripts generate unique filenames for archives in check binary size script - … Dec 10, 2018
.gitignore Navigation native (#1336) Sep 27, 2018 release 0.29.0 (#1739) Feb 14, 2019 Fix link in (#952) May 18, 2018
LICENSE Happy 2019 🎉🚗 (#1654) Jan 8, 2019
Makefile Remove sonarqube integration (#1290) Sep 13, 2018 bump (#1716) Jan 31, 2019
build.gradle setup ci to publish the sample app to google play (#1597) Dec 4, 2018
circle.yml generate unique filenames for archives in check binary size script - … Dec 10, 2018
codecov.yml Use Android View instead of runtime styling for way name (#1621) Dec 19, 2018 release 0.29.0 (#1739) Feb 14, 2019
gradlew Repo cleanup (#285) Oct 2, 2017
gradlew.bat Repo cleanup (#285) Oct 2, 2017 Added Burmese, Finnish, Korean, Norwegian guidance Aug 24, 2018
navigation_testapp.keystore setup ci to publish the sample app to google play (#1597) Dec 4, 2018
package.json Add binary size metric and push to loading dock (#1554) Nov 27, 2018
settings.gradle Repo cleanup (#285) Oct 2, 2017

Mapbox Service

Maven Central

When your users want to get from one location to another, don’t push them out of your application into a generic map application. Instead, keep them engaged with your application 100% of the time with in-app turn-by-turn navigation.

The Mapbox Navigation SDK for Android is built on top of the Mapbox Directions API and contains logic needed to get timed navigation instructions.

The Mapbox Navigation SDK is a precise and flexible platform which enables your users to explore the world's streets. We are designing new maps specifically for navigation that highlight traffic conditions and helpful landmarks. The calculations use the user's current location and compare it to the current route that the user's traversing to provide critical information at any given moment. You control the entire experience, from the time your user chooses a destination to when they arrive.

Getting Started

If you are looking to include this inside your project, please take a look at the detailed instructions found in our docs. If you are interested in building from source, read the contributing guide inside this project.

Add this snippet to your build.gradle file to use this SDK (libandroid-navigation):

implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.28.0'

And for libandroid-navigation-ui:

implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.28.0'

Note: When using the UI library, you do not need to add both dependencies. The UI library will automatically pull in libandroid-navigation.

Important Note: You must include the following snippet in your top project-level build.gradle file:

repositories {
    maven { url '' }

This will ensure the mapbox dependency is properly downloaded.

To run the sample code on a device or emulator, include your developer access token in developer-config.xml found in the project.


You'll find all of the documentation for this SDK on our Mapbox Navigation page. This includes information on installation, using the API, and links to the API reference.

Getting Help

  • Need help with your code?: Look for previous questions on the #mapbox tag — or ask a new question.
  • Have a bug to report? Open an issue. If possible, include the version of Mapbox Services, a full log, and a project that shows the issue.
  • Have a feature request? Open an issue. Tell us what the feature should do and why you want the feature.

Using Snapshots

If you want to test recent bug fixes or features that have not been packaged in an official release yet, you can use a -SNAPSHOT release of the current development version of the Mapbox Navigation SDK via Gradle, available on Sonatype.

repositories {
    maven { url "" }

dependencies {
    implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.29.0-SNAPSHOT'

Sample code

We've added several navigation examples to this repo's test app to help you get started with the SDK and to inspire you.


We welcome feedback, translations, and code contributions! Please see for details.

License of Dependencies

This SDK uses Mapbox Navigator, a private binary, as a dependency. The Mapbox Navigator binary may be used with a Mapbox account and under the Mapbox TOS. If you do not wish to use this binary, make sure you swap out this dependency in libandroid-navigation/build.gradle. Code in this repo falls under the MIT license.