Android SDK 1.3.1: 18 artefactos en Maven Central y soporte para Jetpack Compose

Publicamos 18 artefactos, BOM incluido, en Maven Central. Usá la 1.3.1: la 1.3.0 tiene un defecto en el POM. minSdk ahora es 28.

Publicamos MapConductor Android SDK 1.3.1 en Maven Central. Los 18 artefactos comparten la misma versión, BOM incluido.

Cómo usarlo

Con el BOM no hace falta escribir la versión de cada módulo.

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

Si no usás el BOM, igual fijá todo en 1.3.1. La 1.3.0 tiene el defecto que se describe más abajo.

Lo que publicamos

ArtefactoContenidoSDK de mapasRepositorio
com.mapconductor:mapconductor-bomBOM. Alinea las versiones de todos los módulosmapconductor-bom
com.mapconductor:coreNúcleo independiente del proveedorandroid-sdk-core
com.mapconductor:composeIntegración con Jetpack Composeandroid-sdk-compose
com.mapconductor:iconsIconosandroid-icons
com.mapconductor:heatmapMapa de calorandroid-heatmap
com.mapconductor:marker-clusteringAgrupación de marcadoresandroid-marker-clustering
com.mapconductor:geojsonCapa GeoJSONandroid-geojson-layer
com.mapconductor:kmlCapa KMLandroid-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

En algunos casos el nombre del artefacto no coincide con el del repositorio. Los repositorios de core y compose se llaman android-sdk-*, y el de geojson sigue siendo android-geojson-layer: la coordenada de Maven quedó fijada como geojson y una coordenada ya publicada no se puede cambiar.

Jetpack Compose

com.mapconductor:compose es la integración con Compose. El mapa se coloca como un composable MapView y el estado lo guarda un objeto de estado. Esta forma de invocarlo no cambia aunque cambies de proveedor.

Hay otro motivo por el que, con Compose, hace falta la 1.3.1. El BOM de Compose no aparece en el POM publicado. Un BOM sirve para resolver versiones de dependencias; el resultado de esa resolución no queda grabado en el POM. En la 1.3.0 se nos pasó, y la dependencia de Compose quedó en el POM sin versión.

Usá la 1.3.1, no la 1.3.0

Al publicar la 1.3.0 se generó un POM donde la dependencia de Compose no tenía versión. Maven Central rechaza eso, así que la publicación de for-arcgis, for-here y for-tomtom falló directamente, pero for-googlemaps, for-maplibre y for-mapbox pasaron rotas. Quien las incorpora no puede resolver la dependencia de Compose.

Maven Central no permite reemplazar una coordenada ya publicada, así que la corrección salió como 1.3.1. No uses la 1.3.0.

Requisitos

minSdk28
compileSdk37
targetSdk35
Java17
Kotlin2.4.10

minSdk subió de 26 a 28. Lo exige el ArcGIS Maps SDK de la serie 300, y compileSdk 37 responde a lo mismo. Aun en configuraciones sin ArcGIS mantenemos todo alineado, porque es más cómodo que los módulos coincidan.

Cada módulo vive en su propio repositorio en github.com/MapConductor.