记录自己JNI开发的一些东西,方便自己查阅

来源:互联网 发布:牛学教育 知乎 编辑:程序博客网 时间:2024/05/16 13:07

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");
}


0 0