1、先用eclipse新建JAVA工程
2、在JAVA文件中加入自己需要的native本地方法和库的加载
public native void sayHello(String name);
3、对工程进行编译,生成class
4、输入 javah -classpath bin/classes -d jni com.example.jni_test.SayHelloToCpp生成头文件
5、添加C文件去实现本地方法
#include"com_example_jni_test_SayHelloToCpp.h"
#include <android/log.h>
JNIEXPORT void JNICALL Java_com_example_jni_1test_SayHelloToCpp_sayHello
(JNIEnv *env, jobject obj, jstring name)
{
const char* pname = (*env)->GetStringUTFChars(env, name, 0);
__android_log_print(ANDROID_LOG_INFO, "JNIMsg", "Get string: %s", pname);
}
6、添加Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
LOCAL_MODULE := testJni
LOCAL_SRC_FILES := com_example_jni_test_SayHelloToCpp.c
include $(BUILD_SHARED_LIBRARY)
7、
用ndk-build编译生成libtestJni.so => libs/armeabi/libtestJni.so
8、在java文件中要添加
static {
System.loadLibrary("testJni");
}