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

Android Studio(Kotlin)集成Moshi库编译失败求助

解决Moshi集成后编译失败:找不到javax.annotation相关类的问题

从你提供的报错信息和项目配置来看,问题核心是Moshi与Okio依赖的javax.annotation包下注解类在Android环境中缺失,再加上Debug模式开启了代码压缩(minifyEnabled),进一步触发了编译报错。下面是具体的解决步骤:

1. 手动引入javax.annotation依赖

Android SDK默认不包含javax.annotation相关类库,但Moshi内部大量使用了该包下的注解(比如@Nullable、@ParametersAreNonnullByDefault),所以需要在app模块的build.gradle的dependencies块中添加依赖:

implementation 'javax.annotation:javax.annotation-api:1.3.2'

2. 调整Debug模式的代码压缩配置

你的Debug构建类型中开启了minifyEnabled true,但Debug模式通常不需要代码压缩——这不仅会拖慢编译速度,还容易引发类引用类问题。建议直接关闭Debug模式的代码压缩:
修改app模块build.gradle中的buildTypes部分:

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable true
        minifyEnabled false // 此处改为false
    }
}

如果确实需要在Debug模式下保留代码压缩,需在proguard-rules.pro中补充规则,确保javax.annotation的类被保留:

# 保留javax.annotation相关类和注解
-keep class javax.annotation.** { *; }

3. (可选)升级Moshi到稳定版本

你当前使用的Moshi 1.5.0是较旧的版本,存在一些已知兼容性问题,建议升级到较新的稳定版本(比如1.14.0),同时保持moshi和moshi-kotlin版本一致:

implementation 'com.squareup.moshi:moshi:1.14.0'
implementation 'com.squareup.moshi:moshi-kotlin:1.14.0'

完成以上步骤后,同步Gradle并重新编译项目,应该就能解决这个编译报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:30:49