`
isiqi
  • 浏览: 16004721 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android ndk程序UnsatisfiedLinkError解决方案

 
阅读更多

这个问题会出现两种情况。

第一种是UnsatisfiedlinkError:dll名称。说明dll没有放到合适的位置。对于Android开发,我们一般把so放在libs目录下,但是还是会出现这个错误。根本原因System.loadLibrary函数会加载你指定的so,该so中需要链接的所有符号都需要能够链接到,如果有一个链接不成功,那么整个so也会加载失败。仔细检查so中需要的所有符号,确保其存在且在正确的位置上。

第二种是UnsatisfiedlinkError:方法名称。说明dll已经成功加载,但是方法名字错了。这个错误最最常见而且基本的解决方法是:仔细对比你的native 方法的原型确保与javah生成的原型一致。在java端修改native方法名称一定要记得更新c/c++端的函数名称,这是造成此类错误最常见的原因。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics