错误1: java.lang.Unsatisfie.lang.UnsatisfiedLinkError no XXXXX in java.library.path

这个错误一般是找不到dll文件

执行下这个 可以看看 System.out.println(System.getProperty("java.library.path")); 其实就是我们设置的path 环境变量里的东西或者有其他系统的设置。(在windows cmd下 输入path 或者 set 都可以看)。看了这个以后你就知道这个dll或者so文件放哪里他是可以找到了,当然最简单的放这个java文件所在的目录了或者他上层目录,一般是和java src目录同层目录就好了,你看下java.library.path 中有个点号(.) 就表明是当前工作目录的意思,所以肯定在工程目录下有个位置。这个错误一般比较好解决。

错误2:java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()

这个错误是 在这个dll里找不到方法的声明,(搞了一下午害我差点装VC了,还借用到了dll查看工具)

网上说是@符号的问题 ,解决方法是用gcc 编译的时候指定参数

第1种方法:

gcc -Wl,--kill-at -shared -o jnihello.dll Native.c

这种方法生成不带@的函数声明

第2种方法:
gcc -Wl,--add-stdcall-alias -shared -o jnihello22.dll Native.c

这种方法会生成2个函数声明,一个是带@的 一个是不带@的。

第3种方法:

在你的本地方法的头文件中中的函数前面加上下划线,比如以前是

JNIEXPORT void JNICALL Java_TestNative_Hello (JNIEnv * , jobject );

现在改成

JNIEXPORT void JNICALL _Java_TestNative_Hello (JNIEnv * , jobject );

同时你的实现的cpp文件或者c文件里的函数头也要一致 前面有下划线。

如果你需要查看dll的导出函数声明可以用以下2个工具

1: dllexp

2:Anywhere PE Viewer

转载于:https://www.cnblogs.com/yefengmeander/archive/2012/11/13/2887967.html

JNI java.lang.UnsatisfiedLinkError相关推荐

  1. JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法

    JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法 参考文章: (1)JNI调用native方法出现 ...

  2. java JNI调用C语言动态链接库(java.lang.UnsatisfiedLinkError: no yourClassName in java.library.path 异常的解决方法)

    转自: http://watershitter.iteye.com/blog/477615 今天花了至少3个小时跑这个java调c的动态链接库的Hello,native world的程序.  把所有犯 ...

  3. Android解决调用JNI报java.lang.UnsatisfiedLinkError: No implementation found for的错误

    最近公司项目需求接入即时通讯功能,现在第三方的即时通讯做的比较完善,接入也很方便.最近在调试语音的时候遇到了一个.so库加载失败的问题,在网上查看都是说由于原有项目的so库和新添加的model的so库 ...

  4. java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path问题的解决

    笔者在MyEclipse中进行HDF文件的读写,遇到了java.lang.UnsatisfiedLinkError:no jhdf5 in java.library.path的问题.笔者详细地记录了整 ...

  5. java.lang.UnsatisfiedLinkError

    java.lang.UnsatisfiedLinkError 原因:jni注册的时候匹配写错了: "(I[B)[B" 如下: static JNINativeMethod meth ...

  6. Android之运行Java.lang.UnsatisfiedLinkError的错误解决办法

    1.问题 部分手机运行的时候在jni层出现这个错误,导致手机崩溃 Java.lang.UnsatisfiedLinkError 2.解决办法 是因为在我是这样写的 static {System.loa ...

  7. Android之java.lang.UnsatisfiedLinkError(Failed to register native method ***callMethod1())解决办法

    1.问题 Failed to register native method com.example.chenyu.test.JniClient.callMethod1() java.lang.Unsa ...

  8. java.lang.UnsatisfiedLinkError: no XXX in java.library.path

    其中涉及的测试源码如下: For those who didn't install Java with default settings, a systematic way for solving J ...

  9. Caused by: java.lang.UnsatisfiedLinkError: No implementation found for void com.geoway.mobile.utils

    最近一个项目中依赖: compile 'com.github.barteksc:android-pdf-viewer:2.7.0-beta.1',但是由于还使用了其他的SDK,当运行的时候就出现了这个 ...

最新文章

  1. What are some time-saving tips that every Linux us
  2. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。...
  3. 【完结】12篇GAN的优化文章大盘点,浓浓的数学味儿
  4. NFS Volume Provider(Part II) - 每天5分钟玩转 OpenStack(63)
  5. 60岁有30万资金,如何存款最安全?
  6. linux文件内容打印成二进制,如何在二进制文件中只打印可打印字符(相当于Linux下的字符串)?...
  7. Node.js npm 详解
  8. 时间选择插件Foundation datepicker
  9. 2019.04.13 - 19:34
  10. uva 11396Claw Decomposotion(二分图判定)
  11. Ubuntu下pycharm无法输入中文
  12. linux安装Linux下软件的安装与卸载方法
  13. 基于PHP的新闻管理系统(基础版)
  14. 给计算机系统打补丁,为什么我的电脑需要打补丁?
  15. HIT CSAPP 大作业
  16. Hibernate 查询Criterion数据
  17. imToken 2.7.2,你的 Eth2「入场券」待领取
  18. 微分,变分,差分的确切定义与区别
  19. 数学题还是计算机题啊
  20. Android通讯录(联系人)-ContentProvider

热门文章

  1. element ui 点击修改开启停用按钮状态
  2. 流程图讲解_流程图小作文练习,详细讲解+精选范文!你们的魔鬼来了(一)...
  3. php 获取 参数名和参数值,如何快速的获得url地址中参数名和参数值(在看PHP手册的时候无意间看见这两个函数,猜想能不能搭配使用。)...
  4. matlab 释放变量,怎么能释放已经使用的内存
  5. 使用源码安装 PostgreSQL 12.5 主从集群
  6. Linux系统根据端口号查找项目路径
  7. php 建站要学,建站新手如何开始学习php?
  8. jsp框架html,GUI构建:[jsp风格的框架通常]对由模板生成的HTML代
  9. dongle 工具 蓝牙_CC2540 USB Dongle 蓝牙抓包分析仪使用教程
  10. c语言 字符型数据如何输入,scanf()函数如何输入字符型数据?