我想将一个ndroid.mk文件导入另一个android.mk文件 我有android.mk文件,其中有
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := importfile
LOCAL_SRC_FILES := libEDSDK.a
/*LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/EDSDK $(LOCAL_PATH)/EDSDKErrors $(LOCAL_PATH)/EDSDKTypes*/
LOCAL_ARM_MODE := arm
TARGET_PLATFORM:=android-8
TARGET_ARCH_ABI:=armeabi
TARGET_ABI:=$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
include $(PREBUILT_STATIC_LIBRARY)
我想将这个android.mk文件导入另一个android.mk文件
$NDK_MODULE_PATHjni/module1/Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EDSK
LOCAL_SRC_FILES := sample.c
LOCAL_STATIC_LIBRARIES := EDSDK.lib
include $(BUILD_SHARED_LIBRARY)
LOCAL_ARM_MODE := arm
TARGET_PLATFORM:=android-8
TARGET_ARCH_ABI:=armeabi
TARGET_ABI:=$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
$(call import-module,importfile)
但是在构建这个时我得到了错误,即
Android NDK: jni/Android.mk: Cannot find module with tag 'importfile' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
请帮忙。
答案 0 :(得分:2)
NDK构建问题的答案明确使用$(LOCAL_PATH)不正确(我不知道它们是否总是不正确,但它们肯定不适用于NDK版本r8b)。您不应该使用$(LOCAL_PATH)预先添加路径 - 构建系统会自动为$(LOCAL_PATH)添加前缀 - 因此这些脚本会将LOCAL_PATH前缀两次并失败。这个错误在Stack Overflow中重复出现,但是我无法通过并纠正关于Android构建系统的每个答案,因此我已将其发布在该主题的最新帖子中。
我建议人们回答问题时应该使用最新版本的NDK工具,或者使用他们使用的版本来验证他们的答案。
答案 1 :(得分:1)
基本上是这样的:
include $(LOCAL_PATH)/libos/Android.mk
这只是普通的makefile语法(参见此处:http://www.gnu.org/software/make/manual/html_node/Include.html)