以下是步骤:
1.) 在项目的“jni”文件夹中创建 Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main_jni
LOCAL_CFLAGS :=
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS :=
include $(BUILD_SHARED_LIBRARY)
2.) 在“jni”文件夹中创建 main.cpp:
#include <jni.h>
using namespace std;
#ifdef __cplusplus
extern "C" {
#endif
class Test {
public:
Test(){};
~Test(){};
int SomeFunc() { return 5; }
};
jint Java_com_example_activity_MainActivity_SomeFunc(JNIEnv *env, jobject thiz)
{
Test *test = new Test();
return test->SomeFunc();
}
#ifdef __cplusplus
}
#endif
3.) 添加调用以在调用活动中加载库(本例中为 MainActivity.java):
static {
System.loadLibrary("main_jni");
}
4.) 在调用活动中定义原生函数:
native int SomeFunc();
5.)从活动中调用它:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView) this.findViewById(R.id.text);
text.setText(String.valueOf(SomeFunc()));
}
6.)从项目的根文件夹运行“ndk-build”命令(注意:在这一步之后在Eclipse中刷新项目)
7.) 重新构建并运行应用程序