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

Flutter集成Amplitude后Android端崩溃,报MissingPluginException

解决Flutter集成Amplitude后Android端MissingPluginException崩溃问题
  • 更新插件版本
    执行命令升级到最新稳定版:

    flutter pub upgrade amplitude_flutter
    
  • 清理缓存并重建项目
    依次执行以下命令清除旧构建缓存:

    flutter clean
    flutter pub get
    flutter run
    

    若仍有问题,可手动删除android/.gradle文件夹后再重新执行上述命令。

  • 检查后台调用限制
    Amplitude插件无法在Flutter的后台隔离区域(如Firebase的_firebaseMessagingBackgroundHandler)中使用,因为该区域未初始化插件通道。检查你的AnalyticsService,确保所有Amplitude相关调用仅在前台执行,避免在后台消息处理等隔离函数中触发。

  • 手动注册插件(针对特殊场景)
    如果自动注册失效,在Android的MainActivity中手动注册Amplitude插件:
    对于Kotlin(MainActivity.kt):

    import com.amplitude.flutter.AmplitudeFlutterPlugin
    import io.flutter.embedding.engine.plugins.FlutterPlugin
    
    class MainActivity : FlutterActivity() {
        override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
            super.configureFlutterEngine(flutterEngine)
            flutterEngine.plugins.add(AmplitudeFlutterPlugin())
        }
    }
    

    对于Java(MainActivity.java):

    import com.amplitude.flutter.AmplitudeFlutterPlugin;
    import io.flutter.embedding.engine.plugins.FlutterPlugin;
    
    public class MainActivity extends FlutterActivity {
        @Override
        public void configureFlutterEngine(FlutterEngine flutterEngine) {
            super.configureFlutterEngine(flutterEngine);
            flutterEngine.getPlugins().add(new AmplitudeFlutterPlugin());
        }
    }
    
  • 配置ProGuard规则(若启用混淆)
    如果Android项目启用了代码混淆,在android/app/proguard-rules.pro中添加以下规则,防止Amplitude插件类被混淆移除:

    -keep class com.amplitude.** { *; }
    -keep class com.amplitude.flutter.** { *; }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:22:37