Android:无法在同一手机上执行通过Linux Deploy编译的文件

2023-12-22

root@hammerhead:/data/local # ./HelloWorld
tmp-mksh: ./HelloWorld: No such file or directory

Hello!

我在 Linux Deploy 上使用 gcc 进行编译,据我了解,它会将 Ubuntu 和 chroot 下载到环境中。该文件在此 chroot 环境中运行良好。

据我了解,当文件与机器的体系结构不匹配时,就会出现此错误。但它是在同一台机器上运行的!有谁知道为什么会发生这种情况?


文件权限、所有权和上下文:

-rwxrwxrwx root  root  u:object_r:system_data_file:s0 HelloWorld

ID 输出:

uid=0(root) gid=0(root) context=u:r:init:s0

使用/system/bin/sh

/system/bin/sh: ./Helloworld: No such file or directory

尝试执行不存在的文件:

/system/bin/sh: ./test: not found

您应该使用 gcc '-static' 键编译二进制文件。如果你不这样做,你的二进制文件将需要动态链接器 ld.so,这在 Android 上不存在(但肯定存在于你的 chroot 中!)。这意味着奇怪的错误消息“没有这样的文件或目录”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:无法在同一手机上执行通过Linux Deploy编译的文件 的相关文章

随机推荐