Commit aeff429c by xmh

添加README.md

1 parent 84fdca77
Showing 1 changed file with 31 additions and 0 deletions
# 服务简介
这个项目的目的是集成所有自定义`JNI`,然后其他服务通过`http`进行调用
# 使用流程
1. 写好 native 方法,例如:
```java
public class HeatMapUtil {
public static native Point transAxis(int cameraType, Point centerPoint, Point marginPoint, Point[] cameraPoints, Point[] mapPoints, Point inputPoint);
}
```
2. 编译出 class 文件
3. 在最外层包的目录下执行命令 `javah xxx`,例如:
```shell
在 com 所在的目录下执行
javah com.viontech.keliu.jni.HeatMapUtil
java10以上的版本移除了javah,需要用 javac -h 命令
```
4. 将编译出的 `.h` 文件交给其他组人员,由他们实现方法
5. 实现方法后在需要的平台进行编译得到动态链接库,windows 下编译出 `.dll` 文件, linux 下编译出 `.so` 文件
6. 将动态链接库放入 `resources/lib` 目录下面的 `dll``so` 目录中
7. 测试方法是否能成功
# 资料
- [JNI 在 SpringBoot 中的应用](https://www.javatt.com/p/24322)
- [SPRINGBOOT环境下JAVA调用C程序生成动态链接库(.SO文件),并调用(基于JNI,UBUNTU)](https://www.freesion.com/article/8856114791/)
- [JNI返回Java对象](https://juejin.cn/post/6844903919882256391)
- [JNI 在 SpringBoot 中的应用](https://blog.csdn.net/lj402159806/article/details/86169807)
- [如何使用JNI从C中的jobject获取值](http://www.voidcn.com/article/p-rneljcrp-bxy.html)
- [jni-jobject操作对象](https://blog.csdn.net/jisuanji198509/article/details/81210727)
- [JNI 数据类型转换](https://blog.csdn.net/tantion/article/details/84248654)
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!