Makefile 将预构建的静态库包含到Android中的共享库中
我已经预先构建了静态c++库(顺便说一句,它的大小约为12.8MB),我希望将其包含在共享库中 Android.mk:Makefile 将预构建的静态库包含到Android中的共享库中,makefile,android-ndk,shared-libraries,static-libraries,Makefile,Android Ndk,Shared Libraries,Static Libraries,我已经预先构建了静态c++库(顺便说一句,它的大小约为12.8MB),我希望将其包含在共享库中 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 LO
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 kb。我以为它会消耗我的生命
android上的这个应用程序大约需要76kb
无论如何,当我尝试在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>'...
12-03 12:21:26.806:I/dalvikvm(8976):无法dlopen(/data/data/com.test/lib/libtest.so):无法加载库:reloc_库[1245]:1099找不到“”。。。
(在评论中回答:)
OP写道:
必须是:LOCAL\u LDLIBS:=-llog-ldl-L.
点很重要
解决了的。必须是:LOCAL_LDLIBS:=-llog-ldl-L。点很重要