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

Expo项目Gradle构建失败,请求排查expo-splash-screen编译错误

解决Expo安卓项目Gradle构建失败及JS变量未声明警告

一、处理:expo-splash-screen:compileReleaseKotlin构建失败

该错误源于expo-splash-screen模块的Kotlin方法签名与依赖框架不匹配,或模块版本和Expo SDK版本不兼容,按以下步骤排查:

  • 强制适配SDK的依赖版本
    执行npx expo install expo-splash-screen,该命令会自动安装与当前Expo SDK版本匹配的expo-splash-screen,直接规避版本不兼容导致的方法签名问题。

  • 清理全链路缓存

    1. 删除本地依赖缓存并重新安装:
      rm -rf node_modules package-lock.json yarn.lock
      npm install
      
    2. 清除Expo项目缓存:
      expo r -c
      
    3. 进入项目android目录,清理Gradle缓存:
      ./gradlew clean
      ./gradlew cleanBuildCache
      
  • 统一Kotlin版本配置
    打开项目根目录的android/build.gradle文件,确保ext.kotlin_version与Expo SDK要求一致(例如Expo SDK 49+对应1.8.22),修改后重新构建:

    buildscript {
        ext {
            kotlin_version = "1.8.22"
        }
        // 其他原有配置
    }
    

二、解决JS变量未声明警告

这类警告多为代码规范问题或全局变量未显式声明导致,按以下方式修复:

  • 修复本地代码变量声明
    对照警告提示的文件和行号,确保所有使用的变量都通过var/let/const声明,避免隐式创建全局变量。

  • 配置ESLint允许合法全局变量
    如果是Expo内置或第三方库的全局变量(如__DEV__)未被ESLint识别,在项目的.eslintrc.js(或.eslintrc.json)中添加全局变量声明:

    {
        "globals": {
            "__DEV__": true,
            "Expo": true
        }
    }
    
  • 批量检测修复代码
    执行以下命令,让ESLint自动检测并修复可自动修复的未声明变量问题:

    npx eslint . --fix
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:22:52