Android TensorFlow Lite 2.9.0 AAR引入后InterpreterAPI类缺失问题求助
解决TensorFlow Lite 2.9.0 AAR引入时「org.tensorflow.lite.InterpreterApi not found」错误
问题根源
TensorFlow Lite从2.8.0版本开始,把核心API抽离到了单独的tensorflow-lite-api模块中,Interpreter类继承自InterpreterApi。你只引入了主tensorflow-lite的AAR,缺少这个依赖模块,所以编译时找不到对应的类文件。2.7.0及以下版本没做模块拆分,因此能正常运行。
解决步骤
- 下载与2.9.0版本完全匹配的
tensorflow-lite-apiAAR文件,版本必须和你之前下载的tensorflow-liteAAR保持一致。 - 将这个AAR文件复制到Android项目的
libs目录下,和已有的tensorflow-lite-2.9.0.aar放在一起。 - 在模块级的
build.gradle文件中,确保同时引入这两个AAR:dependencies { implementation files('libs/tensorflow-lite-2.9.0.aar') implementation files('libs/tensorflow-lite-api-2.9.0.aar') // 其他项目依赖... } - 点击Android Studio的「Sync Project with Gradle Files」按钮,同步项目后重新构建。
额外检查
如果同步后仍有问题,可确认以下几点:
- 两个AAR的版本必须严格一致,不能出现版本不匹配的情况。
- 执行
Build > Clean Project清理项目缓存后再重新构建,避免缓存导致的异常。 - 你的代码中
Interpreter的初始化方式在2.9.0版本仍可正常使用,若后续遇到构造函数过期提示,可改用带Interpreter.Options的重载方法:interpreter = new Interpreter(loadModelFile(), new Interpreter.Options());
内容的提问来源于stack exchange,提问作者Madi TechApps
相关产品推荐
相关产品推荐

