java 調用so/dll 文件

期間遇到的問題,引用了這裏:點擊打開鏈接

因爲我是直接調用現有的so/dll文件,所以寫這些文件的過程我就直接省略了,專心來寫java的操作過程了。

第一步:首先寫一個你的java代碼,

package com.hiten.jisusdk.common.util.util;


/**
 * @Auth shenwenfan
 * @Date Created in 14:26 2018/7/6
 */
public class TestSo {

    static {
        System.load("/lib/validate.so");
    }

    public native int  so_test(int a, String b);
    public native String so_test1(int a, String b);

    public static void main(String[] args) {
        TestSo testSoUtil = new TestSo();
        System.out.println(testSoUtil.so_test(1,"sfef"));
        System.out.println(testSoUtil.so_test1(2, "adb"));
    }
}


第二步:然後用這個java文件生成一個class文件,使用編譯器直接編譯,或者使用javac命令來生成都可以;記住你的class文件生成的位置,下一步要用到。


第三步:生成.h頭文件

進入到你的class目錄下(.../class)例如:進入到D:\javaCode\handleimg\target\classes下

然後執行javah命令

(涉及到特殊路徑,所以做了馬賽克,找到你們項目的真實路徑就可以)

javah命令格式爲:

例子:javah com.test.file.TestSo (完整的包名+文件名)   注意不要加後綴

平常我們的目錄結構都是 ..../class/com/project/name/module/util 

進入到class目錄下後,在執行javah命令後邊的跟的其實就是你接下來的目錄(也就是你的代碼內的路徑),這樣系統才能找到正確的文件。

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