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

Flutter发布版出现FIS_AUTH_ERROR,调试版正常求解决方案

Flutter发布构建出现FIS_AUTH_ERROR(调试版本正常)

问题描述

发布构建版本执行以下代码时触发FIS_AUTH_ERROR错误,调试构建完全正常,该功能上周可正常运行:

var _deviceToken = await FirebaseMessaging.instance.getToken();

已尝试以下两种方案但未解决问题:

  • 方案1核心:检查并确保Firebase项目的SHA-1/SHA-256指纹已正确添加到Firebase控制台的应用设置中(包含发布构建的签名指纹)
  • 方案2核心:确认google-services.json(Android)或GoogleService-Info.plist(iOS)是从Firebase控制台下载的最新版本,且已正确放置在项目对应目录

额外排查与修复方案

  1. 验证发布构建签名配置
    Android端需确保build.gradle中的签名配置指向正确的发布密钥库文件,且密钥库生成的SHA指纹和Firebase控制台添加的完全一致。可通过以下命令重新生成发布指纹:

    keytool -list -v -keystore your-release-keystore.jks -alias your-alias
    

    iOS端需确认发布证书的Team ID与Firebase应用配置匹配,重新下载配置文件替换项目中的旧文件。

  2. 升级Firebase依赖版本
    尝试将firebase_messaging依赖升级到最新稳定版本,同时确保其他Firebase相关依赖版本兼容,避免版本冲突引发认证异常。

  3. 检查Firebase项目权限与API状态
    登录Firebase控制台,确认Cloud Messaging API已开启;在「项目设置」→「服务账号」中,检查当前使用的服务账号是否具备Cloud Messaging Admin等必要权限。

  4. 清理构建缓存后重新构建
    清理Flutter及原生项目的构建缓存,再重新生成发布版本:

    flutter clean
    cd android && ./gradlew clean && cd ..
    flutter build apk --release # 对应iOS可使用flutter build ios --release
    
  5. 配置混淆规则(Android)
    发布构建若开启了ProGuard/R8混淆,需在proguard-rules.pro中添加Firebase相关类的保留规则,避免核心代码被混淆:

    -keep class com.google.firebase.** { *; }
    -keep class com.google.android.gms.** { *; }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:18:10