Android SDK 1.3.1 ── Maven Central에 18개 아티팩트, Jetpack Compose 대응

BOM을 포함한 18개 아티팩트를 Maven Central에 공개했습니다. 1.3.0에 POM의 불량이 있으므로 1.3.1을 써 주세요. minSdk는 28이 되었습니다.

MapConductor Android SDK 1.3.1 을 Maven Central에 공개했습니다. 18개의 아티팩트 모두가 같은 판이고, BOM도 포함됩니다.

사용법

BOM을 넣으면, 각 모듈의 판을 쓸 필요가 없습니다.

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

BOM을 쓰지 않는 경우도 1.3.1로 맞춰 주세요. 1.3.0에는 후술하는 불량이 있습니다.

공개한 것

아티팩트내용지도 SDK저장소
com.mapconductor:mapconductor-bomBOM. 전 모듈의 판을 맞춘다mapconductor-bom
com.mapconductor:core프로바이더 비의존의 코어android-sdk-core
com.mapconductor:composeJetpack Compose 연계android-sdk-compose
com.mapconductor:icons아이콘android-icons
com.mapconductor:heatmap히트맵android-heatmap
com.mapconductor:marker-clustering마커 클러스터링android-marker-clustering
com.mapconductor:geojsonGeoJSON 레이어android-geojson-layer
com.mapconductor:kmlKML 레이어android-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

아티팩트 이름과 저장소 이름이 일치하지 않는 것이 있습니다. corecompose 의 저장소는 android-sdk-*, geojson 의 저장소는 android-geojson-layer 인 채입니다(Maven의 좌표는 geojson 으로 확정되어 있고, 공개된 좌표는 바꿀 수 없기 때문).

Jetpack Compose

com.mapconductor:compose 가 Compose 연계입니다. 지도는 MapView 컴포저블로 놓고, 상태는 state 객체가 가집니다. 프로바이더를 교체해도, 이 호출 방식은 달라지지 않습니다.

Compose 주변에서 1.3.1이 필요한 이유가 하나 더 있습니다. Compose BOM은 공개된 POM에는 실리지 않습니다. BOM은 의존의 판을 해결하기 위한 구조이며, 해결 결과가 POM에 새겨지는 것은 아니기 때문입니다. 1.3.0에서는 이것을 놓쳐, Compose에 대한 의존이 판이 없는 채로 POM에 나와 있었습니다.

1.3.0이 아니라 1.3.1을 써 주세요

1.3.0의 공개 시, Compose에 대한 의존이 판을 갖지 않는 POM 이 생성되어 있었습니다. Maven Central은 이것을 튕겨 내므로 for-arcgis / for-here / for-tomtom 은 공개 자체가 실패했지만, for-googlemaps / for-maplibre / for-mapbox깨진 채로 통과해 버렸습니다. 가져온 쪽에서 Compose의 의존을 해결할 수 없습니다.

Maven Central은 한 번 공개한 좌표를 교체할 수 없으므로, 수정판을 1.3.1로 다시 내고 있습니다. 1.3.0은 쓰지 마세요.

동작 환경

minSdk28
compileSdk37
targetSdk35
Java17
Kotlin2.4.10

minSdk가 26에서 28로 올라갔습니다. ArcGIS Maps SDK 300 계열의 요구이며, compileSdk 37도 같은 이유입니다. ArcGIS를 쓰지 않는 구성이어도, 모듈이 갖춰져 있는 편이 다루기 쉬우므로 전체를 맞추고 있습니다.

각 모듈은 github.com/MapConductor 에 저장소별로 나뉘어 있습니다.