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

未使用传感器插件却遇setAccelerationSamplingPeriod方法缺失错误求助

问题描述

调试控制台出现以下错误,Firebase Crashlytics也收到该错误上报,未使用任何传感器插件,且已尝试flutter clean、pub get、重启/重装应用等操作,问题仍存在:

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled
Exception: MissingPluginException(No implementation found for method
setAccelerationSamplingPeriod on channel
dev.fluttercommunity.plus/sensors/method) E/flutter (20167): #0
MethodChannel._invokeMethod
(package:flutter/src/services/platform_channel.dart:308:7)
解决方案
  • 排查间接依赖的传感器插件:执行flutter pub deps命令,在输出中搜索sensors或sensors_plus,找到间接引入该插件的依赖包。很多第三方库(如广告、分析类SDK)会隐性依赖传感器相关插件。
  • 强制排除不必要的依赖:在pubspec.yaml中添加dependency_overrides,阻止传感器插件被安装:
    dependency_overrides:
      sensors_plus: ^0.0.0
    
    若检测到的是旧版sensors插件,替换为sensors: ^0.0.0即可。
  • 拦截MethodChannel调用:如果无法定位依赖来源,可在App初始化时注册对应通道并做空实现,避免抛出异常:
    import 'package:flutter/services.dart';
    
    void main() {
      MethodChannel('dev.fluttercommunity.plus/sensors/method').setMethodCallHandler((call) async {
        if (call.method == 'setAccelerationSamplingPeriod') {
          return null;
        }
        throw MissingPluginException();
      });
      runApp(MyApp());
    }
    
  • 深度清理构建缓存:删除ios/Podfile.lock、android/.gradle文件夹,重新执行flutter pub get;iOS端额外执行pod install,Android端同步Gradle后再重新构建应用。
  • 检查Firebase集成:更新Firebase相关依赖到最新稳定版,检查初始化代码中是否开启了与传感器相关的不必要功能,部分Firebase扩展可能会触发此类调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:42:16