Android N预览dlopen()"没有章节标题"错误

时间:2016-07-26 09:09:43

标签: android android-ndk elf upx android-n-preview

我使用UPX压缩了Android APP的libs。在Android N Priview5设备上运行时,出现错误:" dlopen失败:xxx.so没有节标题"。

我找到了Android Linker的更新日志: http://android-developers.blogspot.com/2016/06/android-changes-for-ndk-developers.html

它表示"每个ELF文件都包含节标题中包含的其他信息。这些头必须现在存在,因为动态链接器使用它们进行健全性检查。 "

但是在压缩的白色UPX之后,缺少ELF的节标题,我该如何解决这个问题。

  

ELF标题:

     

Magic:7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00

     

班级:ELF32

     

数据:2'补充,小端

     

版本:1(当前)

     

OS / ABI:UNIX - System V

     

ABI版本:0

     

类型:DYN(共享对象文件)

     

机器:ARM

     

版本:0x1

     

入口点地址:0x0

     

程序头的开始:52(字节到文件)

     

节标题的开头:0(字节到文件)

     

标志:0x5000000,版本5 EABI

     

此标题的大小:52(字节)

     

程序头大小:32(字节)

     

程序头数:7

     

节标题的大小:0(字节)

     

节标题数:0

     

节头字符串表索引:0

1 个答案:

答案 0 :(得分:1)

https://github.com/upx/upx/issues/65

您可以添加参数:

--android-shlib