Android SDK 1.3.1 — 18 artifacts on Maven Central, with Jetpack Compose

18 artifacts including the BOM are on Maven Central. Use 1.3.1 — 1.3.0 shipped broken POMs. minSdk is now 28.

MapConductor Android SDK 1.3.1 is on Maven Central — 18 artifacts, all at the same version, BOM included.

Using it

With the BOM you do not write a version for each module.

kotlin
dependencies {
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
    implementation("com.mapconductor:core")
    implementation("com.mapconductor:compose")
    implementation("com.mapconductor:for-maplibre")
}

If you do not use the BOM, still pin 1.3.1. 1.3.0 has the defect described below.

What was published

ArtifactWhat it isMap SDKRepository
com.mapconductor:mapconductor-bomBOM — pins every module to one versionmapconductor-bom
com.mapconductor:coreProvider-independent coreandroid-sdk-core
com.mapconductor:composeJetpack Compose integrationandroid-sdk-compose
com.mapconductor:iconsIconsandroid-icons
com.mapconductor:heatmapHeatmapandroid-heatmap
com.mapconductor:marker-clusteringMarker clusteringandroid-marker-clustering
com.mapconductor:geojsonGeoJSON layerandroid-geojson-layer
com.mapconductor:kmlKML layerandroid-kml
com.mapconductor:for-googlemapsGoogle Mapsplay-services-maps 20.0.0android-for-googlemaps
com.mapconductor:for-maplibreMapLibremaplibre 13.4.1android-for-maplibre
com.mapconductor:for-mapboxMapboxmapbox 11.28.0android-for-mapbox
com.mapconductor:for-hereHERE.aar 4.27.2.0.309975android-for-here
com.mapconductor:for-arcgisArcGISarcgis-maps-kotlin 300.1.0android-for-arcgis
com.mapconductor:for-maptilerMapTilermaptiler 2.1.0android-for-maptiler
com.mapconductor:for-tomtomTomTomtomtom 2.4.2android-for-tomtom
com.mapconductor:for-longdoLongdolongdo 1.3.0android-for-longdo
com.mapconductor:for-mapplsMapplsmappls 9.0.3android-for-mappls
com.mapconductor:for-openmobilemapsOpen Mobile Mapsomm 4.0.0android-for-openmobilemaps

A few artifact names do not match their repository name. core and compose live in android-sdk-*, and geojson is still in android-geojson-layer — the Maven coordinate settled on geojson, and a published coordinate cannot be changed.

Jetpack Compose

com.mapconductor:compose is the Compose integration. The map is a MapView composable and the state lives in a state object; swapping providers does not change how you call it.

There is a second Compose-related reason to be on 1.3.1. The Compose BOM does not travel in a published POM. A BOM resolves versions during a build; it does not bake those versions into what you publish. 1.3.0 missed this, and shipped Compose dependencies with no version at all.

Use 1.3.1, not 1.3.0

When 1.3.0 was published, its POMs declared Compose dependencies without versions. Maven Central rejects that, so for-arcgis, for-here and for-tomtom failed to publish outright — but for-googlemaps, for-maplibre and for-mapbox went through broken. Consumers cannot resolve their Compose dependencies.

Published coordinates on Maven Central are immutable, so the fix went out as 1.3.1. Do not use 1.3.0.

Requirements

minSdk28
compileSdk37
targetSdk35
Java17
Kotlin2.4.10

minSdk moved from 26 to 28, required by ArcGIS Maps SDK 300, which also sets compileSdk 37. Modules that do not use ArcGIS were raised too, because a single floor across the set is easier to live with than a per-module one.

Each module has its own repository under github.com/MapConductor.