JNI 與 NDK
一、前言
JNI是Java調用Native機制,全稱爲 Java Native Interface,是Java 語言的特性,換句話說JNI和Android沒有關
系,在PC上開發Java的應用,如果運行在Windows平臺使用 JNI是是經常的,比如說讀寫Windows的註冊表。
二、爲什麼要使用NDK
(2)可以方便地使用現存的開源庫
大部分現存的開源庫都是用C/C++代碼編寫的。
(3)提高程序的執行效率
將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。
(4)便於移植
用C/C++寫的庫可以方便在其他的嵌入式平臺上再次使用。
NDK的這個特性既有利於代碼的重用,也可以在某種程度上提高程序運行的效率
三、JNI native方法實現步驟
(1)在Java中聲明native()方法,然後編譯(javac);
(2)用javah產生一個.h文件;
(3)編寫包含.h文件的c文件
(4)編譯c文件
(5)使用編譯成功的so文件。
四、使用NDK 編寫代碼步驟
(1)編寫Java代碼
(2)編寫相應的C/C++代碼
生成相應的.h文件
編寫相應的.c文件
(3)編譯xx-jni.c 生成相應的庫
編寫Android.mk文件
生成.so共享庫文件
(4)重新編譯XXJni工程,生成apk