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

升级Expo至46版本后EAS构建失败:compileSdkVersion不兼容

Expo 46 eas build失败解决方法

问题根源

日志显示多个AndroidX依赖(如androidx.appcompat:appcompat:1.4.1)要求最低编译SDK版本为31,但当前项目的compileSdkVersion是android-30,版本不匹配导致构建失败。Expo SDK 46本身要求Android compileSdkVersion为31,必须统一版本才能解决。

解决步骤

1. 更新项目Android配置

打开项目的app.json或app.config.js,修改Android相关配置:

{
  "expo": {
    "android": {
      "compileSdkVersion": 31,
      "targetSdkVersion": 31,
      "minSdkVersion": 21 // 保留你项目原本的最低版本即可
    }
  }
}

2. 清理缓存后重新构建

  • 清理Expo缓存:
expo r -c
  • 执行构建:
eas build

3. 处理第三方依赖冲突(如果步骤1、2无效)

如果还是失败,可能是第三方库拉取了不兼容的依赖版本:

  • 自动修复依赖:
expo doctor --fix-dependencies
  • 若自动修复不行,手动在package.json里锁定冲突依赖的兼容版本,比如把androidx.appcompat:appcompat锁定到1.3.1(该版本支持compileSdk 30),但这是临时方案,优先用步骤1升级项目SDK版本。

4. 确认环境符合要求

确保本地环境满足Expo 46的要求:

  • Node.js用14.x或16.x版本
  • Expo CLI版本≥5.4.0
  • Android SDK已安装API 31的组件

内容的提问来源于stack exchange,提问作者Jardeson Nogueira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:45:32