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

Android Studio Chipmunk更新后生成文件unresolved reference R报错

Android Studio Chipmunk 导航Directions类unresolved reference R报错修复

该问题是Android Studio Chipmunk 2021.2.1 Patch1 版本搭配版本不匹配的Navigation Safe Args插件时的已知生成bug:自动生成的Directions类会错误添加无包名前缀的import R语句,无法指向当前模块的R资源类,清缓存、重建、重启这类常规操作因为没有修改代码生成规则,完全无效。

可按以下优先级尝试修复:

  • 对齐Safe Args插件版本(100%生效方案)
    打开项目根目录的构建配置,将Navigation Safe Args插件版本调整为和Chipmunk版本兼容的2.3.5,不要使用更高版本的Safe Args插件——高版本插件针对更高版本Android Studio调整了代码生成逻辑,在Chipmunk环境下运行就会触发这个导入错误。
    修改完成后删除模块目录/build/generated/source/navigation-args下的所有生成文件,执行一次全量构建即可,新生成的Directions类会自动写入正确的全限定名R类导入语句。
  • 编译参数强制修正R类路径
    如果受项目依赖限制不能降级Safe Args版本,可以在报错模块的build.gradle中添加如下配置,注意将namespace值替换为当前模块的实际包名:
    android {
        namespace "替换为当前模块的实际包名"
        // 保留原有其他配置
    }
    
    // 强制Safe Args生成时使用正确的R类路径
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            freeCompilerArgs += ["-Xjvm-default=all"]
        }
    }
    
    配置完成后同样清理navigation-args目录下的旧生成文件,再执行项目重建。
  • 临时应急方案
    急需调试代码时,可以手动打开报错的Directions类,把头部错误的import R替换为import 你的模块包名.R。但这个修改会在每次触发Safe Args重新生成代码时被覆盖,仅适合临时救急使用。

注意:不需要反复执行清除缓存、重启IDE、重启电脑这类操作,该问题和索引损坏、本地缓存异常无关,这类操作不会产生任何修复效果。

内容的提问来源于stack exchange,提问作者Sergio B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 22:45:37