These instructions are for developers interested in making code-level contributions to MapLibre Native for Android.
Clone the git repository and pull in submodules:
git clone [email protected]:maplibre/maplibre-native.git
cd maplibre-native
git submodule update --init --recursive
cd platform/android
Android Studio needs to be installed.
Open the platform/android
directory to get started.
The test application (used for development purposes) uses MapTiler vector tiles, which require a MapTiler account and API key.
With the first Gradle invocation, Gradle will take the value of the MLN_API_KEY
environment variable and save it to MapLibreAndroidTestApp/src/main/res/values/developer-config.xml
. If the environment variable wasn't set, you can edit developer-config.xml
manually and add your API key to the api_key
resource.
Run the configuration for the MapLibreAndroidTestApp
module and select a device or emulator to deploy on.
To run the render tests for Android, run the configuration for the androidRenderTest.app
module.
More information on working on the render tests can be found in the wiki.
To run the instrumentation tests, choose the "Instrumentation Tests" run configuration.
Your device needs remain unlocked for the duration of the tests.
The instrumentation tests are running on AWS Device Farm. To see the results and the logs, go to:
You can log in with the maplibre
alias, with maplibre
as username and maplibre
as password (this is a read-only account).
All new code should be written in Kotlin.
To check Kotlin style, we use ktlint. This linter is based on the official Kotlin coding conventions. We intergrate with it using the kotlinder Gradle plugin.
To check the style of all Kotlin source files, use:
$ ./gradlew checkStyle
To format all Kotlin source files, use:
$ ./gradlew formatKotlin
To run the benchmarks (for Android) include the following line on a PR comment:
!benchmark android
maplibre-native/docs/mdbook describes how Tracy can be used for profiling.