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;