NDK稱(chēng)為native development kit本地語(yǔ)言(C&C++)開(kāi)發(fā)包轰异。而與之相對(duì)應(yīng)的則是Android-SDK(software development kit)軟件開(kāi)發(fā)包躏敢。
利用NDK可以開(kāi)發(fā)純C&C++的代碼,然后編譯成庫(kù)弃舒,讓Android-SDK開(kāi)發(fā)的Java程序來(lái)調(diào)用使用墙懂。NDK開(kāi)發(fā)的可以稱(chēng)之為底層開(kāi)發(fā)或者JNI(java native interface)層開(kāi)發(fā)堤尾,SDK開(kāi)發(fā)可以稱(chēng)為上層開(kāi)發(fā)服赎。
Android開(kāi)發(fā)中使用NDK的原因:
1、眾所周知梁沧,利用SDK編寫(xiě)的代碼檀何,生成的APK,很容易就可以反編譯了廷支,安全性極為不高频鉴,而利用NDK開(kāi)發(fā)的庫(kù),不容易被反編譯恋拍,保密性垛孔,安全性都提高了。
2施敢、很多開(kāi)源工程和大型工程都是C&C++代碼周荐,把它們轉(zhuǎn)換為純java語(yǔ)言顯然是不可能的狭莱。
3、C&C++的代碼運(yùn)行速度和效率都比java快很多概作。