Expo React Native安卓构建失败:Gradle未知错误求助
React Native Expo安卓Gradle构建失败修复方案
核心问题分析
当前项目存在两个关键问题导致构建失败:
- 项目
compileSdkVersion为android-31,而多个依赖库要求编译SDK版本至少为32或33 - 构建过程中出现
java.lang.StackOverflowError,多为Gradle内存不足引发
分步修复步骤
1. 升级编译SDK版本
打开项目中的android/build.gradle文件,修改以下配置:
android { compileSdkVersion 33 // 替换为依赖要求的最高版本,如33 targetSdkVersion 33 // 同步升级到与compileSdkVersion一致的版本 buildToolsVersion "33.0.2" // 匹配对应SDK版本的构建工具 }
2. 解决StackOverflowError错误
编辑android/gradle.properties文件,增加JVM堆内存配置:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
然后进入android目录,执行缓存清理命令:
./gradlew clean
3. 排查并处理依赖冲突
进入android目录,执行命令查看完整依赖树:
./gradlew dependencies
如果发现依赖版本冲突,可在android/build.gradle的allprojects块中添加版本强制统一规则:
allprojects { repositories { // 原有仓库配置 } configurations.all { resolutionStrategy { // 根据实际冲突依赖调整,示例: force 'com.android.support:appcompat-v7:33.0.0' } } }
4. 重新执行构建
回到项目根目录,重新安装依赖后触发构建:
yarn install eas build --platform android
内容的提问来源于stack exchange,提问作者Obsesie
相关产品推荐
相关产品推荐

