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

如何在Flutter应用中升级SafetyNet版本以解决Google发布警告?

解决方案

1. 定位问题依赖来源

先确认是哪个间接依赖引入了有问题的play-services-safetynet:17.0.0:

  • 在项目根目录执行命令:
    ./gradlew app:dependencies
    
  • 或者打开Android Studio,通过File > Project Structure > Dependencies搜索safetynet,查看完整引用链。

2. 强制升级SafetyNet版本(临时解决发布拦截)

在app/build.gradle的dependencies块中添加强制依赖,直接覆盖到无问题的版本:

dependencies {
    // 保留原有依赖
    implementation('com.google.android.gms:play-services-safetynet:18.0.0') {
        force = true
    }
}

3. 迁移到Play Integrity API(长期适配方案)

3.1 升级Firebase与Google登录依赖

你的firebase_core、firebase_auth和google_sign_in版本偏旧,新版本已适配Play Integrity替代SafetyNet:
修改pubspec.yaml中的依赖版本:

firebase_core: ^2.15.0
firebase_auth: ^4.10.0
google_sign_in: ^6.1.5

执行命令更新依赖:

flutter pub upgrade

3.2 替换SafetyNet相关代码(若有直接调用)

如果你的业务代码中直接使用了SafetyNet Attestation API,需要替换为Play Integrity的验证逻辑:

  • 删除原有SafetyNet调用代码
  • 在Google Cloud控制台启用Play Integrity API,添加对应依赖后,实现设备完整性验证逻辑

4. 清理并重新构建项目

执行以下命令确保依赖更新生效:

flutter clean
flutter pub get
flutter build appbundle # 或根据需求执行 flutter build apk

内容的提问来源于stack exchange,提问作者ahmad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 15:48:22