Card.io 没有加载相机只显示表格

Card.io not loading camera only showing form

我 运行 遇到的问题是,在实施 card.io 库时,它正在将 opencv 库添加到我的 apk 2x 中,因为我已经在使用 opencv 库。我更新了 build.gradle 以解决该问题:

packagingOptions {    
    pickFirst 'lib/x86/libopencv_core.so'
    pickFirst 'lib/x86/libopencv_imgproc.so'
}

现在,当我 运行 我的应用程序并打开 card.io Activity 我在 logcat 中得到以下内容:

I/card.io: card.io 5.5.0  01/26/2017 16:20:26 -0500
D/card.io: Loaded card.io decider library.
D/card.io:     nUseNeon(): false
D/card.io:     nUseTegra():false
D/card.io:     nUseX86():  true
D/card.io: Loaded opencv core library
D/card.io: Loaded opencv imgproc library
E/card.io: Failed to load native library: dlopen failed: cannot locate symbol "_ZN2cv9ExceptionC1EiRKSsS2_S2_i" referenced by "/data/app/com.unrapp.newapp-7ljGOwnnhHqi2y4fZHeVfw==/lib/x86/libcardioRecognizer.so"...
I/card.io: Processor not Supported. Skipping camera.

此外,如果我删除我的 openCV 实现并且我的清单更改 card.io 按预期工作,我错过了什么?

我运行在模拟器中进行此操作,但已经测试过在真实设备上会出现相同的结果。

非常感谢任何帮助!

更新 经过一番搜索,似乎 card.io 使用的是 openCV 版本 2.4.13-0

所以我尝试更改我正在使用的 openCV 版本,这使 card.io 相机功能再次运行,但这导致我的项目出现另一个错误。

Fatal Exception: java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
   at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:59)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
Caused by java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.unrapp.newapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.unrapp.newapp-1/lib/arm, /system/fake-libs, /data/app/com.xxx.newapp-1/base.apk!/lib/armeabi, /system/lib, /vendor/lib]]] couldn't find "libjniopencv_core.so"

所以据我所知,它正在寻找 'libjniopencv_core.so' 这个旧版本中没有的东西吗?我使用的是版本:3.1.0-1.3

我不熟悉 OpenCV,所以我不确定代码中是否有专门加载此文件的内容,一位自由职业者很久以前就为我们的 OpenCV 工作过。感谢任何帮助或意见!

为了解决这个问题,我必须找一个比我自己更好的 java 开发人员来编译 card.io 使用更高版本的 openCV 3.1.0-1.3。