执行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
相关产品推荐
相关产品推荐

