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

升级项目至SDK33时Dagger编译报错:ChuckerInterceptor无法解析

解决Dagger无法解析ChuckerInterceptor的问题

问题根源

  1. 包名完全变更:旧Chucker库(com.readystatesoftware.chuck)与新库(com.github.ChuckerTeam.Chucker)的类路径不兼容,代码中的类引用未同步更新。
  2. 依赖仓库缺失:新库托管在JitPack,项目未配置对应仓库会导致依赖无法正常拉取。
  3. 编译时依赖一致性:Dagger作为编译时注解处理器,需要debug/release环境下都能找到对应包名的ChuckerInterceptor类,否则会触发解析错误。

分步解决方案

1. 添加JitPack仓库

在项目根目录的settings.gradle中加入JitPack仓库配置:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

2. 修正代码中的类引用

将所有旧库的导入语句:

import com.readystatesoftware.chuck.ChuckerInterceptor;

替换为新库的路径:

import com.chuckerteam.chucker.api.ChuckerInterceptor;

同时检查ApiModule的getClient方法参数类型,确保是com.chuckerteam.chucker.api.ChuckerInterceptor。

3. 确认依赖配置有效性

保留当前3.5.2版本的依赖配置,确保release环境的no-op版本提供同包名的空实现:

debugImplementation "com.github.ChuckerTeam.Chucker:library:3.5.2"
releaseImplementation "com.github.ChuckerTeam.Chucker:library-no-op:3.5.2"

4. 清理缓存并重新编译

执行以下命令清除Gradle缓存,避免旧依赖干扰:

./gradlew clean build --refresh-dependencies

5. 验证Dagger依赖配置

确保Dagger的注解处理器配置正确,与Kotlin版本兼容:

implementation 'com.google.dagger:dagger:2.48'
kapt 'com.google.dagger:dagger-compiler:2.48'

若使用Kotlin DSL,需确保启用kapt插件:

plugins {
    id 'kotlin-kapt'
}

额外排查点

  • 用./gradlew dependencies命令查看依赖树,排查是否有其他模块引入了旧版Chucker库,如有需通过exclude排除冲突依赖。
  • 确认ViewBinding与Kotlin 1.7.10的兼容性:AGP 7.4.2与Kotlin 1.7.10完全匹配,若之前有ViewBinding相关报错,可尝试重新同步项目并清理缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:52:50