public class JniStatic {
public JniStatic() {
System.load("/home/yym/javaTest3/libJni.so");
}
public static void main(String[] args) {
JniStatic jni = new JniStatic();
System.out.println(jni.video());
System.out.println("yym");
}
public native String video();
}
JniStatic.cpp
#include "JniStatic.h"
#include <jni.h>
extern "C" {
JNIEXPORT jstring JNICALL Java_JniStatic_video(JNIEnv *env, jobject obj) {
return env->NewStringUTF("Hello yym!"); // 这里返回了一个字符串
}
}
##编译java
javac JniStatic.java
##生成c头文件
javah JniStatic
##生成动态库
gcc -fPIC -I /home/yym/code/jdk1.8.0_361/include -I /home/yym/code/jdk1.8.0_361/include/linux -shared -o libJni.so JniStatic.cpp
##调用java
yym@ubuntu16:~/javaTest3$ java JniStatic
Hello yym!
yym