提问者:小点点

TensorFlow AndroidScanner -找不到“libopencv_java3.so”


我在结合Tensorflow和AndroidScanner时遇到了问题。

我使用Tensorflow在摄像机画面上显示一个覆盖图。我用相机拍照,然后发送到服务器。它工作了。

现在我导入了AndroidScannerDemo,我想使用拍摄的图片并用新导入的模块对其进行裁剪/变换。它崩溃了。当我打开ScanActivity(从AndroidScannerDemo)时,它试图加载opencv,但从未成功。错误消息如下所示:

FATAL EXCEPTION: main

    Process: fr.pacifica.insurancechat.debug, PID: 2139
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/fr.pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYdkw==/base.apk"],nativeLibraryDirectories=[/data/app/fr.pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYdkw==/lib/arm64, /data/app/fr.pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYdkw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libopencv_java3.so"
    at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
    at java.lang.System.loadLibrary(System.java:1657)
    at com.scanlibrary.ScanActivity.(ScanActivity.java:125)
    at java.lang.Class.newInstance(Native Method)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1190)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2837)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3046)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6809)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

当我从gradle/code中删除TensorFlow引用时,导入的模块工作得很好。


共2个答案

匿名用户

导入的项目仅生成 32 位版本的 libScanner.so,因此仅使用 32 位版本的 libopencv_java3.so。在短期内,您可以保留它,仅设置

android {
  defaultConfig {
    ndk {
      abiFilters 'armeabi-v7a'
    }
  }
}

这将导致您的APK在arm64设备上以32位模式运行。

从长远来看,您也应该更新Scanner库以内置64位。这可能会显著提高性能。

从 2019 年 8 月起,Play 商店中的所有应用都需要 64 位支持

匿名用户

我在一些手机上遇到了同样的问题(64位处理器)

这是每个参数所需的库。您可以下载并手动导入。

https://github . com/jhansireddy/AndroidScannerDemo/tree/2cd 23d 362 d0a 6248 cf 489 a 79 ebc 4 ba 2c 425 c 60/scan demo example/scan library/src/main/libs