Flutter tflite包是否有新版本?构建报错及替代方案咨询
问题解决与替代方案
关于tflite包的版本情况
pub上的tflite:1.1.2确实已18个月未更新,它依赖的**旧版Android嵌入(v1嵌入)**已被Flutter官方废弃,无法兼容Android 12+和新版Flutter的Gradle配置,这正是你遇到构建报错的核心原因。目前该包没有官方更新版本。
运行Google Teachable Machine模型的替代方案
Teachable Machine导出的是标准TensorFlow Lite模型,以下是可行的替代方案:
1. 使用官方tflite_flutter包
这是TensorFlow官方维护的Flutter插件,完全支持新版Android嵌入,兼容Android 12+,且更新活跃。
- 可以直接加载Teachable Machine导出的
.tflite模型和标签文件,通过API完成推理。 - 需要注意匹配模型的输入输出张量格式:Teachable Machine的图像分类模型通常输入为
224x224x3的RGB图像张量,输出为分类概率数组。
2. 使用google_mlkit_image_labeling(图像分类场景)
该包集成Google ML Kit的图像识别能力,支持加载自定义TFLite模型(包括Teachable Machine导出的模型)。
- 优势:ML Kit提供了现成的图像预处理工具,无需手动处理图像缩放、归一化等操作,降低开发成本。
3. 临时修改旧包配置(不推荐长期使用)
如果必须使用旧tflite包,可以手动修改缓存中的配置文件:
- 找到路径
C:\Users\User\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\tflite-1.1.2\android\build.gradle - 修改
android块的配置,适配新版Gradle和Android嵌入:- 确保使用
com.android.library插件,将compileSdkVersion和targetSdkVersion提升至31+ - 更新Flutter依赖的嵌入版本,替换旧的v1嵌入代码为v2格式
- 确保使用
- 缺点:每次执行
pub get都会覆盖修改,需重复操作,且存在潜在兼容性问题。
内容的提问来源于stack exchange,提问作者דור דקל
相关产品推荐
相关产品推荐

