You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决移除play-services-safetynet警告并完成应用发布?

解决Play SafetyNet警告及应用审核停滞问题

一、定位隐藏的SafetyNet依赖来源

你已经排除了firebase-auth的SafetyNet,但仍有第三方依赖可能偷偷引入play-services-safetynet:18.0.0。先在Android项目目录下执行命令排查完整依赖树:

./gradlew app:dependencies

搜索safetynet关键词,找到具体引入该依赖的包。从你的Flutter依赖清单看,firebase_app_check: ^0.0.6+18是高风险来源——旧版本Firebase App Check默认依赖SafetyNet Attestation,而非Play Integrity。

二、彻底移除SafetyNet并完成Play Integrity迁移

  1. 升级Firebase核心依赖
    把firebase_app_check及其他Firebase依赖升级到最新稳定版,新版App Check默认适配Play Integrity,同时同步升级Firebase BOM版本避免冲突:

    # pubspec.yaml 更新部分依赖
    firebase_core: ^2.15.0
    firebase_auth: ^4.10.0
    cloud_firestore: ^4.8.3
    firebase_messaging: ^14.6.5
    firebase_app_check: ^0.2.1+10
    
  2. 全局排除SafetyNet依赖
    在android/app/build.gradle中添加全局排除规则,确保没有任何依赖能引入SafetyNet:

    dependencies {
        // 全局排除play-services-safetynet
        configurations.all {
            exclude group: 'com.google.android.gms', module: 'play-services-safetynet'
        }
    
        implementation 'androidx.appcompat:appcompat:1.0.2'   
        testImplementation 'junit:junit:4.12'
        implementation platform('com.google.firebase:firebase-bom:32.3.1') // 升级至最新BOM
        implementation 'com.google.firebase:firebase-core'
        implementation 'com.google.firebase:firebase-auth'
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.android.play:integrity:1.1.0' // 升级Play Integrity版本
        // 其他原有依赖...
    }
    
  3. 替换代码中的SafetyNet调用逻辑
    检查Flutter代码中Firebase App Check的初始化代码,将旧的SafetyNet提供者替换为Play Integrity:

    // 正确的Firebase App Check初始化代码
    await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: '你的Web端reCAPTCHA密钥',
      androidProvider: AndroidProvider.playIntegrity, // 此处指定为Play Integrity
    );
    

三、清理缓存并重新构建

执行以下命令彻底清理旧依赖缓存,确保新配置生效:

flutter clean
cd android && ./gradlew clean
cd .. && flutter pub get
flutter build appbundle --release

四、推进审核进度

完成上述操作后若仍卡在审核,直接在Play Console的帮助与支持提交工单:

  • 明确说明已完全迁移至Play Integrity API,移除所有SafetyNet相关依赖
  • 附上./gradlew app:dependencies的输出截图(证明无play-services-safetynet依赖)
  • 声明应用未调用任何SafetyNet相关API

内容的提问来源于stack exchange,提问作者Doing Things Occasionally

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 09:18:35