libiconv.so:有文本重定位

时间:2016-05-21 08:08:25

标签: android shared-libraries android-6.0-marshmallow unsatisfiedlinkerror

我的应用程序的目标是在Android 6上运行,根据我的理解,它不允许加载共享库。

有没有人遇到过这个问题并且能够成功解决它?

  

java.lang.UnsatisfiedLinkError:dlopen失败:/data/app/com.XXX.XXX-2/lib/arm/libiconv.so:有文本重定位

1 个答案:

答案 0 :(得分:8)

Android 6不再支持共享对象的动态链接。静态链接仍然有效。但是,您的问题与此无关。

由于文本重定位,库甚至没有加载。

这是由于Android NDK中的一个旧错误,早在2012年。谷歌认为它可以通过Lollipop解决,然后忽略用户警告,它不是。该错误在以后的NDK中重新出现,所有API版本> = 22都被视为已损坏。现在,禁止部署具有文本重定位的应用程序,而不是解决问题。

第一份报告: https://code.google.com/p/android/issues/detail?id=23203

要避免此问题,请尝试使用API​​ 21编译您的应用程序。请参阅IDE文档,了解如何定位各种操作系统版本。