如何在Android中使用.so和.h文件?

时间:2013-02-08 17:59:55

标签: android c++ android-ndk cocos2d-x

我正在使用C ++在Android中编码(我特别使用cocos2d-x)。

现在,比方说,我有一个类MyClass,带有.h和.cpp文件。我想从这些文件中创建一个.so。然后,我想在我的项目中包含.so并通过#include "MyClass.h"访问它。可能吗?如果是这样,怎么样?谢谢!

1 个答案:

答案 0 :(得分:1)

要为ARM构建静态库,可以使用NDK standalone toolchain

编译完.so后,可以使用Android NDK make file(Android.mk)将库包含在项目中,如下所示:

LOCAL_PATH := $(call my-dir)  
LOCAL_SRC_FILES := my_module.so  
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)

您需要确保在正确的路径中包含标题(/ include)。

不确定您是否打算使用您的代码重新使用Android-land,但如果您希望在.so / C / C ++代码和Java之间建立桥梁,则需要描述相应的C中的JNI方法使用映射到JNI方法的静态System.loadLibrary('my_module')导入和native方法声明构建必要的Java类。