如何将一个android.mk模块导入android中的另一个android.mk模块?
在应用程序中的Android中,我想将一个Android.mk文件导入应用程序中的另一个Android.mk文件 为此,我使用了一个android.mk文件,该文件将导入同一项目的另一个模块中如何将一个android.mk模块导入android中的另一个android.mk模块?,android,android-ndk,Android,Android Ndk,在应用程序中的Android中,我想将一个Android.mk文件导入应用程序中的另一个Android.mk文件 为此,我使用了一个android.mk文件,该文件将导入同一项目的另一个模块中 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := EDSDKModule LOCAL_SRC_FILES :=libEDSDK.a LOCAL_ARM_MODE := arm TARGET_PLATFORM:=androi
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)
并且主ANDROID.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)
但我在使用androidndk构建项目时遇到了这个错误
请就如何在项目中将一个模块导入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\u模块路径
。只需使用上述绝对路径本身,即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
或
如果mk文件位于NDK本地文件夹中,则
include $NDK_MODULE_PATH\mylocaldir\xyz.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\u模块路径
。只需使用上述绝对路径本身,即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
或
如果mk文件位于NDK本地文件夹中,则
include $NDK_MODULE_PATH\mylocaldir\xyz.mk
希望这有帮助。干杯 你试过了吗你试过了吗我在Android.mk文件****中使用了以下命令包括C:\my_module\Android.mk LOCAL_PATH:=$(调用我的目录)包括$(清除变量)LOCAL_module:=EDSK LOCAL_module:=foo LOCAL_SRC_文件:=sample.C LOCAL_静态_库:=libEDSDK.a包括$(构建共享_库)$(调用导入模块,EDSDKModule)**********但我得到了错误,即Android NDK:C:\my_module\Android.mk:在导入路径中找不到标记为“EDSDKModule”的模块Android NDK:您确定NDK_module\u path变量定义正确吗?jni/Android.mk:14:Android NDK:正在中止。停止Android NDK:你能告诉我,你从哪里复制了原始的“C:\my\u module\Android.mk”文件吗?因为您导入的Android.mk似乎正在查找以下模块:
libEDSDK.a、EDSDK、edsdkerors、EDSDKTypes
来自$(本地路径)
。我建议您将包含导入的Android.mk
和libEDSDK.a
的原始目录中的所有内容复制到本地主Android.mk目录中。这应该可以解决问题。干杯在我的_模块文件夹中,我放置了项目中的Android.mk、EDSDk.h、edsdkerors.h EDSDKTypes.h和libEDSDl.a文件,在项目的jni文件夹中,我也放置了EDSDk.h,edsdkerors.h EDSDKTypes.h和libEDSDl.a文件,但问题仍然是一样的,可以解释更多关于NDK本地文件夹的信息抱歉,但我不明白,我现在将导入的Android.mk放在NDK本地文件夹中,我不明白这个“NDK本地文件夹”你能更新你问题中的新Android.mk吗?在现有内容下面添加一个部分,以便我可以查看整个Android.mk文件。我在Android.mk文件中使用了以下命令****include C:\my_module\Android.mk LOCAL_PATH:=$(调用我的目录)include$(清除变量)本地_模块:=EDSK本地_模块_文件名:=foo本地_SRC_文件:=sample.c本地_静态_库:=libEDSDK.a包含$(构建共享_库)$(调用导入模块,EDSDKModule)**********但我得到了错误,即Android NDK:C:\my_module\Android.mk:在导入路径中找不到标记为“EDSDKModule”的模块Android NDK:您确定NDK_module\u path变量定义正确吗?jni/Android.mk:14:Android NDK:正在中止。停止Android NDK:你能告诉我,你从哪里复制了原始的“C:\my\u module\Android.mk”文件吗?因为您导入的Android.mk似乎正在查找以下模块:libEDSDK.a、EDSDK、edsdkerors、EDSDKTypes
来自$(本地路径)
。我建议您将包含导入的Android.mk
和libEDSDK.a
的原始目录中的所有内容复制到本地主Android.mk目录中。这应该可以解决问题。干杯在我的_模块文件夹中,我放置了项目中的Android.mk、EDSDk.h、edsdkerors.h EDSDKTypes.h和libEDSDl.a文件,在项目的jni文件夹中,我也放置了EDSDk.h,edsdkerors.h EDSDKTypes.h和libEDSDl.a文件,但问题仍然是一样的,可以解释更多关于NDK本地文件夹的信息抱歉,但我不明白,我现在将导入的Android.mk放在NDK本地文件夹中,我不明白这个“NDK本地文件夹”你能更新你问题中的新Android.mk吗?在现有内容下面添加一个部分,以便我可以查看整个Android.mk文件。