android的二进制格式,如何在Android中运行已编译的二进制文件?

这篇博客探讨了如何在Android设备上运行已编译的二进制文件,重点在于分析二进制文件的动态链接库需求,如liblog.so、libm.so、libc.so和libdl.so。文章提到,确保这些库在设备上可用,并通过设置LD_LIBRARY_PATH环境变量来确保动态链接成功。如果遇到问题,可能是因为二进制文件与系统库版本不匹配,建议尝试使用旧版工具链。
摘要由CSDN通过智能技术生成

您的二进制文件显然取决于动态链接不可见的某些共享库(.so).您可以使用工具链中的readelf来获得如下内容:

tom@pc:~/workspace/test/arm-v7a_android9/release$~/toolchains/armeabiv7a_android-9_ndk-r10e_gcc-4.9/bin/arm-linux-androideabi-readelf -d test

Dynamic section at offset 0x445a14 contains 27 entries:

Tag Type Name/Value

0x00000003 (PLTGOT) 0x44fc50

0x00000002 (PLTRELSZ) 1864 (bytes)

0x00000017 (JMPREL) 0x74d24

0x00000014 (PLTREL) REL

0x00000011 (REL) 0x74cd4

0x00000012 (RELSZ) 80 (bytes)

0x00000013 (RELENT) 8 (bytes)

0x00000015 (DEBUG) 0x0

0x00000006 (SYMTAB) 0x8148

0x0000000b (SYMENT) 16 (bytes)

0x00000005 (STRTAB) 0x26718

0x0000000a (STRSZ) 273460 (bytes)

0x00000004 (HASH) 0x6934c

0x00000001 (NEEDED) Shared library: [liblog.so]

0x00000001 (NEEDED) Shared library: [libm.so]

0x00000001 (NEEDED) Shared library: [libc.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值