Android調用jni全過程

個人記錄下調用jni全過程,省的自己忘記了。哎。
有些需要準備的地方,ndk環境,ndk源碼一份,cygwin要裝好,配好profile。java要配好環境變量。

1.首先新建一個工程,建個類對調用native的方法進行聲明。
複製代碼
package com.stay.jni;

public class CallNative {
    
public CallNative() {
    }

    
static {//導入的lib名去掉前面的lib
        System.loadLibrary("skytech");
    }

    
public native byte[] readCmd(String path);

    
public native int writeCmd(byte[] cmd, String path);
}
複製代碼

2.build下項目,打開cmd,cd到該工程bin目錄下,
D:\>cd D:\android\rayn\TestJni\bin

D:\android\rayn\TestJni\bin>javah -jni com.stay.jni.CallNative

然後在bin目錄下會出現一個.h文件這是聲明的頭文件

3.我們要的是裏面聲明的方法,把我們要寫的c文件改成相同的方法名就可以了。(我做了一件非常挫的事,把實現寫到.h文件裏了,一直拿.h文件去編譯。。= =)

4.在工程裏建個jni目錄,將改好的c文件和mk文件(隨便copy一個,改下路徑和lib名就好啦)copy進去

5.將整個工程拷貝到ndk的samples目錄裏(D:\android-ndk-r5\samples)

6.打開cygwin、配好環境。打開cygwin.bat。進行編譯。萬事ok。這樣就可以成功調用jni了。

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