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

原生代码使用Flutter插件报MissingPluginException如何解决

问题解决方案

你遇到的MissingPluginException是Flutter混编add-to-app场景下的典型问题,核心原因分两类:FlutterFragment创建流程不对导致插件未自动注册,以及device_info_plus需要的Android编译配置缺失,按下面步骤操作即可修复:

1. 修复FlutterFragment的插件注册逻辑

很多开发者直接实例化FlutterFragment使用,会跳过官方的插件自动注册流程,按下面的方式调整:

  • 优先使用预缓存FlutterEngine的方式承载FlutterFragment,避免每次打开页面都新建引擎,同时能保证插件注册流程正常触发
  • 如果不需要预缓存引擎,必须通过官方Builder创建FlutterFragment实例,不要直接调用构造方法:
// 正确的FlutterFragment创建示例,会自动触发插件注册
val flutterFragment = FlutterFragment.withNewEngine()
    .dartEntrypoint("main")
    .build<FlutterFragment>()
  • 检查承载FlutterFragment的Activity代码,不要在configureFlutterEngine回调里手动调用方法清空插件列表,非必要不要手动修改flutterEngine.plugins的内容。

2. 补充device_info_plus对应的build.gradle配置

这个插件不需要手动引入额外依赖,但必须满足两个编译要求,否则类加载失败就会抛出插件缺失的错误:

  • 打开App模块的build.gradle文件,将minSdkVersion调整到19及以上,device_info_plus 4.0及以上版本最低支持API 19
  • 开启Java 8核心库脱糖支持,插件内部使用了JDK 8的时间类,不开启会报类找不到:
android {
    compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

dependencies {
    // 补全脱糖依赖
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}
  • 配置完成后卸载设备上已安装的旧版应用,重新全量编译安装,不要直接覆盖安装,避免旧构建缓存导致配置不生效。

3. 查询任意插件原生配置要求的通用方法

不需要到处找零散的文档,所有Flutter插件的原生配置要求都可以直接从本地缓存的插件源码里获取,路径固定:

  • 打开Flutter SDK的.pub-cache/hosted/pub.dev/目录,找到对应插件名+版本号的文件夹
  • 查看插件android目录下的build.gradle文件,里面明确标注了需要的minSdk版本、依赖项、编译选项要求
  • 查看插件根目录的README.md,如果需要额外配置AndroidManifest权限、混淆规则、初始化代码,都会在文档里明确说明
  • 如果插件有特殊初始化要求,可以查看android/src/main/kotlin下的插件主类,确认是否需要在原生Application的onCreate里提前调用初始化方法。

注意:如果你是把自研Flutter模块打包成AAR引入原生工程,直接引用Flutter模块输出的全量AAR即可,不要手动拆分引用单个插件的AAR,否则很容易出现版本不匹配、类缺失的问题。

配置完成后,可以在Flutter模块的入口函数第一行加一行device_info_plus的调用代码测试,不再抛出MissingPluginException就说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:48:23