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

Flutter物体检测应用运行报错:tflite插件与Android嵌入兼容问题

Flutter tflite v1.0.4 插件兼容问题排查

问题根源大概率是tflite v1.0.4插件本身未适配Flutter新的Android嵌入版本

tflite v1.0.4是较早的版本,开发时针对的是Flutter旧版Android嵌入(v1嵌入)。当你按照官方指南将项目迁移到新的v2嵌入后,插件内部调用的旧嵌入API在新环境中已被移除或变更,直接导致运行时触发java.lang.NoSuchMethodError异常,最终出现设备连接丢失的错误。

以下是具体的验证和解决步骤:

  • 验证插件版本兼容性
    tflite v1.0.4之后的版本已完成v2嵌入适配,建议直接升级到最新兼容版本(比如v2.x及以上),这是最彻底的解决方式。

  • 确认v2嵌入配置是否到位
    检查你的Android配置是否完全符合v2嵌入要求:

    1. AndroidManifest.xml中,应用的android:name需设置为${applicationName},同时在gradle.properties中配置flutter.applicationName=io.flutter.app.FlutterApplication(或自定义的继承类)
    2. MainActivity.java需继承自io.flutter.embedding.android.FlutterActivity,代码示例:
      package com.your.package;
      
      import io.flutter.embedding.android.FlutterActivity;
      
      public class MainActivity extends FlutterActivity {
      }
      
      无需手动重写onCreate等初始化方法,v2嵌入会自动处理。
  • 临时回退方案(若必须使用v1.0.4)
    如果暂时无法升级插件,可将项目回退到v1嵌入:

    1. 修改AndroidManifest.xml的android:name为io.flutter.app.FlutterApplication
    2. 修改MainActivity.java继承自io.flutter.app.FlutterActivity,保留旧的初始化逻辑
    3. 在gradle.properties中添加flutter.androidEmbeddingVersion=1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:07:13