本文主要是介绍关于 targetSdkVersion=23 底层动态库报错: has text relocations,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从 API 23 开始,共享对象将不得包含文本重定位。也就是说,代码必须按原样加载,不得对其进行修改。
问题就是:当android studio的targetSdkVersion = 23时,之前能用的动态库在代用的时候会报错,错误信息包含has text relocations ....
官方给出的解决方案:wiki.gentoo.org/wiki/Hardened/Textrels_Guide
其实看了看,出现这个问题是因为加入了汇编优化造成的(简单猜测),于是试了下将之前报错的so中的 enable-asm设置成disable重新编译动态库,然后就可以了。
所以,给出一个简单的,暂时的解决方案:
将so中的asm关闭,重新编译动态库,试一试,说不定就可以用了?
如果怕关闭汇编优化降低效率,那只能看着官方给出的方案去修改汇编的代码了。
这篇关于关于 targetSdkVersion=23 底层动态库报错: has text relocations的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!