在此之前,Android平臺的第三方應用程序均是依靠基于Java的Dalvik特制虛擬機進行開發的。原生SDK的公布可以讓開發者更加直接的接觸Android系統資源,并使用傳統的C或C++語言編寫程序,并在程序封包文件(.apks)中直接嵌入原生庫文件。
使用原生SDK編程相比Dalvik虛擬機也有一些劣勢,比如程序更加復雜,兼容性難以保障,無法訪問Framework API,Debug難度更大等。開發者需要自行斟酌使用。
眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。
NDK包括了:
從C / C++生成原生代碼庫所需要的工具和build files。將一致的原生庫嵌入可以在Android設備上部署的應用程序包文件(application packages files ,即.apk文件)中。支持所有未來Android平臺的一些列原生系統頭文件和庫