因项目需要说要使用一个由c编写的动态作为加密算法进行调用因此提前学习一下jni的使用方法,在网上也搜索到了不少资料,不过有好多资料差不多都一样的,在资料挺简单的不过用真正写个例子确实出现了不少问题,我用的环境是solaris就是
因为是测试的学习的例子所以写的不是很规范不过例子是可以使用的,以下是java的代码,以下代码只表示调用和编写的基本方法,没有什么实际的意义。
public class testparam {
/*定义加载的动态连接库的名称在这里的param名称对应的是系统库名称是libparam.so使用的动态库方式*/ static { System.loadLibrary("param"); }
//定义调用的本地方法, public native void sayworld(byte[] msg); public native byte[] getmsg();
public String getreturnmsg(){ byte[] msg=getmsg(); String rs=new String(msg); return rs; } public void saymsg(String msg){ byte[] msgbyte=msg.getBytes(); byte[] temp={0}; byte[] param=new byte[msgbyte.length+temp.length]; System.arraycopy(msgbyte,0,param,0,msgbyte.length); System.arraycopy(temp,0,param,msgbyte.length,temp.length);
sayworld(param); } public static void main(String args[]){ testparam p=new testparam(); p.saymsg("hello world!"); &
阅读(1104) | 评论(1) | 转发(0) |
|