我用 UPX 压缩了我的 Android APP 的库。在 Android N Priview5 设备上运行时,出现错误:“dlopen failed: xxx.so has no section headers”。
我找到了 Android Linker 的更新日志: http ://android-developers.blogspot.com/2016/06/android-changes-for-ndk-developers.html
它说“每个 ELF 文件都有包含在节标题中的附加信息。这些标题现在必须存在,因为动态链接器使用它们进行完整性检查。”
但是在压缩 whit UPX 之后,缺少 ELF 的节标题,我该如何解决这个问题。
精灵头:
魔术:7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
等级:ELF32
数据:2的补码,小端
版本:1(当前)
操作系统/ABI:UNIX - 系统 V
ABI 版本:0
类型:DYN(共享对象文件)
机器:ARM
版本:0x1
入口点地址:0x0
程序头的开始:52(文件中的字节)
节头开始:0(文件中的字节)
标志:0x5000000,版本 5 EABI
此标头的大小:52(字节)
程序头大小:32(字节)
程序头数:7
节头大小:0(字节)
节标题数:0
节头字符串表索引:0