引言
?
先問 jni是什么?
jni和ndk 的關系?
答: java調用 C、C++ 的代碼。? 兩者一個是調用,一個是用c 、c++ 寫 。?
這兩個問題問出來似乎知道又好像不知道。
?
正文
?
jni 概述
?
定義:java Native Interface 即 java本地接口
作用: 使得java 與本地其他語言(C/ C++)交互
?
jni是 java 調用 Native 語言的一種特性。
jni 是屬于java的和Android 無直接關。
?
實際中,驅動都是 C/C++ 開發的。通過JNI , java 可以調用c/C++ 實現的驅動,從而擴展java虛擬機的能力。(java代碼 里調用 C/C++ 等語言代碼 , c/c++ 代碼調用java代碼? )
jni最新 api地址:
Java Native Interface Specification Contents
?
為什么要有jni
實際使用中,? java 需要調用本地代碼進行交互。
因為 java 具備跨平臺的特點,所以java 與本地代碼交互的能力非常弱。
采用 jni特性 增強java與本地代碼交互的能力。
?
?
jni我們可以理解為一個翻譯器。 JNIEnv 就是一個橋梁? ?學習核心就是它。
?
?
?
JNI和NDK關系
?
jni 是? java 平臺jdk 提供的一套非常強大的框架? java Native Interface
相互調用交互通信 : C/ C++? Native? ?<---->? java/kotlin
?
NDK : android 平臺 提供的Native 開發工具包 Native Development Kit? 后面把開始的jni,拿到ndk里面進行封裝。
?
下一篇
https://blog.csdn.net/wulong756273/article/details/146377070
?
?
?
?
?