2017-11-20 5 views
0

card.io 라이브러리를 구현할 때 이미 opencv 라이브러리를 사용하고 있으므로 apc 2x에 opencv 라이브러리를 추가하는 것이 문제였습니다. 나는 업데이트 내 build.gradle 그 문제 해결에 : 지금은 내 응용 프로그램을 실행하고 나는 내 로그 캣에서 다음을 얻을 card.io 활동 열 때Card.io가 카메라를보고 있지 않습니다.

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

: 또한

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가 예상대로 작동하지만 무엇을 놓치고 있습니까 ??

저는 이것을 에뮬레이터에서 실행하고 있지만 실제 장치에서 동일한 결과가 테스트되었습니다.

도움을 주시면 대단히 감사하겠습니다.

는 UPDATE 약간의 검색 후 는, 그 card.io이

2.4.13-0 그래서 나는 card.io 카메라를 시작 내가 사용하고 OpenCV의 버전을 변경하려고 시도 OpenCV의 버전을 사용하는 것 함수가 다시 작동하지만 내 프로젝트에서 또 다른 오류가 발생합니다.

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 작업을 오래 동안했다. 도움이나 의견을 보내 주시면 감사하겠습니다!

+0

카메라 사용 권한을 신고하셨습니까? – diegoveloper

+0

예 @ 개발자, 카메라 권한이 요청되었습니다. – berr08

답변

0

이 문제를 해결하려면 openCV의 이후 3.1.0-1.3 버전을 사용하여 card.io를 컴파일하기 위해 Java 개발자를 직접 확보해야했습니다.