NDK全稱為native development kit本地語言(C&C++)開發(fā)包溪窒。而與之相對應(yīng)的則是Android-SDK(software
development kit)軟件開發(fā)包儡羔。
利用NDK可以開發(fā)純C&C++的代碼嘴瓤,然后編譯成庫,讓Android-SDK開發(fā)的Java程序來調(diào)用使用轴猎。NDK開發(fā)的可以稱之為底層開發(fā)或者JNI(java native interface)層開發(fā)嵌莉,SDK開發(fā)可以稱為上層開發(fā)。
Android開發(fā)中使用NDK的原因:
1捻脖、眾所周知锐峭,利用SDK編寫的代碼,生成的APK郎仆,很容易就可以反編譯了只祠,安全性極為不高兜蠕,而利用NDK開發(fā)的庫扰肌,不容易被反編譯,保密性熊杨,安全性都提高了曙旭。
2、很多開源工程和大型工程都是C&C++代碼晶府,把它們轉(zhuǎn)換為純java語言顯然是不可能的桂躏。
3、C&C++的代碼運行速度和效率都比java快很多川陆。