JNI——Android 與 c 的交互(1)

          在一起學Android的時候老師沒講JN,甚至連ndk都沒有講。只是提了一下,老師說,一百個做Android的裏面只會有一個用到JNI,這個用jni的同學也是在項目的個別功能中用到了一點點,所以就沒給我們講。沒想到我前幾天在項目中用到了,於是就整理一下。第一次寫博客,好緊張,作爲一個程序員,作文一向不及格的程序員,寫出來大家不要見笑。

          這次博客我會分幾篇來寫,同時我會附帶上我的代碼。

          首先呢,我們要了解一下c對c一點都不瞭解的同學,自己去找個視頻、書什麼的看一下就好了。不需要懂太多,瞭解一下就可以了。這裏給大家介紹一個c開發的工具,如果需要可以下載下來用。WY_DEVCPP_5B1107.zip

        閒話不多說,我們直接來乾貨。

        安卓開發應用層的代碼是用java寫的,而底層的代碼使用c/c++寫的,有很多時候我們在應用層實現不了的功能都需要在用c來寫。或者直接調用人家寫好的.so文件。那就要用到我們說的jni。我這裏就先介紹一下直接用c寫,然後再給大家介紹怎麼用.so文件。

       android中java和c互調分爲以下幾步:

       1,  安裝配置ndk,這個比較簡單,我覺得比配置jdk還要簡單。

    project->prefenences->Android->ndk->Browse->選擇自己的ndk目錄->Apply->ok



創建一個JNI項目的步驟
  1,創建一個Android工程
  2,在java代碼中聲明一個native方法
  3,在java代碼中調用該方法
  4,在Android工程的根目錄下建一個文件夾jni,編寫c代碼文件名要對應
  5,編寫Android.mk文件,(複製出來,然後修改就可以了)
  6,java代碼load動態庫,調用native方法
  7,NDK編譯生成動態鏈接庫編譯命令,ndk-build

步驟寫的都很清晰,而且我還附帶了代碼,這裏就不多的囉嗦了。第7步,我在簡單的提一下。

在項目的根目錄,按住shift鍵,反鍵,選擇“在此處打開命令窗口(w)”,打開命令窗口(黑窗口),然後輸入ndk-build

然後如果出現.so那就是可以了。




看完博客還是不太明白,不要緊,可以下載源碼看看。

ndk簡便開發流程



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章