Android(java)學習筆記206:JNI之工具快速開發步驟

下面經過一個案例說明一下,利用工具jni快速開發步驟java

1.新建一個Android工程,命名爲"03_對int數組加1",以下:android

 

2. 在MainActivity.java中對addIntArray方法進行聲明,以下:c++

 

3. 生成com_himi_addarray_MainActivity.h頭文件,以下:windows

com_himi_addarray_MainActivity.h以下已經成功生成:數組

 

4. 利用快速工具,以下:函數

(1)選中"03_對int數組加1"工程,以下:工具

 

點擊Android Tools ----> Add Native Support,以下:spa

 

點擊Eclipse中的  窗口--->首選項,以下:3d

 

 

(2)接下來咱們再次以下界面:orm

 

這個時候咱們看看工程,發現:

同時打開Android.mk,以下:

 

上面默認生成的.cpp(C++)代碼,直接把擴展名.cpp改爲.c(addarray.cpp修改擴展名,同時Android.mk中也要修改),以下:

 

 

(3)打開addarray.c,咱們會發現頭文件jni.h沒有關聯好,顯示下劃線,怎麼辦?

選中"03_對int數組加1"工程,右擊"屬性",而後是"C/C++ General " --->"Paths and Symbols",以下:

 

以後jni.h頭文件的下劃線警告就會消失了。

(4)打開addarray.c文件,開始編寫其中的代碼:

jni函數聲明在頭文件Java_com_himi_addarray_MainActivity.h中,以下:

 

將上面的jni函數聲明覆制到addarray.c文件中(去掉JNIEXPORT 和 JNICALL,同時括號裏添加形參),以下:

 

(5)回到這個MainActivity,以下:

 

同時讓程序能夠在多個平臺運行,以下:

 

(6)佈署程序到模擬器上運行,以下:

 

 

 

2. 工具開發jni(詳細步驟

(1)建立工程

(2)建立native方法

(3)配置ndk路徑

  windows-->preference-->android-->ndk 找到ndk目錄 ,肯定

(4)右鍵工程-->android tools -->add native support  輸入動態庫的文件名稱,肯定

(5)把生成的.cpp文件改爲.c,而且在Android.mk中也要.cpp改爲.c

(6)右鍵工程-->properties-->c/c++ general -->paths and sysmbols -->includes -->點擊add按鈕-->點擊file system-->找到一個任何一個平臺的include目錄

如: I:\android-ndk-r9\platforms\android-9\arch-arm\usr\include

(7)c工程師實現功能,在jni方法中調用

(8)在源代碼中加動態庫:

static {

    System.loadLibrary(".so文件名");

(9)調用native方法

(10)運行。

 

3. 總而言之,JNI開發流程能夠歸納爲下面的步驟:

(1)在java中聲明native方法
(2)編譯java源文件獲得class文件,而後經過javah命令導出JNI頭文件
(3)實現jni方法(java中native聲明的方法),使用C、C++實現
(4)編譯成so庫並在java中調用

相關文章
相關標籤/搜索