使用expo-camera@14.0.6构建Android Expo应用时compileDebugKotlin失败
解决Expo-Camera@14.0.6 Android构建编译错误
问题分析
你遇到的Kotlin编译错误(未解析的raw引用、类型不匹配、构造函数参数过多),本质是expo-camera@14.0.6与Expo 50的依赖适配问题,该版本存在已知的Android端编译bug,而iOS端未受影响。
解决步骤
1. 升级expo-camera到Expo 50兼容版本
Expo 50官方推荐的expo-camera稳定版本为14.0.10,升级后可直接修复这些编译问题:
npm install expo-camera@14.0.10 --save # 或 yarn add expo-camera@14.0.10
2. 彻底清理缓存与重建项目
执行以下命令确保无缓存残留:
- 删除依赖锁文件与node_modules:
rm -rf node_modules package-lock.json yarn.lock - 重新安装依赖:
npm install # 或 yarn install - 清理Expo预构建文件:
npx expo prebuild --clean - 清理Android构建缓存:
cd android && ./gradlew clean && cd ..
3. 确保Kotlin版本适配React Native 0.73
React Native 0.73要求Kotlin版本≥1.9.0,在android/build.gradle中确认配置:
buildscript { ext { kotlinVersion = "1.9.20" } dependencies { // 确保存在该依赖 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } }
4. 移除冲突的依赖(若存在)
如果项目中单独安装了expo-barcode-scanner,请移除它——expo-camera@14.x已内置扫码功能,单独安装会导致依赖冲突:
npm uninstall expo-barcode-scanner # 或 yarn remove expo-barcode-scanner
验证构建
完成以上步骤后,重新执行Android构建:
npx expo run:android
内容的提问来源于stack exchange,提问作者Ha Ngo
相关产品推荐
相关产品推荐

