system.load和system.loadLibrary 网上反馈的问题

system.load和system.loadLibrary 网上反馈的问题

1、使用System.loadLibrary加载so成功,用System.load就失败?

遇到一个怪问题:

  把so放到内置SD卡中,调用System.load(),加载,出现以下报错:
  第一个错:dlopen("/storag/sdcard1/Marstool/VehDiag/Audi/libDiag.so")failde:Cannot load library:load_library(linker.cpp:814) can't map loadable segments for '/storag/sdcard1/Marstool/VehDiag/Audi/libDiag.so' :invalid argument
  第二个错:UnsatisfiedLinkError:Cannot load library:load_library(linker.cpp:814):can't map loadable segments for '/storag/sdcard1/Marstool/VehDiag/Audi/libDiag.so' :invalid argument(两个错其实都差不多一个意思)

猜测的原因:

1.文件不存在(查过发现路径没错,用代码能搜到该文件)
2.so文件有问题(后把so放到项目中进行System.loadLibrary()加载,发现可以,所以又排除)。
3.Root的权限问题(可它本身就是在内置SD文件下的,不需要Root权限,所以排除)。
4.是系统本身存在问题?(用了同样配置差不多的平板,安卓系统都是4.2.1,发现别的平板可以,所以觉得奇怪

问题未解决。

问题原网址:http://www.mayflyask.org/question/96

2、问题:

System.loadLibrary加载so库时报警告JNI_OnLoad returned bad version(-1)并且crash

原因:

System.loadLibrary加载的so库,必须有被用到,不然gDvmJni.jniVm就失败返回-1,然后就会导致程序卡死

问题原网址:http://blog.csdn.net/shirleyxiao/article/details/38386693

3、JNI例子碰到的问题:System.loadLibrary失败

问题:

在Activity的onCreate里面 System.loadLibrary时报错:java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1479]: 33 unknown reloc type 8 @ ( 0)

不知道原因。

解决方案:

楼主用Android for ARM的source code编译了一下.so,OK了。

问题原网址:http://bbs.csdn.net/topics/360074016

4、Android中动态加载JNI失效问题探究

问题:

在做so动态加载时遇到了后加载的JNI方法失效的问题。在进行动态加载3期分享时,使用so文件的动态加载作为示例,发现一个有趣的现象——在某些情况下,通过System.load("foo.so")加载进来的so并没有生效。

原因未知。

未解决。

问题原地址:http://lilei.work/2016/06/17/Dynamic-Loading-JNI-Not-Work/

5、 问题:

昨天测试人员在测试的时候,经过各种断网联网以及其他功能操作之后。 在System.loadLibrary这行的时候就会报 java.lang.UnsatisfiedLinkError: Couldn't load secret: findLibrary returned null,程序关了,重开,走到这里也一直会报这个问题了,即使重新安装也是。 只有在清除应用数据后才能正常使用。

原因未知。

解决方案:楼主找到原因,说是其他问题造成的,然后楼主就跑了。

其他留言解决方案:

产生原因1:加载库名错误
产生原因2:生成的库和运行平台不匹配,
解决办法:在jni文件夹下新建Application.mk文件其中指定 APP_ABI := all 生成所有支持平台的.so库

问题原网址:http://bbs.csdn.net/topics/390719588

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值