【问题标题】:How to import one android.mk file into another android.mk file?如何将一个 android.mk 文件导入另一个 android.mk 文件?
【发布时间】:2012-06-22 14:49:57
【问题描述】:

我想将一个 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: 

请帮忙。

【问题讨论】:

标签: android android-ndk


【解决方案1】:

明确使用 $(LOCAL_PATH) 的 NDK 构建问题的答案不正确(我不知道它们是否总是不正确,但它们绝对不适用于 NDK 版本 r8b)。您不应该在路径前面加上 $(LOCAL_PATH) - 构建系统会自动为 $(LOCAL_PATH) 添加前缀 - 因此这些脚本在 LOCAL_PATH 前缀两次并且失败。这个错误在整个 Stack Overflow 上重复出现,但我无法通过并纠正有关 Android 构建系统的所有答案,因此我将其发布在有关该主题的最新帖子之一中。

我建议回答问题的人应该使用最新版本的 NDK 工具,或者使用他们正在使用的版本来限定他们的答案。

【讨论】:

    【解决方案2】:

    基本上是这样的:

    include $(LOCAL_PATH)/libos/Android.mk
    

    这只是普通的 makefile 语法(见这里:http://www.gnu.org/software/make/manual/html_node/Include.html)

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2023-03-26
      • 2013-08-23
      相关资源
      最近更新 更多