devops NDK是什么?
NDK是什么?NDK用于開發(fā)Android手機軟件,但與SDK不同的是,NDK使用C語言,SDK使用Java語言。NDK開發(fā)的軟件直接在Android環(huán)境下運行。一般來說,它只能在有特定CPU指令集的
NDK是什么?
NDK用于開發(fā)Android手機軟件,但與SDK不同的是,NDK使用C語言,SDK使用Java語言。NDK開發(fā)的軟件直接在Android環(huán)境下運行。一般來說,它只能在有特定CPU指令集的機器上運行,而C語言可以直接與硬件對話,因此一般用于開發(fā)手機驅動程序或底層應用程序。SDK開發(fā)的軟件運行在Android上的Dalvik虛擬機上,因此如果沒有特殊的需要或部署,則是針對某個硬件來開發(fā)的,您通常使用SDK
區(qū)別如下:
JNI是java調(diào)用本機機制,這是java語言的一個特性。它的全名是Java本機接口,類似于微軟的P/invoke。Net框架,可以使C#或可視化基本.Net調(diào)用C/capi,因此JNI與Android無關。在PC上開發(fā)Java應用程序,如果運行在Windows平臺上,經(jīng)常使用JNI,比如讀寫Windows注冊表。
NDK是Google推出的一個開發(fā)包,幫助Android開發(fā)者用C/C本地語言編寫應用程序。它包含C/C頭文件、庫文件、文檔和示例代碼。
我們可以理解,它是用純C/C編寫的,就像Windows平臺SDK一樣,但是Android不支持用純C/C編寫的應用程序,同時NDK提供的庫和函數(shù)非常有限,只處理一些算法效率敏感的問題。因此,android123建議初學者在學習JNI之前先學習java。
jni和ndk的區(qū)別?
NDK用于開發(fā)Android手機軟件,但與SDK不同的是,它使用C語言,而SDK使用Java語言。NDK開發(fā)的軟件直接在Android環(huán)境下運行。一般來說,它只能在有特定CPU指令集的機器上運行,而C語言可以直接與硬件對話,因此一般用于開發(fā)手機驅動程序或底層應用程序。SDK開發(fā)的軟件運行在Android上的Dalvik虛擬機上,因此如果沒有特殊需要或部署,則是針對某個硬件進行開發(fā),使用SDK