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

使用osmdroid 6.1.13的Kotlin Android项目编译失败求助

问题分析与解决方案

异常字符来源

从错误的依赖下载URL(osmdroid-android'%20))可以直接判断:你的依赖声明中混入了多余的单引号、空格和右括号。这些无效字符被Gradle误解析为依赖坐标的一部分,经过URL编码后就变成了%20(对应空格)和%29(对应右括号),导致无法匹配到正确的远程依赖包。

虽然你贴出的依赖格式看似正确,但实际项目的build.gradle(或build.gradle.kts)文件中,某一行osmdroid依赖肯定存在拼写错误,比如:

  • 多打了右括号:implementation 'org.osmdroid:osmdroid-android:6.1.13')
  • 多余的单引号:implementation 'org.osmdroid:osmdroid-android:6.1.13''
  • 依赖坐标前后混入了空格或其他符号

解决步骤

  1. 检查并修正依赖声明
    打开app模块的build.gradle(或build.gradle.kts)文件,逐行核对所有osmdroid依赖,确保格式完全合规,正确示例:

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

    重点排查是否有多余的引号、括号、空格或其他特殊符号。

  2. 清理Gradle缓存并刷新依赖
    在项目根目录执行以下命令,强制清理缓存并重新拉取正确的依赖:

    ./gradlew clean build --refresh-dependencies
    
  3. 确认仓库配置正确
    检查项目根目录的settings.gradle文件,确保已配置必要的Maven仓库(osmdroid包托管在Maven Central):

    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    }
    

内容的提问来源于stack exchange,提问作者Martin Bammer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:15:41