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