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

编译任务失败求助::expo-constants:compileDebugKotlin 报错及相关问题

解决Expo项目中':expo-constants:compileDebugKotlin'编译失败问题

错误详情

任务 ':expo-constants:compileDebugKotlin' 执行失败。
执行 org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction 时发生失败
编译错误,详见日志获取更多详情

伴随两个具体错误:

  • Unresolved reference: deviceYearClass
  • 'getDeviceYearClass' overrides nothing

修复方案

  • 对齐expo-constants与Expo SDK版本
    Expo各依赖包版本需与SDK严格匹配,版本不兼容会引发这类方法引用错误。查看当前项目的Expo SDK版本,安装对应版本的expo-constants:

    # 以SDK 50为例,替换为你的项目实际SDK对应版本
    npm install expo-constants@~15.4.1
    # 或使用yarn
    yarn add expo-constants@~15.4.1
    
  • 清理缓存后重新构建
    缓存异常可能导致依赖引用混乱,执行以下步骤:

    # 清除npm缓存
    npm cache clean --force
    # 清除Expo缓存
    expo r -c
    # 清理Android构建缓存(若已生成android目录)
    cd android && ./gradlew clean && cd ..
    # 重新启动构建
    expo run:android
    
  • 调整Kotlin版本(针对Android构建)
    打开android/build.gradle文件,找到ext.kotlin_version配置,修改为Expo SDK推荐的稳定版本(比如SDK 50推荐1.9.0):

    buildscript {
        ext {
            kotlin_version = "1.9.0"
            // 其他配置项...
        }
    }
    

    修改完成后重新执行Android构建。

  • 检查预构建后的依赖配置
    如果项目使用expo prebuild生成了android目录,打开android/app/build.gradle,确保expo-constants的依赖版本与package.json中声明的一致,避免手动修改导致冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:46:08