簡介
Java JNI意思是Java Native Interface(Java本地接口),主要為了方便Java調(diào)用C、C++寫的本地代碼封裝的一層接口。顧名思義,通過Java JNI,用戶可以調(diào)用用C、C++編寫的本地代碼。
NDK (Native Development Kit) 是Android所提供的一個集合,通過NDK可以在Android中更加方便地通過JNI來訪問本地C/C++代碼。
使用NDK有以下優(yōu)點:
- 提高代碼的安全性。由于so庫反編譯比較困難,因此NDK提高了Android程序的安全性。
- 方便使用目前已有的C/C++開源庫。
- 便于平臺間的移植。通過C/C++實現(xiàn)的動態(tài)庫可以比較方便的在其他平臺上使用。
- 提高程序在某些特定的情形下的執(zhí)行效率,但是并不能明顯提升Android程序的性能。
JNI和NDK主要用于底層和嵌入式開發(fā),在Android的應(yīng)用層開發(fā)中使用的比較少。