1

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

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

4

1 回答 1

1

要为 ARM 构建静态库,您可以使用NDK 独立工具链

编译完成后,您可以使用Android NDK 生成文件.so(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 领域,但如果您希望在 .so/C/C++ 代码和 Java 之间建立一座桥梁,则需要在C,使用映射到 JNI 方法的静态System.loadLibrary('my_module')导入和native方法声明构建必要的 Java 类。

于 2013-02-08T19:02:16.370 回答