指定外部C ++库+ NDK + Android studio的目录

时间:2017-06-23 17:10:06

标签: android android-studio android-ndk cocos2d-x box2d

我是这个NDK版本的新手,我在android studio中运行这个Buildbox项目时遇到了麻烦。

使用ndk-build和同步将C ++链接到Gradle之后,就会出现此错误。

Android NDK: C:\AndroidApps\app\app\src\main\jni\Android.mk: Cannot find module with tag 'box2D' 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:         
process_begin: CreateProcess(NULL, "", ...) failed.

我可以在java和resources子文件夹中看到cocos2dx的参考。

我不确定是否必须下载box2D,core,cocos2dx库。

我必须对android.mk文件进行哪些更改才能使错误消失?

Screenshot

这是android.mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := player_shared

LOCAL_MODULE_FILENAME := libplayer

LOCAL_SRC_FILES := main.cpp 

LOCAL_WHOLE_STATIC_LIBRARIES :=  core_static cocos2dx_static box2d_static

GOOGLE_PLAY_STORE := true

include $(BUILD_SHARED_LIBRARY)

$(call import-add-path, $(LOCAL_PATH)/platform/third_party/android/prebuilt)

$(call import-module, box2D)
$(call import-module, core)
$(call import-module, cocos2dx)

1 个答案:

答案 0 :(得分:0)

NDK不会为您下载导入的模块。我不确定是否有计划在未来添加此类功能(与XCode pod并行)。

您会找到导入模块 here的详细说明,但基本上您可以在 Application.mk中设置 NDK_MODULE_PATH 文件,Windows上有;个分隔符,但在路径中使用直接/而不是Windows本机反向,例如C:/ext),然后

$(call import-module, box2D)

将等同于

include C:/ext/box2D/Android.mk