C++;使用android NDK访问android共享库

C++;使用android NDK访问android共享库,android,c++,android-ndk,shared-libraries,Android,C++,Android Ndk,Shared Libraries,我正在尝试在android上运行unity原生音频插件,我有一个.bundle,由osx上运行的xcode编写 我尝试获取android所需的.so文件的步骤是在项目文件夹中包含以下两个mk文件: Android.mk include $(CLEAR_VARS) LOCAL_ARM_MODE := arm LOCAL_PATH := $(call my-dir) LOCAL_MODULE := AudioPluginDemo LOCAL_C_INCLUDES := $(FILE_LIST:$(

我正在尝试在android上运行unity原生音频插件,我有一个.bundle,由osx上运行的xcode编写

我尝试获取android所需的.so文件的步骤是在项目文件夹中包含以下两个mk文件:

Android.mk

include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm

LOCAL_PATH := $(call my-dir)
LOCAL_MODULE := AudioPluginDemo
LOCAL_C_INCLUDES := $(FILE_LIST:$(LOCAL_PATH)/include/%=%)
FILE_LIST := $(wildcard $(LOCAL_PATH)/src/*.cpp)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)
我希望这个文件设置项目文件夹的本地路径,在src中找到所有cpp文件的列表,在include中找到所有文件,然后用它们构建一个.so

Application.mk

APP_OPTIM        := release
APP_ABI          := all
APP_PLATFORM     := android-17
APP_BUILD_SCRIPT := Android.mk
APP_STL          := gnustl_static
然后运行:

ndk-build NDK_APPLICATION_MK=<PATH_TO_APPLICATION.MK>
ndk构建ndk\u应用程序\u MK=

这看起来运行正常,创建了所有.so文件。但是,它们的大小很小(6kb),在unity android上运行时,找不到插件。用nm-D偷看它们也不能给我预期的符号。我有一种感觉,我没有告诉ndk build在正确的位置查找源文件(ndk build-d to debug显示了对ndk路径的大量引用,但没有显示对项目文件夹的引用),但无法找出原因。

ndk build V=1
将显示它正在运行的所有命令。确保这些与您期望的匹配。谢谢,NDK_项目路径默认为NDK根目录,而不是我的项目。在调用ndk build ndk_PROJECT_PATH=时添加了一个额外的参数,因此它现在就可以构建了(它在unity Android中加载时崩溃,但它可以构建!)