Android Studio NDK-Java原生接口(JNI)

Android Studio NDK-Java原生接口(JNI)
Android Studio NDK-Java原生接口(JNI)

Android Java原生接口(JNI) 令 『Java』 同『C\C++』代碼相互調用. 之前係『MainActivity.java』声明『native』原生代碼接口.

static public native String stringFromJNI();

『native-lib.cpp』『C\C++』代碼, 它編譯共享庫『.so』檔

extern “C” JNIEXPORT jstring JNICALL

Java_net_bookcard_compass_MainActivity_stringFromJNI(JNIEnv* env,jobject  this) {

return env->NewStringUTF(“native-lib”) ;

}

缺點係只能『MainActivity.java』調用, 更佳方發係將原生代碼接口擺係單獨『Java Class』. 并声明為『static』, 可係任意位置調用『C\C++』代碼.

  1. 新建『Class』
『File』->『New』->『Java Class』
  1. 新『Java Class』填『java』
  2. 載入共享庫”geomanticcompass.so”
static {

System.loadLibrary(“geomanticcompass”);

}

  1. 声明『native』原生『static』代碼接口.
static public native String stringFromJNI();

 

發表評論