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

Android Kotlin项目中Retrofit集成Moshi出现KotlinJsonAdapterFactory未解析引用问题排查

嘿,这个问题我之前在做Kotlin Android项目的时候也踩过坑,主要是几个常见的原因导致的,咱们一步步来排查解决:

问题原因与解决方案

1. 核心依赖缺失:没加moshi-kotlin包

KotlinJsonAdapterFactory这个类并不在你配置的moshi-kotlin-codegen里——那个只是用来生成Kotlin数据类适配代码的注解处理器,而运行时需要的Kotlin适配核心类,在单独的moshi-kotlin依赖包中。你现在的配置刚好漏掉了这个关键依赖。

修正后的Gradle依赖配置:

// 基础Moshi核心库
implementation("com.squareup.moshi:moshi:1.12.0")
// 关键!包含KotlinJsonAdapterFactory的Kotlin适配库
implementation("com.squareup.moshi:moshi-kotlin:1.12.0")
// Kotlin数据类的代码生成处理器
kapt "com.squareup.moshi:moshi-kotlin-codegen:1.12.0"
// Retrofit的Moshi转换器,建议版本和Retrofit主库保持一致
implementation "com.squareup.retrofit2:converter-moshi:2.9.0"

2. 忘记导入对应的类

就算加了依赖,如果代码里没导入KotlinJsonAdapterFactory,IDE肯定会报未解析引用的错误。记得在你的代码文件顶部加上这条导入语句:

import com.squareup.moshi.kotlin.KotlinJsonAdapterFactory

3. 依赖版本不兼容

你当前用的converter-moshi:2.5.0版本太老旧了,和moshi:1.12.0的版本跨度太大,很容易出现兼容性问题。建议保持Retrofit相关依赖(包括转换器、CallAdapter等)的版本统一,同时尽量让Moshi版本和转换器版本匹配,这样能避免很多奇怪的问题。

最后做这两步验证

  1. 点击Android Studio右上角的「Sync Project with Gradle Files」按钮,同步依赖
  2. 执行「Build -> Clean Project」,再「Build -> Rebuild Project」,彻底清理构建缓存

这样操作下来,KotlinJsonAdapterFactory的未解析引用问题应该就能解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:42:28