React Native Vision Camera安装失败:Gradle依赖解析错误求助
React Native Vision Camera 构建失败解决方案
核心问题分析
- 相机库冲突:项目同时依赖
react-native-camera和react-native-vision-camera,两者均为相机功能库,存在依赖冲突风险。 - Gradle变种匹配失败:
react-native-camera包含general和mlkit两种产品变种,Gradle无法自动选择;同时你的App配置了store变种为play,导致变种属性不匹配。 - Gradle插件版本不兼容:顶级
build.gradle中使用的Gradle插件版本(2.3.0)过于老旧,与React Native 0.72.6要求的版本严重不符。
解决方案步骤
方案1:明确指定react-native-camera的变种
在android/app/build.gradle的defaultConfig块中添加针对react-native-camera的变种策略,二选一即可:
defaultConfig { // ... 保留原有配置 missingDimensionStrategy 'store', 'play' // 选择general变种(基础相机功能) missingDimensionStrategy 'react-native-camera', 'general' // 或选择mlkit变种(集成MLKit功能) // missingDimensionStrategy 'react-native-camera', 'mlkit' }
方案2:移除不必要的react-native-camera依赖
如果实际使用的是react-native-vision-camera而非react-native-camera,直接清理冗余依赖:
- 从
package.json中删除"react-native-camera": "^4.2.1" - 执行依赖安装命令:
npm install # 或 yarn install
- 清理Android构建缓存:
cd android && ./gradlew clean
方案3:修复Gradle插件版本不匹配
将顶级android/build.gradle中的Gradle插件版本更新为错误提示中兼容的7.4.2版本:
buildscript { // ... 保留原有配置 dependencies { // 替换旧版本为兼容版本 classpath("com.android.tools.build:gradle:7.4.2") classpath("com.facebook.react:react-native-gradle-plugin") } }
报错信息中文翻译
信息:启动JS服务器... 信息:安装应用... 配置项目 :react-native-vision-camera [VisionCamera] 检测到react-native-worklets-core,启用帧处理器! 构建中使用了已废弃的Gradle特性,导致无法兼容Gradle 9.0。 你可以使用 '--warning-mode all' 查看具体的废弃警告,判断是来自你的脚本还是插件。 5个可执行任务:5个已是最新 提示:确保你已正确配置开发环境,可运行react-native doctor检查。 失败:构建出现异常。 * 错误原因: 无法确定任务 ':app:compileDebugJavaWithJavac' 的依赖项。 > 无法解析配置 ':app:debugCompileClasspath' 的所有任务依赖。 > 无法解析项目 ':react-native-camera'。 > 被以下项目依赖: > project :app > > 消费者配置要求找到一个编译时可用、优先针对Android优化的组件,同时需要属性 'com.android.build.api.attributes.BuildTypeAttr' 值为 'debug',属性 'com.android.build.api.attributes.ProductFlavor:store' 值为 'play',属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2'。但无法在项目 ':react-native-camera' 的以下变种中做出选择: > - generalDebugApiElements > - mlkitDebugApiElements > 这些变种都匹配消费者的部分属性: > - 变种 'generalDebugApiElements' 提供编译时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2',属性 'com.android.build.api.attributes.BuildTypeAttr' 值为 'debug': > - 不匹配的属性: > - 提供属性 'com.android.build.api.attributes.ProductFlavor:react-native-camera' 值为 'general',但消费者未要求 > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 提供属性 'com.android.build.gradle.internal.attributes.VariantAttr' 值为 'generalDebug',但消费者未要求 > - 未说明是否针对Android优化(消费者优先需要) > - 提供属性 'react-native-camera' 值为 'general',但消费者未要求 > - 变种 'mlkitDebugApiElements' 提供编译时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2',属性 'com.android.build.api.attributes.BuildTypeAttr' 值为 'debug': > - 不匹配的属性: > - 提供属性 'com.android.build.api.attributes.ProductFlavor:react-native-camera' 值为 'mlkit',但消费者未要求 > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 提供属性 'com.android.build.gradle.internal.attributes.VariantAttr' 值为 'mlkitDebug',但消费者未要求 > - 未说明是否针对Android优化(消费者优先需要) > - 提供属性 'react-native-camera' 值为 'mlkit',但消费者未要求 > 以下变种也被考虑但不符合要求: > - 变种 'generalReleaseApiElements' 提供编译时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2': > - 不兼容原因:该组件的 'com.android.build.api.attributes.BuildTypeAttr' 属性值为 'release',而消费者需要 'debug' > - 其他兼容属性: > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 未说明是否针对Android优化(消费者优先需要) > - 变种 'generalReleaseRuntimeElements' 提供运行时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2': > - 不兼容原因:该组件的 'com.android.build.api.attributes.BuildTypeAttr' 属性值为 'release',而消费者需要 'debug' > - 其他兼容属性: > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 未说明是否针对Android优化(消费者优先需要) > - 变种 'mlkitReleaseApiElements' 提供编译时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2': > - 不兼容原因:该组件的 'com.android.build.api.attributes.BuildTypeAttr' 属性值为 'release',而消费者需要 'debug' > - 其他兼容属性: > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 未说明是否针对Android优化(消费者优先需要) > - 变种 'mlkitReleaseRuntimeElements' 提供运行时组件,属性 'com.android.build.api.attributes.AgpVersionAttr' 值为 '7.4.2': > - 不兼容原因:该组件的 'com.android.build.api.attributes.BuildTypeAttr' 属性值为 'release',而消费者需要 'debug' > - 其他兼容属性: > - 未提供属性 'com.android.build.api.attributes.ProductFlavor:store'(消费者要求 'play') > - 未说明是否针对Android优化(消费者优先需要) * 建议: > 使用 --stacktrace 选项查看堆栈跟踪。 > 使用 --info 或 --debug 选项获取更多日志输出。 > 使用 --scan 选项获取完整分析报告。 构建失败,耗时45秒 错误:安装应用失败。 信息:使用 --verbose 标志运行CLI获取更多详情。
内容的提问来源于stack exchange,提问作者Mohammad Rawashdeh
相关产品推荐
相关产品推荐

