@react-native-camera-roll/camera-roll Android构建报错:undefined包不存在
问题描述
按照官方文档安装@react-native-camera-roll/camera-roll包后,构建React Native Android应用时出现以下错误:
android\app\build\generated\rncli\src\main\java\com\facebook\react\PackageList.java:17: error: package undefined does not exist import undefined.CameraRollPackage;
当前项目核心依赖版本:
react-native: ^0.68.5@react-native-camera-roll/camera-roll: ^5.2.3
已尝试的无效操作:
- 清理Android Studio缓存
- 更新Android SDK平台工具至v34.0.3
- 执行
./gradlew clean - 手动链接/取消链接camera-roll包
解决方案
以下是针对该问题的可行修复步骤:
1. 手动配置Android项目依赖
自动链接机制可能异常,手动配置确保包被正确识别:
- 打开
android/settings.gradle,添加以下内容:include ':@react-native-camera-roll_camera-roll' project(':@react-native-camera-roll_camera-roll').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-camera-roll/camera-roll/android') - 打开
android/app/build.gradle,在dependencies块中添加:implementation project(':@react-native-camera-roll_camera-roll') - 打开
android/app/src/main/java/[你的应用包名]/MainApplication.java,修改代码:// 替换错误的import,添加正确的包路径 import com.reactnativecameraroll.CameraRollPackage; // 在getPackages()方法中手动注册包 @Override protected List<ReactPackage> getPackages() { List<ReactPackage> packages = new PackageList(this).getPackages(); packages.add(new CameraRollPackage()); return packages; }
2. 清除自动生成的错误文件
删除包含错误import的自动生成目录,重新构建:
rm -rf android/app/build/generated/rncli
执行完成后重新启动Android构建流程。
3. 修复RN CLI版本冲突
当前项目@react-native-community/cli(7.0.4)与cli-platform-ios(5.0.2)、React Native 0.68.5存在版本不兼容,降级CLI到匹配版本:
npm install @react-native-community/cli@5.0.2 --save-dev
或使用yarn:
yarn add @react-native-community/cli@5.0.2 --dev
4. 重新安装依赖
删除现有依赖和缓存文件,重新安装确保依赖完整性:
rm -rf node_modules rm package-lock.json yarn.lock npm install # 或 yarn install
内容的提问来源于stack exchange,提问作者Yurii Koshyk
相关产品推荐
相关产品推荐

