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

Flutter安卓端使用Firebase Storage突发AppCheck校验失败问题求助

修复步骤

  • 首先修正原生层初始化顺序,你的MainActivity中super.onCreate调用时机错误,必须先执行父类初始化再配置AppCheck,修正后的代码如下:
import android.os.Bundle
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
import io.flutter.embedding.android.FlutterActivity

class MainActivity : FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        FirebaseApp.initializeApp(this)
        val firebaseAppCheck = FirebaseAppCheck.getInstance()
        firebaseAppCheck.installAppCheckProviderFactory(
                DebugAppCheckProviderFactory.getInstance())
    }
}
  • 升级低版本依赖,你用的16.0.0-beta01是早期测试版,存在大量已知问题,将app/build.gradle中的依赖替换为最新稳定版:
dependencies {
  implementation 'com.google.firebase:firebase-appcheck-debug:17.1.0'
}

同时升级pubspec.yaml中firebase_app_check插件到官方最新正式版。

  • 排查日志输出问题,国内多数安卓系统默认屏蔽第三方应用的Debug级日志:
    1. 进入手机开发者选项,开启对应应用的日志输出权限(小米、华为等机型需要单独配置)
    2. 运行以下adb命令直接过滤调试密钥日志:
    adb logcat | grep DebugAppCheckProvider
    
  • 拿到调试密钥后,进入Firebase控制台AppCheck页面,找到对应安卓应用添加调试密钥,配置完成后等待3-5分钟生效。
  • 排查网络问题,日志中的SSL连接重置说明本地网络拦截了Firebase请求,建议关闭代理、VPN后测试,或者切换到不同的网络环境重试。

疑问解答

你看到的Firestore有AppCheck请求记录、Storage没有记录的原因是:AppCheck校验在请求到达具体服务之前就已经失败,没有生成有效令牌的请求不会进入Storage的校验统计环节,Firestore的记录是AppCheck服务本身的请求统计。
即使你没有手动开启AppCheck强制校验,Firebase近期对异常流量的检测机制会对可疑请求临时触发AppCheck校验,这就是你之前正常运行突然报错的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:45:03