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

时间:2016-02-25 12:31:21

标签: android linux adb

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

您好!

我在Linux Deploy上使用gcc编译,据我所知,将Ubuntu和chroots下载到环境中。该文件在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

1 个答案:

答案 0 :(得分:3)

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