升级React Native与Expo后Android编译报错:expo-modules-core编译失败
解决Expo SDK51升级后Android编译Kotlin错误的方法
问题原因
这个编译错误是expo-modules-core模块与项目Kotlin版本不兼容导致的,SDK51对应的核心模块需要特定版本的Kotlin支持。
具体修复步骤
1. 升级项目Kotlin版本
打开项目根目录的项目级build.gradle文件(注意不是app目录下的),找到ext.kotlin_version配置,将其修改为1.9.20或更高版本(SDK51推荐适配的Kotlin版本):
buildscript { ext { kotlin_version = "1.9.20" // 其他项目配置... } // 其他脚本内容... }
2. 清理缓存并重装依赖
- 删除本地依赖和锁文件:
rm -rf node_modules package-lock.json
- 重新安装依赖:
npm install # 用yarn的话执行:yarn install
- 清理Android构建缓存:
./gradlew clean
3. 锁定expo-modules-core版本
如果上面的步骤没解决问题,在package.json中添加版本锁定,强制使用SDK51兼容的expo-modules-core版本(比如1.12.11,可根据官方更新调整):
"resolutions": { "expo-modules-core": "1.12.11" }
添加后重新执行依赖安装命令。
4. 检查其他Expo模块版本
确保所有已安装的Expo第三方模块(如expo-camera、expo-location等)都升级到了SDK51兼容的版本,避免跨版本冲突。可以通过npm list expo-*命令查看各模块版本,对照官方SDK51的模块版本列表逐一升级。
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

