【发布时间】:2019-07-05 10:41:05
【问题描述】:
我在我的应用程序中使用了一个 c++ 库。该库在以前的版本中生成一个.a 文件。我的 Android.mk 文件如下:
include $(CLEAR_VARS)
LOCAL_MODULE := libmylib
ifeq ($(TARGET_ARCH_ABI),x86)
LOCAL_SRC_FILES := path-to/libmylib.a
else
LOCAL_SRC_FILES := path-to/libmylib.a
endif
include $(PREBUILT_STATIC_LIBRARY)
.......
LOCAL_STATIC_LIBRARIES += mylib
.......
但现在,我构建它并生成 3 个.so 文件。
如何添加包含多个 .so 源的模块?
以下设置无法编译。
include $(CLEAR_VARS)
LOCAL_MODULE := libmylib
LOCAL_SRC_FILES := path-to/libvmylib_shared.so \ path-to/libvmylib_base.so \ path-to/libvmylib_cr.so
include $(PREBUILT_SHARED_LIBRARY)
.....
LOCAL_SHARED_LIBRARIES += mylib
错误在这里:
预建库的 LOCAL_SRC_FILES 应该只包含一个 项目
【问题讨论】:
-
将其拆分为三个模块,然后将三个模块全部添加到您的
LOCAL_SHARED_LIBRARIES。
标签: android android-ndk shared-libraries static-libraries android.mk