Overview
###添加Native Support
创建Android工程,Add Native Support。
###声明native方法
在Java文件中,声明native方法,这个方法没有方法体。形如,public native int getSumFromJNI(int x, int y);
###Android.mk
在Android.mk中,告诉编译期源文件的位置等信息,并添加所需的类库。以下是最简单的Android.mk。
1
2
3
4
5
6
7
8
9
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
###实现native方法
在project/jni目录下的C文件中,添加头文件和代码。对于方法的命名是Java_包名_方法名
。
1
2
3
4
5
6
#include <jni.h>
jint Java_com_example_hellojni_HelloJni_getSumFromJNI( JNIEnv* env, jobject thiz, int x, int y)
{
return x + y;
}
###加载动态库
在Java文件中,加载动态库。
1
2
3
static {
System.loadLibrary("hello-jni");
}
###编译运行
进入project目录,执行ndk-build
。
编译完成后,会在libs目录下生成libhello-jni.so。