jenkins 中集成JNI的坑

Posted IT小不点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins 中集成JNI的坑相关的知识,希望对你有一定的参考价值。

有包名
1.生成class
> javac myjni\HelloJNI.java
2.生成.h文件
> javah -d include myini.HelloJNI
3.生成.dll文件
> gcc -I/opt/jdk/include -I/opt/jdk/include/linux -fPIC -shared -o HelloJNI.dll HelloJNI.c
4.运行java程序
> java myjni.HelloJNI
如果你这步发生问题,如果这步你收到java.lang.UnsatisfiedLinkError异常,可以通过如下方式指明共享库的路径:
java -classpath . -Djava.library.path=‘.‘ myjni.HelloJNI


不含包名的java程序编译步骤:
javac HelloJNI.java
javah -d include HelloJNI
gcc -I/opt/jdk/include -I/opt/jdk/include/linux -fPIC -shared -o libHelloJNI.so HelloJNI.c
java HelloJNI
如果有报错试试下面的命令
java -classpath . -Djava.library.path=. HelloJNI

 

+ javah -jni com.nutlet.activity.HelloJNI
Error: Could not find class file for ‘com.nutlet.activity.HelloJNI‘.
提示这个报错的时候在javah 后面增加 -classpath ./ 就可以了。
初步判断是javah需要classpath路径

以上是关于jenkins 中集成JNI的坑的主要内容,如果未能解决你的问题,请参考以下文章

现有项目中集成Flutter

在intelliJ项目中集成Kotlinx协同程序

片段中的Android Studio RecyclerView [重复]

pytest+jenkins+allure搭建中遇到的坑

使用 chaquopy 在 android studio 中集成 python 代码(对象检测代码)

在 swiftUI 中集成重复代码,比如继承之类的