gpt4 book ai didi

android - 如何在 Android.mk 文件中指定要复制的文件

转载 作者:太空狗 更新时间:2023-10-29 13:38:45 27 4
gpt4 key购买 nike

是否有复制文件的宏或命令?我想要将第 3 方库 (libThirdParty.so) 复制到输出目录 (lib)。这是我的 Android.mk 文件的内容

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := ndkFoo
LOCAL_SRC_FILES := ndkFoo.c

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog

include $(BUILD_SHARED_LIBRARY)

最佳答案

我为生成的一个 .cpp 文件添加了构建步骤;你可以做类似的事情。

请注意,我被告知我正在做的事情不受 Google 支持,因此使用风险自负。不过,一年多来我一直在使用类似下面的代码。这是它的大概样子:

LOCAL_PATH:= $(call my-dir)
# this was important for some cases; can't remember if it's important here, but I don't want to steer you wrong if it isn't
REAL_LOCAL_PATH:=$(LOCAL_PATH)

include $(CLEAR_VARS)

LOCAL_MODULE := ndkFoo
# again, I'm being paranoid here
REAL_LOCAL_MODULE := $(LOCAL_MODULE)

LOCAL_SRC_FILES := ndkFoo.c

$(REAL_LOCAL_PATH)/obj/local/armeabi/$(REAL_LOCAL_MODULE).so : $(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so

$(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so : $(PATH_TO_LIB_THIRD_PARTY)/libThirdParty.so
cp $(PATH_TO_LIB_THIRD_PARTY)/libThirdParty.so $(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)

请注意,您需要定义 PATH_TO_LIB_THIRD_PARTY。

另请注意,复制粘贴可能有效也可能无效。众所周知,Makefile 对缩进很挑剔。我会确保“cp”行有一个真正的制表符缩进,并且没有其他缩进。如果“cp”不起作用,则 make 可能正在委托(delegate)给 CMD,您可以尝试“复制”。

祝你好运。

关于android - 如何在 Android.mk 文件中指定要复制的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188230/

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