1

I'm testing opencv for android with native support. I have a simple app that change the camera image with its canny representation.

The problem I'm facing is that it works fine in a Moto G 1st gen (Android 5.0) but it doesn't in a Samsung Galaxy Grand Neo (API level 17)

The error I get is:

FATAL EXCEPTION: main java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1636): could not load library "libopencv_java3.so" needed by "libnative-lib.so"; caused by load_library(linker.cpp:746): library "libopencv_java3.so" not found

I double check that that file exists under jniLibs/<ABI> and also with What's my ABI app from store check that both are armeabi-v7a.

I'm out of ideas. Any clue?

EDiT: Added more information

I forgot to mention that I'm using OpenCV for Android v3.1 and if you need the code you could find it here: https://github.com/leadrien/opencv_native_androidstudio

sebasira
  • 1,739
  • 1
  • 22
  • 41
  • @ReazMurshed your edit removed critical information from this question triggering a mistaken answer, *never* do that again! – Chris Stratton Dec 31 '16 at 06:09

2 Answers2

0

I've found the solution in this stackOverflow answer.

Basically, what it says is to call System.loadLibrary after BaseLoaderCallback returns LoaderCallbackInterface.SUCCESS.

Also while researching for this I came across with ReLinker v1.2 that states to be a robust method for loading native libraries. I'm also thinking in giving it a try. Here you can find its GitHub repo

Community
  • 1
  • 1
sebasira
  • 1,739
  • 1
  • 22
  • 41
-1

Please add below folder inside jniLib

armeabi

and x86

because of both device have diff processor

Anil Kanani
  • 260
  • 2
  • 19