如何将一个android.mk mdule导入Android中的另一个android.mk模块?

时间:2012-06-25 07:01:35

标签: android android-ndk

在应用程序的Android中我想将一个android.mk文件导入到应用程序中的另一个Android.mk文件

为此我已在一个Andorid.mk文件中使用,该文件将导入到同一项目的另一个模块中

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EDSDKModule
LOCAL_SRC_FILES :=libEDSDK.a
LOCAL_ARM_MODE := arm
TARGET_PLATFORM:=android-8
TARGET_ARCH_ABI:=armeabi
TARGET_ABI:=$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
include $(PREBUILT_STATIC_LIBRARY)

和主要的Andorid.mk文件是

include C:\my_module\Android.mk
 LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := EDSK
LOCAL_MODULE_FILENAME := foo 
LOCAL_SRC_FILES := sample.c
LOCAL_STATIC_LIBRARIES := EDSDKModule
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,EDSDKModule)

但是我在使用Android-NDk构建项目时遇到了这个错误,即

请提供一些解决方案,了解如何将一个模块导入项目中的另一个android.mk文件模块

1 个答案:

答案 0 :(得分:0)

我猜这个问题就在这里:

    $NDK_MODULE_PATH\C:\Final FOlder\final c\Mysetup\newworks\SimpleApp\jni\path1\Android.mk:
    /*here i have given directory path of android.mk file */

可能出现的错误:

  • 尝试摆脱路径中的空白区域:

    C:\Final FOlder\final c\ 
    

这样的事情:

    C:\FInal_Folder\final_c\myotherdir\xyz.mk
  • 如果您使用的绝对路径如下:

    C:\mypath\myotherdir\xyz.mk
    

然后 $NDK_MODULE_PATH 前缀 C:\mypath\myotherdir\xyz.mk 。只需使用上面的绝对路径,即 include

  • 您需要在上面的include语句前面加上 # comment : including my mk file here include C:\mypath\myotherdir\xyz.mk 关键字:

    :
  • 在包含声明的最后删除 include C:\mypath\myotherdir\xyz.mk

所以你必须这样做:

    include $NDK_MODULE_PATH\mylocaldir\xyz.mk

如果您在 NDK LOCAL FOLDER 中有mk文件,那么

{{1}}

希望这会有所帮助。干杯!