我想在 AOSP 中使用预构建的共享库。该库在 Android.mk 中定义如下:
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAG := optional
LOCAL_MODULE_PATH := system/lib
LOCAL_SRC_FILE := system/lib/foo.so
include $(BUILD_PREBUILT)
在构建过程中,一个文件夹out/target/product/mako/obj/SHARED_LIBRARIES/foo_intermediates/export_include
被创建。
但是,构建失败并显示错误消息:out/target/product/mako/obj_arm/SHARED_LIBRARIES/foo_intermediates/export_include
找不到。
请注意“obj”和“obj_arm”之间的区别。是什么导致了这个问题?
这是双目标构建(arm 和arm64),因此有两个obj 文件夹,一个用于32 位arm,另一个用于64 位arm。
我需要按如下方式定义库:
include $(CLEAR_VARS)
LOCAL_MODULE := libfoo
LOCAL_MODULE_SUFFIX :=.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := optional
LOCAL_PRELINK_MODULE := false
ifdef TARGET_2ND_ARCH
LOCAL_MULTILIB := both
LOCAL_MODULE_PATH_64 := system/lib64
LOCAL_SRC_FILES_64 := system/lib64/libfoo.so
LOCAL_MODULE_PATH_32 := system/lib
LOCAL_SRC_FILES_32 := system/lib/libfoo.so
else
LOCAL_MODULE_PATH := system/lib
LOCAL_SRC_FILES := system/lib/libfoo.so
endif
include $(BUILD_PREBUILT)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)