Expo SDK 52集成react-native-twilio-video-webrtc安卓构建报错求助
解决Expo SDK 52 + react-native-twilio-video-webrtc的Gradle重复类错误
获取完整Gradle构建堆栈跟踪
- 重新运行构建时添加
--debug参数,输出更详细的错误日志:eas build --profile development --platform android --debug - 也可以先预生成Android项目,用本地Gradle命令查看完整堆栈:
这样能看到具体重复的类名,以及这些类的依赖引入路径。npx expo prebuild --platform android cd android ./gradlew clean checkDebugDuplicateClasses --stacktrace
定位react-native-twilio-video-webrtc的依赖冲突
- 打开
node_modules/react-native-twilio-video-webrtc/android/build.gradle,检查是否直接声明了com.android.support:support-compat:27.1.0,或是有依赖会传递引入这个包。 - 生成依赖树分析传递依赖:
在cd android ./gradlew app:dependencies > dependencies.txtdependencies.txt中搜索support-compat或androidx.core:core,找到冲突的依赖链。
用patch-package修复冲突
修改
node_modules/react-native-twilio-video-webrtc/android/build.gradle:- 如果该依赖直接使用了
com.android.support:support-compat,替换为对应AndroidX版本:dependencies { // 替换原support-compat依赖 implementation 'androidx.core:core:1.13.1' } - 如果是传递依赖引入的,直接排除
support-compat:dependencies { implementation('com.twilio:twilio-video-android:x.x.x') { exclude group: 'com.android.support', module: 'support-compat' } } - 确认项目
android/gradle.properties已开启AndroidX和Jetifier(Expo SDK 52默认已配置):android.useAndroidX=true android.enableJetifier=true
- 如果该依赖直接使用了
生成补丁文件:
npx patch-package react-native-twilio-video-webrtc项目根目录会生成
patches/react-native-twilio-video-webrtc+[版本号].patch文件。配置自动应用补丁:
在package.json的scripts中添加:"postinstall": "patch-package"确保其他开发者安装依赖后自动应用补丁。
验证修复
- 重新运行EAS构建:
eas build --profile development --platform android - 也可以先本地构建验证:
cd android ./gradlew assembleDebug
内容的提问来源于stack exchange,提问作者David Leuliette
相关产品推荐
相关产品推荐

