永发信息网

jnative的使用始终报错

答案:3  悬赏:10  手机版
解决时间 2021-03-02 02:54
jnative的使用始终报错
最佳答案
jnative的使用始终报错是路径出现问题
  我的路径看图
  public class HelloWorld {
  //本地方法
  public native void sayHello(User u);
  //加载动态库
  static {
  System.loadLibrary("hello");
  }
  //本类方法
  public void sayHello(String str){
  System.out.println(str);
  }
  
  public static void main(String[] args) {
  // TODO Auto-generated method stub
  HelloWorld hw = new HelloWorld();
  //java
  hw.sayHello("Hello World for java!");
  //jni
  User u = new User(10,"zou");
  hw.sayHello(u);
  }
  }
  1、环境设置。
  JNative的调试信息需要打开才能更清楚些,要不总是说没加载库,跟没说一样。
  System.setProperty("jnative.debug", "true");
  如果调试信息里有System.LoadLibrary(),说明没有加载JNativeCpp.dll,指定全路径即可,双斜杠哦。
  System.setProperty("jnative.loadNative", "D:\\Test\\JNativeCpp.dll");
  2、lib库路径问题
  windows
  在windows下需要把调用的dll路径设置到环境变量PATH中,除非你不介意拷到win32中,dll依赖的库也得在PATH或win32中。
  linux
  linux下同样需要设置环境变量,编辑bashrc,添加 export LD_LIBRARY=so路径,依赖的库也得在PATH中,除非都放在/usr/lib/下
  3、lib库名称问题
  无论linux还是windows在JNative的构造函数中的lib库名字为库全名,包括扩展名dll、so,而且so需要包括前面的‘lib’,貌似与网上说的不太一样。
  4、资源释放问题
  有些设备需要先初始化在操作,最后释放,所有功能都分散在不同函数中,JNative需要有个静态的实例,每次创建调用函数时lib库依旧是加载的。
全部回答
楼主没有导入JNative的Jar包..或是导入没有导入好...
楼主再仔细查一下... 我想应该是这个原因...因为

它根本就找不到 add 方法!
祝楼主早日成功!

肯定是路径问题
我的路径看图
public class HelloWorld {
 //本地方法
 public native void sayHello(User u);
 //加载动态库
 static {
  System.loadLibrary("hello");
 }
 //本类方法
 public void sayHello(String str){
  System.out.println(str);
 }
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  HelloWorld hw = new HelloWorld();
  //java
  hw.sayHello("Hello World for java!");
  //jni
  User u = new User(10,"zou");
  hw.sayHello(u);
 }
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我和我女朋友马上要分开了。她回她家过年,我
Air Force 1 lux 白蟒
阎良老贾熟食坊地址在什么地方,想过去办事
如何理解罗大佑的亲亲表哥的歌词
上书麻陂肉丸在哪里啊,我有事要去这个地方
洁康干洗(府前大街店)地址好找么,我有些事要
普通山羊的价格
这是真表吗,要是假的值几个钱,谢了
请问一下,切菜的时候把手指头切破了,该怎么
有一个日本的节目经常采访日本漫画家的 叫啥
单路生死一路发打三个数字
洛阳市哪年开始有电
异步电动机刚启动时为什么功率因数为1
超威电瓶2o安6ov价格多少-
WOW国服4.1 人物的基本属性(5属性)分别都影
推荐资讯
小狗可以和得过细小的狗接触吗
龙蟠润滑油旗舰店河池总代理地址在什么地方,
谁知道丛江门骑摩托到台山浪琴湾怎么走,详细
期票与支票的区别有哪些
the commercial availability是什么意思
空气渗透量的计算为什么空调和供暖不一样
中国海监莆田市支队怎么去啊,有知道地址的么
巴黎婚纱旗舰店地址在哪,我要去那里办事
金丝熊仓鼠最多生几窝仔
想用51单片机控制两个步进电机画一个圆,有没
王翔的获得荣誉
下列各组元素中,元素符号的第一字母相同的一
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?