Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android手机上运行交叉编译的C文件?_Android_Android Ndk - Fatal编程技术网

在android手机上运行交叉编译的C文件?

在android手机上运行交叉编译的C文件?,android,android-ndk,Android,Android Ndk,我真的需要我的手机根来运行打印hello world的程序吗 我试图在交叉编译完二进制文件后运行它。 当我将文件推入/data/local/tmp目录时,权限被拒绝 我应该把它推到哪里,这样它才能运行?如果可能的话 或者我需要在终端模拟器上试用吗?不,在Android上运行可执行文件不需要root权限 最有可能的是,在将文件推送到/data/local/tmp之后,它没有所需的权限-这就是为什么您得到“权限被拒绝”的原因。按以下步骤操作: adb push /path/to/executable

我真的需要我的手机根来运行打印hello world的程序吗

我试图在交叉编译完二进制文件后运行它。 当我将文件推入/data/local/tmp目录时,权限被拒绝

我应该把它推到哪里,这样它才能运行?如果可能的话


或者我需要在终端模拟器上试用吗?

不,在Android上运行可执行文件不需要root权限

最有可能的是,在将文件推送到/data/local/tmp之后,它没有所需的权限-这就是为什么您得到“权限被拒绝”的原因。按以下步骤操作:

adb push /path/to/executable /data/local/tmp
adb shell chmod 0755 /data/local/tmp/executable
adb shell 'cd /data/local/tmp && ./executable'
它对我有用

我真的需要我的手机根来运行打印hello world的程序吗

没有

当我将文件推入/data/local/tmp目录时,权限被拒绝


按下按钮后执行
chmod a+x
。我似乎记得Android运行时不理解octal。(或者根据@crystax的回答,可能是另一种方式)。

谢谢兄弟!还需要澄清的是,对于那些拥有Android 5.0+的用户,要交叉编译,需要添加饼图标志。否则,您将得到仅支持位置独立的可执行文件的错误。所以加上-fPIE-pie