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

Expo构建Release版本失败问题求助(React Native)

解决Expo构建Android Release时的Gradle错误

优先尝试升级依赖(最推荐)

这两个错误基本是依赖包的Gradle配置与当前项目的Gradle/Expo版本不兼容导致的,先升级相关包:

  • 升级expo-structured-headers:运行 npm install expo-structured-headers@latest 或 yarn add expo-structured-headers@latest
  • 升级expo-modules-core:运行 npm install expo-modules-core@latest 或 yarn add expo-modules-core@latest
  • 同步Expo SDK版本:执行 expo upgrade 将所有依赖更新到当前SDK的兼容版本

临时修复:手动修改依赖的Gradle配置

如果升级后问题仍存在,可临时修改出错的配置文件(注意:重新安装依赖后修改会失效,优先推荐升级方案):

  1. 修复expo-structured-headers的错误:
    打开node_modules/expo-structured-headers/android/build.gradle,找到第40行的 classifier = 'sources',替换为 archiveClassifier.set('sources')——Gradle 7+版本不再支持直接赋值classifier,需使用setter方法
  2. 修复expo-modules-core的错误:
    打开node_modules/expo-modules-core/android/ExpoModulesCorePlugin.gradle,找到第65行获取release组件的代码,改为 components.findByName("release") 或 components.getByName("release")——新版Gradle中SoftwareComponent容器的访问方式已变更

检查Gradle版本匹配度

确认项目根目录gradle/wrapper/gradle-wrapper.properties中的Gradle版本与Expo SDK要求匹配,比如Expo SDK 49对应Gradle 8.0左右,可将distributionUrl设置为:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

同时检查android/build.gradle里的com.android.tools.build:gradle插件版本,例如Gradle 8.0对应插件版本7.4.2。

清理缓存后重新构建

执行以下命令清除缓存,再尝试构建:

./gradlew clean
rm -rf node_modules && rm package-lock.json && npm install
expo prebuild --clean

内容的提问来源于stack exchange,提问作者Malyaj Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:43:26