React Native中react-native-camera安卓构建报错求助
我之前踩过react-native-camera这个link的坑!你遇到的这个「package org.reactnative.camera does not exist」错误,大多是自动link没把配置加全,或者缓存搞的鬼,试试下面这些步骤:
解决方案
1. 手动检查并补全Android配置
自动link有时候会抽风,咱们手动确认关键配置:
- MainApplication.java:打开
android/app/src/main/java/com/[你的项目名]/MainApplication.java- 如果
import org.reactnative.camera.RNCameraPackage;报错,先确认这个包是不是真的在node_modules/react-native-camera/android/src/main/java/org/reactnative/camera/路径下存在(如果不存在,说明npm install没装成功,先重新执行npm install) - 然后在
getPackages()方法里,确保添加了new RNCameraPackage(),比如:@Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); // 手动添加这一行 packages.add(new RNCameraPackage()); return packages; }
- 如果
- settings.gradle:打开
android/settings.gradle,确认有这两行:include ':react-native-camera' project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android') - app/build.gradle:在
dependencies块里添加:implementation project(':react-native-camera')
2. 清理缓存,重新构建
缓存经常是罪魁祸首,执行以下命令:
# 清理Android构建缓存 cd android && ./gradlew clean # 回到项目根目录,重置RN缓存 cd .. && react-native start --reset-cache # 重新安装依赖(可选,但更保险) rm -rf node_modules package-lock.json npm install
3. 检查版本兼容性
如果上面的步骤都没用,可能是react-native-camera和你的React Native版本不匹配:
- 打开
package.json,看看react-native和react-native-camera的版本,比如RN 0.60+需要react-native-camera的v3+版本,RN 0.59及以下可能需要旧版本 - 尝试升级或降级react-native-camera:
之后再重新检查配置,RN0.60+可以不用手动执行link,自动处理即可# 升级到最新版 npm install react-native-camera@latest --save # 或者降级到适配你RN版本的版本,比如RN0.59用v2.11.0 npm install react-native-camera@2.11.0 --save
做完这些步骤,再跑react-native run-android应该就能解决了!
内容的提问来源于stack exchange,提问作者RottenCheese
相关产品推荐
相关产品推荐

