我遇到的问题是,在实现card.io库时,它将opencv库添加到我的apk 2x中,因为我已经在使用opencv库了。我更新了我的build.gradle以解决这个问题:
packagingOptions {
pickFirst 'lib/x86/libopencv_core.so'
pickFirst 'lib/x86/libopencv_imgproc.so'
}现在,当我运行我的应用程序并打开card.io活动时,我在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的farmiliar,所以我不确定代码中是否有什么东西专门加载这个文件,一个自由职业者在很长一段时间前做了我们的OpenCV工作。任何帮助或投入都是非常感谢的!
发布于 2017-12-13 21:00:40
为了解决这个问题,我必须让一个java开发人员比我自己更好地使用后来的3.1.01.3版本的card.io编译openCV。
https://stackoverflow.com/questions/47393685
复制相似问题