React Native Expo EAS Android构建报错:expo-modules-core相关问题
解决EAS构建Android时':expo-modules-core'的prefab方法错误
这个错误是因为Android Gradle插件(AGP)版本与expo-modules-core的配置不兼容导致的,prefab()是AGP 4.0+引入的特性,若项目AGP版本过低或依赖版本不匹配就会触发该问题。试试以下方案:
升级Android Gradle插件与Gradle版本
打开android/build.gradle,将com.android.tools.build:gradle的版本升级到与当前Expo SDK兼容的稳定版(比如Expo SDK 49对应AGP 7.4.2):buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } }同步修改
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本(AGP 7.4.x对应Gradle 7.5):distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip锁定expo-modules-core版本
根据你使用的Expo SDK版本,在package.json中指定兼容的expo-modules-core版本,避免依赖冲突:- 若用npm,添加
overrides:"overrides": { "expo-modules-core": "~1.12.11" // 替换为对应SDK的版本,比如SDK49用这个 } - 若用Yarn,添加
resolutions:"resolutions": { "expo-modules-core": "~1.12.11" }
执行
npm install或yarn install重新安装依赖。- 若用npm,添加
清理构建缓存
删除node_modules、android/build、android/app/build目录,执行expo r -c清理Expo缓存,之后再尝试expo build:android。升级Expo SDK到稳定版
如果你使用的是较旧的Expo SDK版本,可能存在AGP兼容性问题,升级到最新稳定SDK版本(比如SDK 50),并同步更新相关依赖。
内容的提问来源于stack exchange,提问作者Frankinstyyn
相关产品推荐
相关产品推荐

