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

使用Expo开发React Native应用Android端报Invalid sdkVersion错误求助

解决Expo "Invalid sdkVersion" 错误(无sdkVersion字段场景)

针对你遇到的问题——Web端能正常运行但Android端抛出sdkVersion无效错误,且app.json里甚至没有这个字段,其实Expo会从其他渠道推断SDK版本,或者存在CLI与项目依赖版本不匹配的情况,以下是一步步的解决思路:

1. 先检查package.json里的expo依赖版本

打开项目根目录的package.json,找到dependencies中的expo项,比如:

"dependencies": {
  "expo": "^30.0.0"
}

如果你的expo版本不在错误提示的有效范围(7.0.0~38.0.0)内,或者和当前Expo CLI版本不兼容,就会触发这个报错。你的Expo CLI是3.27.14,这个版本对应的推荐SDK版本是38.0.0(Expo CLI和SDK版本是严格匹配的,旧CLI不支持过新/过旧的SDK)。

2. 统一Expo SDK与CLI版本

如果你的expo包版本不是38.0.0,执行命令升级到匹配版本:

npm install expo@38.0.0 --save

同时注意:如果项目里有其他expo相关依赖(比如expo-camera、expo-font),也要同步升级到SDK 38对应的版本,避免依赖冲突。

3. 手动在app.json中添加sdkVersion字段

虽然Expo能自动推断版本,但手动添加可以明确配置,消除歧义。打开app.json,在expo对象中补充:

{
  "expo": {
    "sdkVersion": "38.0.0",
    // 你的其他项目配置...
  }
}

4. 清除Expo缓存

缓存异常也可能导致版本读取错误,执行命令重启服务器并清除缓存:

expo r -c

5. 重置依赖(可选)

如果以上步骤都无效,可以尝试完全重置依赖:

rm -rf node_modules package-lock.json
npm install

内容的提问来源于stack exchange,提问作者esamaldin elzain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 14:32:51