我在aarch64服务器上编译了二进制文件,并试图在aarch64体系结构的Android设备上运行它。
我在'cat'程序(左侧)上运行了readelf -a并在我的程序(右侧)上运行了相同的命令
关于在设备上运行二进制文件时为什么出现此错误的任何想法:
:/data/local # ls -lh
total 48M
-rwxrwxrwx 1 root root 1.4M 2018-11-16 10:42 example-app
-rw-rw-rw- 1 root root 47M 2018-11-14 18:03 mnist-traced.pt
drwxrwx--x 3 shell shell 4.0K 2018-11-05 16:58 tmp
:/data/local # ./example-app mnist-traced.pt
/system/bin/sh: ./example-app: No such file or directory
二进制文件已更改为751,Android设备已扎根,二进制文件在arm64服务器上运行良好。
Android设备信息:
# uname -a
Linux localhost 3.18.35 #4 SMP PREEMPT Thu May 17 18:24:00 CST 2018 aarch64
objdump
root@scw-ac272c:~/mnist-torch/build# objdump -j .interp -s ./example-app
./example-app: file format elf64-littleaarch64
Contents of section .interp:
400238 2f6c6962 2f6c642d 6c696e75 782d6161 /lib/ld-linux-aa
400248 72636836 342e736f 2e3100 rch64.so.1.
root@scw-ac272c:~/mnist-torch/build# objdump -j .interp -s ./cat
./cat: file format elf64-littleaarch64 (Android device program)
Contents of section .interp:
0238 2f737973 74656d2f 62696e2f 6c696e6b /system/bin/link
0248 65723634 00 er64.