React Native Android构建报错:无法解析react-native-video依赖
问题描述
在基于react-native@0.72.1的项目中集成react-native-video@2.3.1后,执行npm run android构建Android端时出现以下错误:
无法确定任务':app:compileDebugJavaWithJavac'的依赖项。
无法解析配置':app:debugCompileClasspath'的所有任务依赖项。无法解析项目:react-native-video。该项目被:app项目依赖,但未找到匹配的配置,消费者被配置为寻找编译时使用、针对Android优化的组件。
已尝试清理Gradle,但问题依旧,需解决以正常运行视频功能。
解决方案
1. 调整settings.gradle配置顺序
原配置中includeBuild和Native Modules脚本的应用顺序错误,导致react-native-video模块无法被正确识别。修改后的settings.gradle如下:
rootProject.name = 'newapp' includeBuild('../node_modules/@react-native/gradle-plugin') apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' include ':react-native-video' project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')
2. 移除重复依赖
android/app/build.gradle的dependencies块中重复声明了react-native-video依赖,删除其中重复的一行:
// 删除此行: // implementation(':react-native-video')
修改后的dependencies核心部分:
dependencies { implementation("com.facebook.react:react-android") implementation project(':react-native-video') // 保留其他原有依赖 implementation "androidx.appcompat:appcompat:1.0.0" implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) // ... 其余依赖内容不变 }
3. 同步版本配置
确认node_modules/react-native-video/android-exoplayer/build.gradle中的compileSdkVersion、minSdkVersion与项目根android/build.gradle中的版本一致,当前配置已匹配,无需修改。若后续出现版本不兼容,同步这些参数即可。
4. 清理并重新构建
执行以下命令完成清理和重新构建:
cd android && ./gradlew clean cd .. && npm run android
内容的提问来源于stack exchange,提问作者akpatil
相关产品推荐
相关产品推荐

