在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

出现「java.lang.UnsatisfiedLinkError… has text relocations」的解决办法

2016-8-29 13:15| 发布者: zhangjf| 查看: 699| 评论: 0

摘要: 遇到的问题 前几天在做有关扫一扫的功能时,使用了zxing,在Android6.0的系统上出现了如下反应:Process: com.mhealth37.BloodPressure, PID: 21082 java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/c ...
遇到的问题

前几天在做有关扫一扫的功能时,使用了zxing,在Android6.0的系统上出现了如下反应:

  1. Process: com.mhealth37.BloodPressure, PID: 21082
  2. java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.mhealth37.BloodPressure-1/lib/arm/libiconv.so: has text relocations
  3. at java.lang.Runtime.loadLibrary(Runtime.java:384)
  4. at java.lang.System.loadLibrary(System.java:1086)
  5. at com.mhealth37.butler.bloodpressure.activity.CameraScanActivity.<clinit>(CameraScanActivity.java:65)
  6. at java.lang.Class.newInstance(Native Method)
  7. at android.app.Instrumentation.newActivity(Instrumentation.java:1070)
  8. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2342)
  9. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2504)
  10. at android.app.ActivityThread.access$900(ActivityThread.java:165)
  11. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)
  12. at android.os.Handler.dispatchMessage(Handler.java:102)
  13. at android.os.Looper.loop(Looper.java:150)
  14. at android.app.ActivityThread.main(ActivityThread.java:5546)
  15. at java.lang.reflect.Method.invoke(Native Method)
  16. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
  17. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
复制代码
解决办法

随着今天国产手机ROM都逐渐升级到了Android6.0系统,我相信肯定会有很多开发者会遇到此类问题,今天我就分享一个解决办法,其实非常简单,这个libiconv.so(xx.so)文件使用了较低版本的SDK,当时我的targetSdkVersion为23,所以我就降低到了22,就不会再报错了,而且能够正常使用了。 这是libiconv.so文件的解决办法,如果你用的那个xx.so文件降低到22还报错的话,建议继续降低版本尝试。

例子:
  1. compileSdkVersion 23
  2. buildToolsVersion '23.0.3'
  3. defaultConfig {
  4. applicationId "com.loonggg.xxxx.xxxx"
  5. minSdkVersion 11
  6. targetSdkVersion 22
  7. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  8. versionCode 55
  9. versionName "5.2.4"
  10. // dex突破65535的限制
  11. multiDexEnabled true
  12. // 默认是umeng的渠道
  13. manifestPlaceholders = [UMENG_CHANNEL_VALUE: "loonggg"]
  14. }
复制代码

移动开发者的聚集地,公众号“非著名程序员”,每天一篇原创技术分享和移动互联网知识分享,微信公众号:smart_android,头条号和百度百家账号都是“非著名程序员”。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-6 19:42

Copyright 2015-2025 djqfx

返回顶部