Expo 49升级后Android构建失败:找不到androidx.core:core-ktx:1.8.10
解决Expo 49升级后Android构建找不到androidx.core:core-ktx:1.8.10的问题
针对你升级Expo 49后构建Android签名APK/AAB时遇到的dimaportenko_react-native-shadow-view依赖解析错误,可尝试以下方案:
1. 强制统一core-ktx版本
在项目根目录的android/build.gradle中添加版本强制策略,确保所有模块使用可正常解析的core-ktx版本:
allprojects { repositories { // 保留原有仓库配置(google()、mavenCentral()等) } configurations.all { resolutionStrategy { // 替换为稳定存在的版本,比如1.8.0(1.8.10可能为非稳定/未发布版本) force 'androidx.core:core-ktx:1.8.0' } } }
2. 更新或替换问题依赖库
dimaportenko_react-native-shadow-view可能未适配Expo 49对应的React Native 0.72版本:
- 检查该库的npm页面,确认是否有适配RN 0.72的更新版本,若有则升级至对应版本
- 若无更新,考虑替换为维护活跃的替代库,例如
react-native-shadow-2
3. 验证Gradle配置完整性
确保android/build.gradle中Kotlin版本配置和仓库配置正确:
buildscript { ext { kotlinVersion = '1.8.10' // 其他原有配置(minSdkVersion、targetSdkVersion等) } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" // 其他构建依赖 } } allprojects { repositories { google() mavenCentral() // 其他必要仓库 } }
4. 清理缓存后重新构建
执行以下命令清理项目缓存并重新安装依赖:
# 清理Gradle缓存 ./gradlew clean # 清理Node依赖缓存 rm -rf node_modules rm package-lock.json yarn.lock npm install # 若为Expo managed转bare或bare workflow,重新生成Android配置 npx expo prebuild --clean
完成后再次尝试构建签名包。
5. 用patch-package修改库依赖(临时方案)
若无法替换或升级库,可通过patch-package修改其依赖配置:
- 找到
node_modules/dimaportenko_react-native-shadow-view/android/build.gradle - 将其中的
androidx.core:core-ktx:1.8.10替换为androidx.core:core-ktx:1.8.0 - 运行
npx patch-package dimaportenko_react-native-shadow-view生成补丁,确保后续依赖安装保留修改
内容的提问来源于stack exchange,提问作者TreyBCollier
相关产品推荐
相关产品推荐

