64位应用程序在32位x86 android上运行?

时间:2015-02-02 14:35:06

标签: android linux x86 operating-system x86-64

我有一台运行64位Linux的计算机,可以通过 uname -a 看到:

Linux meitarb-IdeaPad-U430p 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

一个运行32位Linux的root设备,可以通过 uname -a 看到:

Linux localhost 3.4.34-850131 #1 SMP PREEMPT Tue Nov 26 14:21:45 KST 2013 i686 unknown

我已使用 adb push 命令将 dd 二进制文件从64位linux复制到Android设备:

$ adb push `which dd` /data/my_bin/

dd 二进制文件编译为64位,可以使用文件命令查看:

$ file `which dd`
/bin/dd: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=bd9a50b8e781047585f94fde7eb1f9703dfbde28, stripped

我在我的机器人上使用了 dd 二进制文件,它运行得很好..它的一切都很好......但为什么它有用?!据我所知,64位编译的二进制文件不应该在32位内核上运行,但确实如此。

#EDIT

不幸的是,最后它似乎只是我的一个愚蠢行为..在设备上,我添加了文件夹我已将 dd 二进制文件复制到PATH环境变量。但问题是在PATH目录中有另一个 dd 二进制编译正确的32位。然后当我运行它时,我实际上运行了正确的 dd 二进制文件。

0 个答案:

没有答案