Skip to main content
Open Mobile Maps is available for both Android and iOS. Choose your platform below to get started.

Android installation

Open Mobile Maps for Android is distributed via Maven Central, making it easy to add to your project.

Requirements

  • Android 8.0 (API level 26) or higher
  • OpenGL ES 3.2 support
  • Kotlin or Java project

Add Maven Central dependency

1

Ensure Maven Central is in your repositories

Make sure mavenCentral() is listed in your project’s settings.gradle or root build.gradle:
settings.gradle
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}
2

Add the dependency

Add Open Mobile Maps to your app module’s build.gradle:
build.gradle
dependencies {
    implementation 'io.openmobilemaps:mapscore:3.7.1'
}
The latest stable version is 3.7.1. Check Maven Central for the most recent version.
3

Sync your project

Click “Sync Now” in Android Studio to download the dependency.

Alternative: Local AAR dependency

If you prefer to use a local build or need to modify the SDK, you can include it as an AAR file:
1

Build the AAR

Clone the repository and build the Android library:
git clone https://github.com/openmobilemaps/maps-core.git
cd maps-core
git submodule init
git submodule update
cd android
./gradlew assemble
The generated AAR will be in android/build/outputs/aar/.
2

Add to your project

Copy the AAR to your app’s libs folder and add to build.gradle:
build.gradle
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.aar'])
}
3

Add required dependencies

When using the AAR directly, you need to manually include these dependencies:
build.gradle
dependencies {
    implementation "androidx.activity:activity-ktx:1.8.2"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.7.0"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
}

Initialize the library

Before using Open Mobile Maps, initialize it in your Application class:
Application.kt
import io.openmobilemaps.mapscore.MapsCore

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        MapsCore.initialize()
    }
}
Make sure to register your custom Application class in your AndroidManifest.xml:
<application
    android:name=".MyApplication"
    ...>

Verify installation

After installation, verify that everything is set up correctly by importing the SDK:
import io.openmobilemaps.mapscore.map.view.MapView
import io.openmobilemaps.mapscore.shared.map.MapConfig
import io.openmobilemaps.mapscore.shared.map.coordinates.CoordinateSystemFactory

// If this compiles, you're ready to go!

Next steps

Now that you have Open Mobile Maps installed, you’re ready to create your first map.

Quick start guide

Learn how to display your first map with a step-by-step tutorial

Build docs developers (and LLMs) love