参考 https://segmentfault.com/a/1190000000658143 可能我的步骤更流畅一些哈哈
有个业务要做对西加加的调用,自己先了解了一下,记一下所得和步骤,注意copy代码的时候修改路径等,要不容易报UnsatisfiedLinkError那就是找不到对应的native方法
1. Java调用
package sf.gg;
public class Hello{
public native static int add(int x,int y); //java 代码中声明 native 方法
static {
System.load("/home/lance/main.so"); //以绝对路径加载so文件
}
public static void main(String[] args){
System.out.println(add(1,1));
}
}
2. 编译java代码(生成.class)
javac -d . Hello.java
先cd到Sources Root目录下,一般是项目的com(这里的例子是sf)的父目录,然后使用javah
javah sf.gg.Hello
4.回到原目录,可以同时把.h mv过来,编写实现add方法的C代码
#