You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在采用libs缩写语法的Android Gradle项目中添加osmdroid依赖?

如何在采用libs缩写语法的Android项目中添加osmdroid依赖?

我正在开发一个Android项目,需要添加osmdroid库实现离线地图功能。原本计划直接在build.gradle中添加以下依赖:

implementation 'org.osmdroid:osmdroid-android:6.1.6'
implementation 'org.osmdroid:osmdroid-wms:6.1.6'
implementation 'org.osmdroid:osmdroid-mapsforge:6.1.6'
implementation 'org.osmdroid:osmdroid-geopackage:6.1.6'

但当前项目采用Gradle版本目录(Version Catalog)的libs.***缩写语法配置依赖,示例如下:

dependencies {
    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.lifecycle.runtime.ktx)
    implementation(libs.androidx.activity.compose)
    implementation(platform(libs.androidx.compose.bom))
    // ...其他依赖
}

请问该如何正确添加所需的osmdroid依赖?


解决方案

通过Gradle版本目录配置文件定义osmdroid库,再在模块依赖中引用即可,步骤如下:

  1. 配置版本目录文件
    找到项目根目录下gradle/libs.versions.toml文件(若不存在则手动创建),添加以下内容:
[versions]
# 统一管理osmdroid版本,后续升级只需修改这里
osmdroid = "6.1.6"

[libraries]
# 为每个osmdroid库定义别名
osmdroid-android = { group = "org.osmdroid", name = "osmdroid-android", version.ref = "osmdroid" }
osmdroid-wms = { group = "org.osmdroid", name = "osmdroid-wms", version.ref = "osmdroid" }
osmdroid-mapsforge = { group = "org.osmdroid", name = "osmdroid-mapsforge", version.ref = "osmdroid" }
osmdroid-geopackage = { group = "org.osmdroid", name = "osmdroid-geopackage", version.ref = "osmdroid" }
  1. 在模块的build.gradle中添加依赖
    打开应用模块(通常是app/build.gradle或app/build.gradle.kts)的dependencies块,添加:
dependencies {
    // ...保留原有依赖
    implementation(libs.osmdroid.android)
    implementation(libs.osmdroid.wms)
    implementation(libs.osmdroid.mapsforge)
    implementation(libs.osmdroid.geopackage)
}

说明:libs.xxx是Gradle版本目录的特性,通过统一的toml文件管理依赖版本和别名,既方便后续统一升级版本,也让依赖配置更简洁规范。


内容的提问来源于stack exchange,提问作者Kaluya Nkumbula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:13:19