javacv 1.2 loadlibrary problem

149 views
Skip to first unread message

Tarun Singhal

unread,
Jul 4, 2016, 7:14:35 AM7/4/16
to javacv
hi samuel

hi sir javacv 1.2 not work with all device
 I am getting a error

06-18 19:22:51.909: E/AndroidRuntime(15040): FATAL EXCEPTION: Thread-7668
06-18 19:22:51.909: E/AndroidRuntime(15040): Process: com.example.videooverlayes, PID: 15040
06-18 19:22:51.909: E/AndroidRuntime(15040): java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:477)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:417)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:109)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacv.OpenCVFrameConverter.convertToIplImage(OpenCVFrameConverter.java:91)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacv.OpenCVFrameConverter$ToIplImage.convert(OpenCVFrameConverter.java:44)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at com.example.videooverlayes.ActivitySegmentCreaterNew.GetNoOfFrame(ActivitySegmentCreaterNew.java:1324)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at com.example.videooverlayes.ActivitySegmentCreaterNew$GetFrame.run(ActivitySegmentCreaterNew.java:1298)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.Thread.run(Thread.java:841)
06-18 19:22:51.909: E/AndroidRuntime(15040): Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.Class.classForName(Native Method)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.Class.forName(Class.java:251)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:472)
06-18 19:22:51.909: E/AndroidRuntime(15040):  ... 7 more
06-18 19:22:51.909: E/AndroidRuntime(15040): Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZNK2cv14DefaultDeleterI13CvFileStorageEclEPS1_" referenced by "libjniopencv_core.so"...
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.Runtime.loadLibrary(Runtime.java:364)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.System.loadLibrary(System.java:526)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:702)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:500)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:417)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
06-18 19:22:51.909: E/AndroidRuntime(15040):  ... 10 more
06-18 19:22:51.909: E/AndroidRuntime(15040): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gnustl_static from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.appzcloud.videooverlayes-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.appzcloud.videooverlayes-1, /vendor/lib, /system/lib]]]: findLibrary returned null
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.Runtime.loadLibrary(Runtime.java:358)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at java.lang.System.loadLibrary(System.java:526)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:702)
06-18 19:22:51.909: E/AndroidRuntime(15040):  at org.bytedeco.javacpp.Loader.load(Loader.java:491)
06-18 19:22:51.909: E/AndroidRuntime(15040):  ... 12 more



if we use System.loadLibrary
System.loadLibrary("jniopencv_core");
System.loadLibrary("opencv_core");
System.loadLibrary("jniopencv_imgproc");
System.loadLibrary("opencv_imgproc");

it works properly

but other device give error

java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1636): could not load library "libopencv_imgproc.so" needed by "libjniopencv_core.so"; caused by load_library(linker.cpp:746): library "libopencv_imgproc.so" not found
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:535)
at com.ex.overlay.MyTrac.onCreate(MyTracker.java:23)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4590)
at android.app.ActivityThread.access$1400(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5317)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)


what should I do;

some device need loadlibrary and some not?

Samuel Audet

unread,
Jul 4, 2016, 7:24:26 AM7/4/16
to jav...@googlegroups.com
On 07/04/2016 08:14 PM, Tarun Singhal wrote:
> some device need loadlibrary and some not?

Yes, among other things:
https://github.com/bytedeco/javacpp-presets/wiki/The-UnsatisfiedLinkError-X-File-(a-real-experience)

Please report these bugs to device manufacturers.

Samuel

Tarun Singhal

unread,
Jul 4, 2016, 7:31:19 AM7/4/16
to javacv
But Javacv 1.1 and 0.9 have no bug.

Samuel Audet

unread,
Jul 4, 2016, 7:34:48 AM7/4/16
to jav...@googlegroups.com
On 07/04/2016 08:31 PM, Tarun Singhal wrote:
> But Javacv 1.1 and 0.9 have no bug.

How do you know? How many devices have you tested?

Tarun Singhal

unread,
Jul 4, 2016, 7:44:07 AM7/4/16
to javacv
10-15 device

SM-T231 
javacv 1.1 and 0.9 work without loadlibray
in javacv 1.2 need loadlibrary

    Galaxy S Duos2 
    javacv 1.1 and 0.9 and 1.2 work without loadlibray
    if use load library it crashes

Samuel Audet

unread,
Jul 4, 2016, 9:46:17 AM7/4/16
to jav...@googlegroups.com
If you do a "factory reset" on each device before installing anything, do you get the same result?

BTW, JavaCPP 1.2 has a known bug, If you are trying to use that version, you shouldn't use it:
    https://github.com/bytedeco/javacv/issues/412
Please try to use the latest version of everything and stop using old software when it's not needed!

Samuel
Reply all
Reply to author
Forward
0 new messages