期間遇到的問題,引用了這裏:點擊打開鏈接
因爲我是直接調用現有的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;