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

执行npx expo run:android命令失败,寻求有效解决方案

解决npx expo run:android构建失败问题

执行npx expo run:android时构建失败,核心错误为:

  • 不存在枚举常量org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.JvmTargetValidationMode.WARN¦NG
  • 未找到名为debugAndroidTest的KotlinJvmAndroidCompilation

完整错误日志:

PS C:\Users\abc\Desktop\my-app> npx expo run:android
› 正在构建应用...
Configuration on demand 是一项孵化特性。

FAILURE: 构建因异常失败。

* 位置:
脚本 'C:\Users\abc\Desktop\my-app\node_modules\expo-modules-autolinking\scripts\android\autolinking_implementation.gradle' 第 356 行

* 问题原因:
评估项目 ':expo' 时出现问题。
> 配置项目 ':expo-modules-core' 时出现问题。
   > 通知项目评估监听器失败。
      > 不存在枚举常量 org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.JvmTargetValidationMode.WARN¦NG
      > 未找到名为 'debugAndroidTest' 的 KotlinJvmAndroidCompilation。

* 尝试方案:
> 使用 --stacktrace 选项获取堆栈跟踪信息。
> 使用 --info 或 --debug 选项获取更多日志输出。
> 使用 --scan 选项获取完整分析信息。

* 获取更多帮助:https://help.gradle.org

BUILD FAILED in 13s
5 个可执行任务:5 个已是最新状态
Error: C:\Users\abc\Desktop\my-app\android\gradlew.bat 以非零代码退出:1
Error: C:\Users\abc\Desktop\my-app\android\gradlew.bat 以非零代码退出:1
    at ChildProcess.completionListener (C:\Users\abc\Desktop\my-app\node_modules\@expo\spawn-async\build\spawnAsync.js:52:23)
    at Object.onceWrapper (node:events:632:26)
    at ChildProcess.emit (node:events:517:28)
    at cp.emit (C:\Users\abc\Desktop\my-app\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (node:internal/child_process:1098:16)
    at ChildProcess._handle.onexit (node:internal/child_process:303:5)
    ...
    at Object.spawnAsync [as default] (C:\Users\abc\Desktop\my-app\node_modules\@expo\spawn-async\build\spawnAsync.js:17:21)
    at spawnGradleAsync (C:\Users\abc\Desktop\my-app\node_modules\@expo\cli\build\src\start\platforms\android\gradle.js:72:46)
    at Object.assembleAsync (C:\Users\abc\Desktop\my-app\node_modules\@expo\cli\build\src\start\platforms\android\gradle.js:52:18)
    at runAndroidAsync (C:\Users\abc\Desktop\my-app\node_modules\@expo\cli\build\src\run\android\runAndroidAsync.js:36:24)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

解决方案

1. 对齐Kotlin Gradle插件版本

枚举不存在的问题源于Kotlin版本与Expo依赖不兼容。在android/build.gradle中指定兼容的Kotlin版本(Expo SDK 49+推荐1.8.20及以上稳定版):

buildscript {
    ext {
        kotlinVersion = "1.8.20"
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    }
}

2. 清理Gradle缓存并重建

执行以下命令清理旧缓存,避免干扰构建:

# 进入android目录
cd android
# 清理构建文件
./gradlew clean
# 停止Gradle守护进程
./gradlew --stop
# 删除全局Gradle缓存(Windows用户删除C:\Users\<你的用户名>\.gradle\caches)
rm -rf ~/.gradle/caches

回到项目根目录,重新运行npx expo run:android

3. 修复测试编译任务缺失问题

如果不需要Android Test,可在android/app/build.gradle中暂时禁用测试配置:

android {
    buildTypes {
        debug {
            testBuildType = null
        }
    }
}

或执行npx expo prebuild --clean重新生成Android项目文件,确保Expo自动链接配置正确。

4. 修复异常字符问题

错误日志中WARN¦NG含异常字符,可能是依赖文件编码异常。重新安装依赖:

rm -rf node_modules
rm package-lock.json yarn.lock
npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:43:12