【问题标题】:libiconv.so: has text relocationslibiconv.so:有文本重定位
【发布时间】:2016-05-21 08:08:24
【问题描述】:
我的应用程序的目标是在 android 6 上运行,据我所知,它不允许加载共享库。
有没有人遇到过这个问题并且能够成功解决?
java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.XXX.XXX-2/lib/arm/libiconv.so: has text relocations
【问题讨论】:
标签:
android
shared-libraries
android-6.0-marshmallow
unsatisfiedlinkerror
【解决方案1】:
Android 6 不再支持共享对象的动态链接。静态链接仍然有效。但是,您的问题与此无关。
由于文本重定位,甚至没有加载该库。
这是由于 2012 年 Android NDK 中的一个旧错误造成的。Google 认为它可以通过 Lollipop 解决,然后忽略了用户警告说它不是。该错误在后来的 NDK 中重新出现,所有 API 版本 >=22 都被视为已损坏。现在只是禁止部署带有文本重定位的应用程序,而不是解决问题。
第一份报告:
https://code.google.com/p/android/issues/detail?id=23203
为避免此问题,请尝试使用 API 21 编译您的应用。请参阅您的 IDE 文档以了解如何针对各种操作系统版本。