在 Android NDK 中预构建不同类型的静态库

Prebuilding different kind of static library in Android NDK

有什么方法可以同时构建我们通过 NDK 创建的不同类型的静态库(.a 扩展文件)?我想当我分享代码时你会更好地理解。

Android.mk ->

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libzlib
LOCAL_SRC_FILES := libzlib.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)

LOCAL_MODULE := libpng
LOCAL_SRC_FILES := libpng.a

include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := callNDK
LOCAL_SRC_FILES := callNDK.c
LOCAL_STATIC_LIBRARIES := libpng libzlib

include $(BUILD_SHARED_LIBRARY)

我包含的静态库是从使用 BUILD_STATIC_LIBRARY 创建的 /obj 文件夹中复制的。我如何一次预构建它们并将它们包括在内?抱歉英语不好,提前致谢!

我能够通过变量 TARGET_ARCH_ABI 找到答案。在每个预建库上添加 LOCAL_SRC_FILES := ..\obj\local$(TARGET_ARCH_ABI)\libzlib.a 行解决了这个问题。基本上,它会在每次编译和安装时选择合适的库。