当前位置: 首页 > 知识库问答 >
问题:

TensorFlow+AndroidScanner-找不到“libopencv_java3.so”

唐康安
2023-03-14
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引用时,导入的模块可以正常工作。

共有1个答案

董子航
2023-03-14

您导入的项目只构建32位版本的libscanner.so,因此只使用32位版本的libopencv_java3.so。在短期内,你可以保留它,只设置

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

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

从长远来看,您也应该更新扫描器库以构建64位。这可能会带来显著的性能增益。

 类似资料:
  • 问题内容: 我正在尝试使用pip安装: 我究竟做错了什么?到目前为止,我使用Python和pip都没有问题。 问题答案: 我发现这终于奏效了。 编辑1:这已在Windows(8、8.1、10),Mac和Linux上进行了测试。更改python3以python根据你的配置。如果你使用的是Python 2.x,请更改py3为py2url。 编辑2:如果有人需要,请列出不同版本:https : //st

  • 这就是我的症状: 我的python:3.7 64位os:ArchLinux

  • 我安装了最新版本的Python和最新版本的。然后我在PyCharm中安装了一些模块(Numpy、Pandas等),但当我尝试安装Tensorflow时,它没有安装,并且我得到了错误消息: 找不到满足TensorFlow要求的版本(来自Versions:)找不到TensorFlow的匹配发行版。 然后我尝试从命令提示符安装TensorFlow,得到了相同的错误消息。不过,我确实成功地安装了TFLea

  • 我试过如何检查keras是否使用了tensorflow的gpu版本?答复但我只认出keras没有看到GPU。 我重新安装了整个需求,包括tensorflow gpu、keras模块,甚至CUDA。 我用的是Jupyter remote ipython。 下面的列表是我安装的模块版本 我检查了以下内容: 结果: =============已添加========== 此外,我还了解了如何从python

  • 我正在尝试使用以下命令将pb文件转换为tlite文件: bazel run//tensorflow/contrib/lite/toco:toco--input_file=sample。pb——输出_文件=样本。特利特 我收到以下错误:错误:跳过//tensorflow/contrib/lite/toco:toco:在包路径上找不到构建文件。 我在Python文件夹下安装了tenorflow和toc

  • 我正在运行在这里找到的TensorFlow GPU docker图像:https://www.tensorflow.org/install/install_linux#InstallingDocker 我在Ubuntu上运行这个。 我对docker容器是新手,我希望有人能帮我弄清楚如何让我的Jupyter笔记本看到我安装到主机上的硬盘。