Flutter集成tflite插件遇Gradle构建错误,求修复方案
修复Flutter集成tflite时的构建失败问题
问题根源
- 你使用的
tflite:1.1.2版本过于老旧,仅支持Flutter Android V1嵌入方案,而当前Flutter项目默认采用V2嵌入,导致兼容性冲突。 - 旧版插件的Android构建脚本中使用了已废弃的
compile()依赖声明语法,新版Gradle已不再支持该方法,需替换为implementation()。
修复方案(优先推荐方案1)
方案1:升级至官方维护的新版tflite插件
旧的tflite包已停止维护,官方目前推荐使用tflite_flutter插件,操作步骤如下:
- 打开项目根目录的
pubspec.yaml,删除旧依赖tflite:1.1.2,替换为:dependencies: tflite_flutter: ^0.10.4 # 可使用最新稳定版本 - 执行
flutter pub get拉取新依赖。 - 重新运行项目即可,新版插件完全适配Android V2嵌入,且采用了Gradle最新语法,可直接解决上述两个错误。
方案2:临时修改缓存中的旧插件文件(仅应急使用,不推荐)
若暂时无法升级插件,可手动修改缓存内的构建脚本:
- 定位到错误提示中的文件路径:
C:\Users\khong\AppData\Local\Pub\Cache\hosted\pub.dev\tflite-1.1.2\android\build.gradle - 打开文件后,找到第36行的
compile 'org.tensorflow:tensorflow-lite:+',将compile替换为implementation,修改后内容为:implementation 'org.tensorflow:tensorflow-lite:+' - 同时在同一文件的
android代码块内,找到flutter配置项,添加plugin: 'com.android.application'以适配V2嵌入,示例如下:android { // 其他原有配置... flutter { source '../..' plugin: 'com.android.application' } } - 保存文件后重新执行
flutter run。
注意:此方法仅为临时解决方案,后续执行flutter pub get或清理缓存后,修改内容会被覆盖,长期来看升级插件才是稳妥选择。
内容的提问来源于stack exchange,提问作者ขวัญนภา ไทยจันทึก
相关产品推荐
相关产品推荐

