SDK與NDK——JNI從入門到放棄

前言:作爲一隻想要往上爬的菜鳥,既然選擇了IT這條路,就每天都要不不停地學習新的知識,你不前進就意味着後退。。。
好了,大道理人人都懂,下面進入正題。

開發的時候,經常聽別人說什麼NDK,JNI什麼的,很多人對這塊內容也只是一知半解,那麼,從今日起,我決定開一個專題,一起來好好探索與NDK有關的知識
  

首先,我們來了解SDK與NDK兩者的區別
android sdk Android Software Development Kit, 即android軟件開發工具包)可以說只要你使用java去開發Android這個東西就必須用到。他包含了SDK Manager  AVD Manage,對於android系統的一些開發版本的管理以及模擬器管理。它只能運行純java程序,有了它模擬器纔可以使用。

        而ndk Native Development Kit)跟sdk差不多的是它也是一個開發工具包。用它開發c/c++是很方便的。他有一個強大的編譯集合。Java調CC++jni接口),是一些java如何調C的代碼。它會把C代碼編譯成一個.SO的動態庫,通過jni接口用java代碼去調用它,有了它我們可以直接在android代碼中去添加C代碼。 

        出現ndk的原因:

        很早以前android是隻有sdk的。並沒有ndk。這就意味着一旦android的開發者要使用c/c++三方庫或者需要用c/c++就必須使用非官方的法子,用javajni去調用c/c++。就像耍小聰明走後門一樣。而ndk的出現就意味着jni調用的這種方法轉正了變成官方了以後你不需要再走後面大路正面隨你走。如果要操作底層直接操作內存,操作地址那不得不去使用c/c++因爲java這塊想做這些有點困難。所以ndk是必須需要出現的。對於android來說sdkndk是同種語言的2種不同時期的必須品。

發佈了39 篇原創文章 · 獲贊 61 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章