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

Flutter运行出现PlatformException报错,由Firebase Performance引起如何修复

报错原因

该报错是firebase_performance插件的已知版本兼容问题,触发场景为Flutter热重载/重启时,插件未正确销毁上一次运行创建的方法通道句柄,原生Android端重复注册相同ID的句柄时抛出了非法参数异常。由于该异常不阻塞主业务线程执行,因此不会影响应用的正常功能。

解决方案
  • 优先升级插件版本:将pubspec.yaml中firebase_performance依赖升级到0.9.0及以上的官方稳定版,该版本已经修复了句柄重复注册的缺陷。升级后执行flutter clean、flutter pub get重新构建项目即可解决绝大多数场景的报错。
  • 版本兼容受限场景临时规避:如果项目依赖约束无法升级高版本插件,可以在初始化Firebase前添加异常捕获逻辑,避免未处理异常抛出:
import 'package:flutter/foundation.dart';
import 'package:firebase_performance/firebase_performance.dart';
import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 调试阶段清理旧实例避免冲突
  if (kDebugMode) {
    try {
      await FirebasePerformance.instance.setPerformanceCollectionEnabled(false);
    } catch (e) {
      // 忽略句柄不存在的异常
    }
  }
  await Firebase.initializeApp();
  // 按需开启性能采集,调试阶段可关闭避免报错
  FirebasePerformance.instance.setPerformanceCollectionEnabled(!kDebugMode);
  runApp(const MyApp());
}
  • 同步原生端插件版本:如果升级Flutter端插件后仍有报错,检查Android项目app/build.gradle中的Firebase Performance Gradle插件版本,与Flutter插件要求的版本保持一致,避免跨端版本不兼容导致的句柄冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:36:02