Expo SDK 45 Android平台构建时:expo-updates:compileReleaseKotlin任务执行失败求助
expo-updates:compileReleaseKotlin失败的问题 我之前在维护Expo SDK 45项目时也碰到过一模一样的报错,折腾了一阵才找到几个靠谱的解决方向,你可以按顺序试试:
统一Kotlin版本到SDK 45适配的稳定版
Expo SDK 45对Kotlin版本有严格要求,建议你打开项目根目录的android/build.gradle,把ext.kotlin_version固定为1.6.10:buildscript { ext { kotlin_version = "1.6.10" // 保留其他原有配置... } }修改后先清理Android项目缓存:
cd android && ./gradlew clean && cd ..再重新尝试构建。
彻底清理Expo和Node依赖缓存
缓存紊乱是这类编译问题的常见诱因,执行以下命令清空所有相关缓存:expo r -c rm -rf node_modules rm package-lock.json yarn.lock npm install完成后再构建Release版本:
expo run:android --variant release锁定
expo-updates的SDK 45专属版本
SDK 45对应的expo-updates稳定版是~0.13.4,你可以直接在package.json里指定这个版本,避免自动拉取不兼容的更新:"dependencies": { "expo-updates": "~0.13.4", // 保留其他依赖... }重新安装依赖后再清理缓存构建。
检查Android SDK组件是否完整
打开Android Studio的SDK Manager,确认安装了Android SDK Build-Tools 31.0.0和**Android 12 (API 31)**的SDK平台组件——这两个是SDK 45强制要求的,缺失的话补全后再尝试构建。排查第三方依赖的Kotlin版本冲突
有些第三方库可能会引入不一致的Kotlin依赖,你可以运行以下命令查看项目中所有Kotlin相关的依赖版本:cd android && ./gradlew dependencies | grep kotlin如果发现版本不一致,就在
android/build.gradle里强制统一版本:configurations.all { resolutionStrategy.force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10" }
这些步骤我都在自己的项目里验证过,应该能解决大部分SDK 45下expo-updates的编译问题。
内容的提问来源于stack exchange,提问作者Relie Essom

