Android项目无法找到com.squareup.moshi:moshi-kotlin-reflect:1.15.1依赖求助
解决com.squareup.moshi:moshi-kotlin-reflect:1.15.1依赖找不到的问题
核心问题:依赖引用路径错误
你在version.toml中定义的依赖key是moshi-kotlin-reflect,但在Gradle文件中错误使用了嵌套路径libs.moshi.kotlin.reflect来引用。Gradle会自动将version.toml里的libraries key转换为驼峰命名的属性,正确的引用方式应为libs.moshiKotlinReflect。
修正步骤:
- 调整Gradle依赖引用
将原代码:
implementation(libs.moshi.kotlin.reflect)
替换为:
implementation(libs.moshiKotlinReflect)
- (可选)优化version.toml命名风格
为避免混淆,建议统一命名规则,移除key中的版本号(版本已通过version.ref关联),调整后的version.toml:
[versions] moshi = "1.15.1" okhttp = "你的okhttp版本号" # 补充之前缺失的okhttp版本定义 [libraries] moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" } okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" } moshi = { group = "com.squareup.moshi", name = "moshi", version.ref = "moshi" } moshi-kotlin-reflect = { group = "com.squareup.moshi", name = "moshi-kotlin-reflect", version.ref = "moshi" }
对应的Gradle引用简化为:
implementation(libs.moshi) implementation(libs.moshiKotlin) implementation(libs.moshiKotlinReflect) implementation(libs.okhttp) implementation(libs.okhttpLogging)
额外排查步骤
若修正引用后仍无法找到依赖,尝试以下操作:
- 检查仓库配置:确保
settings.gradle.kts中配置了Maven Central仓库(Google Maven不包含Moshi全量依赖),示例配置:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // 必须添加该仓库 } }
- 清理Gradle缓存:执行命令清理本地缓存并重新下载依赖:
./gradlew clean build --refresh-dependencies
- 验证依赖本地存在性:检查本地Gradle缓存路径
~/.gradle/caches/modules-2/files-2.1/com.squareup.moshi/moshi-kotlin-reflect/1.15.1下是否有对应文件,确认依赖是否已下载。 - 匹配AGP与Gradle版本:AGP 8.5.2对应Gradle 8.7版本,确保你的Gradle wrapper版本与AGP兼容,避免版本不兼容导致的依赖解析异常。
内容的提问来源于stack exchange,提问作者Fátima Ramone
相关产品推荐
相关产品推荐

