Я обнаружил, что библиотека, содержащая "@" в имени, не копируется в data/data/apk/lib
. Таким образом, библиотека не может быть загружена. и это очень раздражает, когда библиотека приходит из system/vendor/lib
, которая недоступна при использовании system.loadLibrary
, или если вам нужно скомпилировать код ccp с библиотекой vendor / lib.
Внутри android.mk. если вы делаете
LOCAL_MODULE := JNIProcessor@2.0-client
LOCAL_SRC_FILES := processor.cpp
ваша библиотека не будет скопирована в datat / data / apk / lib
LOCAL_MODULE := JNIProcessor2.0-client
LOCAL_SRC_FILES := processor.cpp
если убрать "@", все работает нормально.
это та же проблема, если вы объявляете PREBUILT_SHARED_LIBRARY
include $(CLEAR_VARS)
LOCAL_MODULE := mediacomm@2.0-client
LOCAL_SRC_FILES := $(LOCAL_PATH)/arm7/libmediacomm@2.0-client.so
include $(PREBUILT_SHARED_LIBRARY)
не работает
include $(CLEAR_VARS)
LOCAL_MODULE := mediacomm2.0-client
LOCAL_SRC_FILES := $(LOCAL_PATH)/arm7/libmediacomm2.0-client.so
include $(PREBUILT_SHARED_LIBRARY)
работает
java.lang.UnsatisfiedLinkError: dlopen failed: library "libmediacomm@2.0-client.so" not found
С уважением, Эрве Терролл из Парижа, Франция