React Native安卓编译报错:无法解析twilio-video-webrtc相关依赖
我之前在集成Twilio视频模块到React Native Android项目时,也碰到过一模一样的依赖报错,折腾了好一阵才搞定,大概率是SDK版本不兼容或者依赖冲突搞的鬼,试试下面这几个办法:
统一Android Support Library版本
先打开项目根目录下的build.gradle(注意不是app子模块里的那个),找到ext配置块,确保里面定义的supportLibVersion是一个所有依赖都能兼容的稳定版本,比如28.0.0:ext { buildToolsVersion = "30.0.2" minSdkVersion = 21 compileSdkVersion = 30 targetSdkVersion = 30 supportLibVersion = "28.0.0" }接着去app模块的
build.gradle里,确保所有涉及Android Support库的依赖都引用这个统一版本,避免不同依赖拉取不同版本导致冲突。强制指定support-annotations版本
如果统一版本后还是报错,可以直接在app模块的dependencies块里强制添加指定版本的依赖:dependencies { // 其他项目依赖... implementation 'com.android.support:support-annotations:28.0.0' }要是你的项目已经迁移到AndroidX了,记得换成对应的AndroidX注解库:
implementation 'androidx.annotation:annotation:1.3.0'排查并排除冲突依赖
有时候是Twilio模块内部依赖了旧版本的Support库导致的冲突,你可以在项目根目录运行这个命令查看完整的依赖树:./gradlew app:dependencies找到哪个依赖拉取了有问题的
support-annotations版本后,在app模块的build.gradle里给Twilio模块添加排除规则:implementation project(':react-native-twilio-video-webrtc') { exclude group: 'com.android.support', module: 'support-annotations' }排除后再添加你统一的注解库依赖即可。
清理缓存后重新构建
做完上面的调整后,一定要清理缓存避免残留问题:- 运行
./gradlew clean清理gradle缓存 - 删除项目根目录的
node_modules文件夹,重新执行npm install或yarn install - 最后重新编译你的React Native项目
- 运行
另外,如果你的项目已经迁移到AndroidX,记得在gradle.properties里开启兼容配置,确保所有依赖都能自动适配AndroidX:
android.useAndroidX=true android.enableJetifier=true
内容的提问来源于stack exchange,提问作者Antoine Auffray

