关于 targetSdkVersion=23 底层动态库报错: has text relocations

    xiaoxiao2021-03-25  104

    从 API 23 开始,共享对象将不得包含文本重定位。也就是说,代码必须按原样加载,不得对其进行修改。

    问题就是:当android studio的targetSdkVersion = 23时,之前能用的动态库在代用的时候会报错,错误信息包含has text relocations ....

    官方给出的解决方案:wiki.gentoo.org/wiki/Hardened/Textrels_Guide

    其实看了看,出现这个问题是因为加入了汇编优化造成的(简单猜测),于是试了下将之前报错的so中的 enable-asm设置成disable重新编译动态库,然后就可以了。

    所以,给出一个简单的,暂时的解决方案:

    将so中的asm关闭,重新编译动态库,试一试,说不定就可以用了?

    如果怕关闭汇编优化降低效率,那只能看着官方给出的方案去修改汇编的代码了。

    转载请注明原文地址: https://ju.6miu.com/read-20660.html

    最新回复(0)