gpt4 book ai didi

android - 在 Android AOSP 中使用预建共享库

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:25 24 4
gpt4 key购买 nike

我想在 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)

关于android - 在 Android AOSP 中使用预建共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29180118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com