顺利的话,就能生成FakeSegmentForJni.so文件。
6. 本地java程序调用FakeSegmentForJni.so,代码很简单,如下:
package FakeSegmentForJni;
import java.io.IOException;
import java.net.URI;
import java.net.URL;
/**
* This class is for verifying the jni technology.
* It call the function defined in FakeSegmentForJni.java
*
*/
public class TestFakeSegmentForJni {
public static void main(String[] args) throws Exception {
System.out.println ("In this project, we test jni!\n");
// test jni on linux local
String s = FakeSegmentForJni.SegmentALine("now we test FakeSegmentForJni");
System.out.print(s);
} // main
} // TestFakeSegmentForJni
测试代码也很简单,就是输入给FakeSegmentForJni.SegmentALine一个字符串,并且打印它的返回结果。
在linux上面打了一个jar包,输入如下命令运行上述代码:
java -Djava.library.path='/xxx/TestJni/' -jar /xxx/TestFakeSegmentForJni.jar FakeSegmentForJni.TestFakeSegmentForJni
(用-Djava.library.path指明FakeSegmentForJni_FakeSegmentForJni.so文件所在的路径,否则jvm找不到;后面FakeSegmentForJni.TestFakeSegmentForJni是main函数所在的路径)
程序运行结果是在屏幕上输出
now we test FakeSegmentForJni--copy that
这样的字样,表示成功调用FakeSegmentForJni_FakeSegmentForJni.so中的函数。