JNI 问题 wrong ELF class
使用JNI发现一个问题,
- wrong ELF class: ELFCLASS64)
主要是机器是64位的OS,默认编译的.so是64位
而java设置的默认是32位 JDK, 所以会出现这个问题。
那么就采用编译成32位的.so, 安装 glibc-devel.i686
然后编译指定 -m32 就可以了,
- 如果执行出现Not found in java.library.path),这是因为JVM没有找到相应的native library,
那么就需要设置相应的 path 可以通过
1 |
java -Djava.library.path='.' HelloWorld |
或者
1 |
LD_LIBRARY_PATH=`pwd` |
这样就搞定了
JNI简单过程:
大专栏 JNI 问题 wrong ELF classclass="gutter">
1 |
1)创建一个Java程序,定义原生的c/c++函数 |
参考资料:
http://www.cnblogs.com/xiaoxiaoboke/archive/2012/02/13/2349775.html
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html#examp
http://blog.csdn.net/mdemonhunter/article/details/6254478
JNI 问题 wrong ELF class的更多相关文章
- Replacing JNI Crashes by Exceptions on Android
http://blog.httrack.com/blog/2013/08/23/catching-posix-signals-on-android/ To Report Or Not To Repor ...
- 利用gdb 调试android jni c动态库
http://blog.dornea.nu/2015/07/01/debugging-android-native-shared-libraries/ Since I haven't done thi ...
- 检测目标程序ELF bit是32还是64
android操作系统在5.0之后加入了对64位程序的支持,同时兼容运行32位的进程 android的进程绝大部分是zygote父进程fork出来的子进程 zygote进程fork出来的进程是32位进 ...
- JNI学习&使用过程中的错误
Part 1 Ubuntu下JNI的简单使用: http://blog.csdn.net/fengqiaoyebo2008/article/details/6210499 Part 2 在eclips ...
- 解决jni链接时找不到函数的问题
用jni调用库函数时,经常会碰到link的错误,具体出错信息如下: 08-07 01:42:06.490: E/AndroidRuntime(1665): java.lang.UnsatisfiedL ...
- JNI动态库生成、编译、查看相关简易资料
有一篇好博文,大家可以看下http://www.cnblogs.com/zhangweia/archive/2010/09/16/1828176.html,我这里是参考其做的另外一个javah -cl ...
- Android程序中,内嵌ELF可执行文件-- Android开发C语言混合编程总结
前言 都知道的,Android基于Linux系统,然后覆盖了一层由Java虚拟机为核心的壳系统.跟一般常见的Linux+Java系统不同的,是其中有对硬件驱动进行支持,以避开GPL开源协议限制的HAL ...
- Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。
1.从来没有这么郁闷,之前安装都是好好的,自从将Centos升级到7.0版本,安装了jdk报了这个错误,也是郁闷的一毛,参考了一下百度的,记录一下.使用java命令还有java -version命令都 ...
- Android7.0后JNI库必须保留Section Headers
此修改在官网的描述如下: Each ELF file has additional information contained in the section headers. These header ...
随机推荐
- grub.cfg文件编辑
grub2启动项里面找不到Windows的情况,这时候就需要自己去配置grub.cfg 在grub.cfg中加入如下代码: menuentry 'Windows Boot Manager (on /d ...
- 填平新版本Xcode安装插件不成功的坑
一般情况下,安装xcode不成功现象基本上都出现在更新xcode或者重装之后出现的情况,下面原理性德东西,我就不赘述了,度娘上很容易看到,通过这段只是希望大家花费尽量少得时间将xcode插件安装成功. ...
- 17.3.13--pycharm2和3的常识问题
1------pycharm 3~支持print(),不支持那个 print+一个空格的形式 pycharm2~~支持print+一个空格,,也支持那个print()形式 虽然print语法是Pyth ...
- 指定linux 下默认python版本
sudo rm -rf python sudo ln -s /usr/bin/python3 /usr/bin/python
- Django与AJAX-choice字段-MTV和MVC模型-sweetalert搭建页面
Django中的choice字段 应用的场景: 用户信息举列:如用户性别.婚否.学历.工作状态等可以列举出来供选择的信息 书写models创建表模型: 数据的获取和查询: 总结: "&quo ...
- trie(字典树)原理及C++代码实现
字典树,又称前缀树,是用于存储大量字符串或类似数据的数据结构. 它的原理是利用相同前缀来减少查询字符串的时间. 不同于BST把关键字保存在本结点中,TRIE可以想象成把关键字和下一个结点的指针绑定,事 ...
- 四、linux-mysql 下MySQL的管理(一)
1.mysql启动的实质: 在单实例中,/etc/init.d/mysql start 是一个shell脚本,调用mysqld_safe脚本,最后调用mysqld服务启动mysql. 2. 关闭mys ...
- [LC] 452. Minimum Number of Arrows to Burst Balloons
There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...
- 吴裕雄--天生自然python机器学习:使用K-近邻算法改进约会网站的配对效果
在约会网站使用K-近邻算法 准备数据:从文本文件中解析数据 海伦收集约会数据巳经有了一段时间,她把这些数据存放在文本文件(1如1^及抓 比加 中,每 个样本数据占据一行,总共有1000行.海伦的样本主 ...
- Date类与SimpleDateFormat类中parse()方法和format()方法
package ppt11util类; import java.text.ParseException; import java.text.SimpleDateFormat; import java. ...