React Native项目因Fabric SDK版本问题遭Play商店拒绝,如何修复?
解决React Native项目中Fabric SDK导致Google Play拒绝的问题
彻底清除旧Fabric依赖
- 打开
android/build.gradle,删掉所有Fabric相关的classpath配置,比如classpath 'io.fabric.tools:gradle:x.x.x' - 打开
android/app/build.gradle,移除apply plugin: 'io.fabric'这行,同时删掉io.fabric.sdk.android:fabric相关的依赖 - 删掉项目里的
fabric.properties等Fabric配置文件
- 打开
强制升级到指定的Firebase Crashlytics版本
- 在
android/build.gradle中,把Crashlytics Gradle插件更新到对应版本:dependencies { // 其他classpath... classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' } - 在
android/app/build.gradle中,替换旧依赖为指定版本:implementation 'com.google.firebase:firebase-crashlytics:18.4.0' - 确保应用的是Google官方的Crashlytics插件:
apply plugin: 'com.google.firebase.crashlytics'(别再用Fabric的插件了)
- 在
清理缓存并重构项目
- 进入android目录执行
./gradlew clean,彻底清掉Gradle缓存 - 回到项目根目录运行
react-native run-android重新构建 - 执行
cd android && ./gradlew app:dependencies,搜索io.fabric,确认没有任何残留依赖
- 进入android目录执行
排查第三方库的间接依赖
- 有些第三方RN库可能偷偷依赖了旧Fabric,通过
./gradlew app:dependencies找出这些库 - 要么升级这些库到最新版,要么在依赖里排除Fabric:
implementation('有问题的第三方库') { exclude group: 'io.fabric.sdk.android', module: 'fabric' }
- 有些第三方RN库可能偷偷依赖了旧Fabric,通过
验证构建产物
- 生成APK/AAB后,用Android Studio的APK Analyzer打开,检查是否还有Fabric相关的类或资源
- 确认项目里的Crashlytics初始化代码用的是Firebase的方式,不是旧Fabric的初始化逻辑
内容的提问来源于stack exchange,提问作者MZiyad
相关产品推荐
相关产品推荐

