防止ndk-build删除手动添加的库

lvi*_*ani 21 android-ndk

我有一个项目正在重新使用预编译的本机库(libocr.so),我没有源文件.我手动将库放在我的项目的libs/armeabi上,一切都很完美.

然后我需要为同一个项目创建一个新的本机库.我把我的源代码作为我的jni文件夹中的Android.mk文件,我使用ndk-buld命令构建它.该库是构建并放置在libs/armeabi文件夹中,但是libocr.so(手动添加的)会自动从那里删除...如何防止libocr.so被删除?

这是我的Android.mk文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := libyuv
LOCAL_SRC_FILES := ycrcbutils.c

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

感谢您提前寻求帮助,Luca.

lvi*_*ani 27

...好吧,我自己找到了答案......根据ndk/docs/PREBUILTS.HTML我改变了我的意思Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_LDLIBS := -llog

LOCAL_MODULE    := libyuv
LOCAL_SRC_FILES := ycrcbutils.c

include $(BUILD_SHARED_LIBRARY)


# Add prebuilt libocr
include $(CLEAR_VARS)

LOCAL_MODULE := libocr
LOCAL_SRC_FILES := libocr.so

include $(PREBUILT_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

并在我的项目的jni文件夹下放置了我的libocr.so的副本.

  • 注意可选地使用TARGET_ARCH_ABI,例如:LOCAL_SRC_FILES:= prebuilt/$(TARGET_ARCH_ABI)/libfoo.so (13认同)