Включить встроенную статическую библиотеку в общую библиотеку в Android - PullRequest
1 голос
/ 03 декабря 2011

У меня есть встроенная статическая библиотека C ++ (кстати, она имеет размер около 12,8 МБ), и я хочу включить ее в общую библиотеку.

Android.mk:

LOCAL_PATH := $(call my-dir)

LOCAL_ARM_MODE := arm
LOCAL_MODULE := MyLib
LOCAL_SRC_FILES := libMyLib.a

include $(PREBUILT-STATIC-LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE    := test
LOCAL_SRC_FILES := test.cpp
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_STATIC_LIBRARIES := MyLib
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

этоСборка без ошибок, но libtest.so составляет около 34 кб.я думал, что он будет использовать MyLib.a

и это приложение на Android занимает около 76 КБ.

в любом случае, когда я пытаюсь выполнить его на Android, я вижу в журналах:

12-03 12:21:26.806: I/dalvikvm(8976): Unable to dlopen(/data/data/com.test/lib/libtest.so): Cannot load library: reloc_library[1245]:  1099 cannot locate '<some long-long string>'...

1 Ответ

0 голосов
/ 24 января 2015

(Ответ в комментарии: Вопрос без ответов, но проблема решена в комментариях (или расширена в чате) )

ОП написал:

должно быть: LOCAL_LDLIBS := -llog -ldl -L. точка важна

...