在 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文件的另一个模块的解决方案
最佳答案
我猜问题出在这里:
$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 语句末尾的
:
所以你必须做类似的事情:
include C:\mypath\myotherdir\xyz.mk
或
如果您在 NDK LOCAL FOLDER 中有 mk 文件,那么
include $NDK_MODULE_PATH\mylocaldir\xyz.mk
希望这对您有所帮助。干杯!
关于android - 如何将一个 android.mk 模块导入 Android 中的另一个 android.mk 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184756/