Java.lang.UnsatisfiedLinkError crash on some devices

I have a published application reporting an accident java.lang.UnsatisfiedLinkErroron some devices. To be more precise, the application starts at startup with the following log message:

Caused by: java.lang.UnsatisfiedLinkError: Couldn't load qcc: findLibrary returned null

The actual failure in the instructions System.loadLibrary("qcc");, so the application does not find a specific library.

The problem is that I myself could not reproduce the problem. In fact, the same apk works fine on many different devices and versions.


The application uses two C libraries written and compiled by a third party. They were compiled using tool bindings arm-linux-androideabi-4.6, and I integrate them into my project nkd-buildwith the following Android.mkfile:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libqcc
LOCAL_SRC_FILES := qcc/libqcc.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libqpe
LOCAL_SRC_FILES := qpe/libqpe.so
include $(PREBUILT_SHARED_LIBRARY)

, Android: 2.2, 2.2.1 2.2.2.


, .

- , ?


UPDATE:

, Android 2.2. , logcat.

11:14:59.962 I/dalvikvm(  287): Unable to dlopen(/data/data/.../lib/libqcc.so): Cannot load library: link_image[1995]: failed to link libqcc.so
11:14:59.962 W/dalvikvm(  287): Exception Ljava/lang/UnsatisfiedLinkError;
+5
1

, C-, Android 2.2

link .

, pthread_rwlock_init, C Android 2.3 ().

+5

All Articles