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

Flutter中Tflite插件MissingPluginException问题求助

解决Flutter Tflite MissingPluginException(找不到loadModel方法)问题

解决方案步骤

  • 重新链接插件并清理项目
    执行以下命令彻底清理并重新加载依赖:

    flutter clean
    flutter pub get
    

    之后重启IDE(VSCode/Android Studio),卸载模拟器中的旧应用,重新编译安装。

  • 配置Android端build.gradle
    打开android/app/build.gradle文件,完成以下检查和配置:

    1. 确保minSdkVersion不低于21(Tflite插件最低要求):
      defaultConfig {
          minSdkVersion 21
          // 其他原有配置...
      }
      
    2. 添加NDK架构过滤声明:
      defaultConfig {
          // 其他原有配置...
          ndk {
              abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
          }
      }
      
    3. 确认compileSdkVersion和targetSdkVersion设置为33或更高版本,保证与插件兼容性。
  • 正确声明Assets资源
    你提供的pubspec.yaml缺少Assets资源声明,这会导致模型文件无法被打包到应用中,甚至引发插件加载异常。在pubspec.yaml的flutter节点下添加:

    flutter:
      uses-material-design: true
      # 声明模型与标签文件
      assets:
        - assets/asd.tflite
        - assets/label.txt
    

    添加后执行flutter pub get使配置生效。

  • 调整Tflite初始化时机
    调用loadModel前需确保Flutter的WidgetsBinding已完成初始化,修改页面的initState方法:

    @override
    void initState() {
      super.initState();
      // 等待UI框架初始化完成后加载模型
      WidgetsBinding.instance.addPostFrameCallback((_) async {
        await loadModel();
      });
    }
    
  • 升级Tflite插件版本
    当前使用的tflite: ^1.1.2版本较旧,可能存在兼容性问题。尝试升级到最新稳定版,修改pubspec.yaml中的依赖:

    tflite: ^1.1.3
    

    执行flutter pub get更新依赖。

额外检查点

  • 确认项目根目录下存在assets文件夹,且asd.tflite和label.txt的路径、文件名大小写与代码完全一致(Android系统对文件名大小写敏感)。
  • 若使用Android Studio,可点击File -> Invalidate Caches...清除缓存后重启IDE,再重新编译项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:42:42