Android NDK 应用程序(本机 lib .so)在硬件上加载但无法在模拟器上找到

问题描述 投票:0回答:0

我正在使用 android studio 中记录的方法为 android API24 构建 tensorflow-lite。 CMakeLists.txt 和 build.gradle 等构建文件都没有改变。

tflow-lite java 应用程序的 System.loadlibrary('libnative-lib.so') 调用可以在手机硬件上运行,但是当我尝试在模拟器上运行它时,出现错误:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.whisper.android.tflitecpp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.whisper.android.tflitecpp-1/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libnative-lib.so"

我检查了 .so 文件,时间戳表明

libnative-lib.so
正在为模拟器构建,就像为硬件构建一样。

我还尝试在相同的 API24 级别构建 android 演示应用程序“hello world”,它可以在手机和模拟器上运行。

我在 logcat 中搜索了“libnative”,但除了上面的错误,它没有给我任何进一步的信息。是否有任何指导如何更好地搜索 logcat?

我不知所措地理解 tensorflow-lite 构建如何在模拟器上找不到 libnative-lib.so 文件,任何想法表示赞赏!

android-ndk android-emulator tensorflow-lite
© www.soinside.com 2019 - 2024. All rights reserved.