2015-04-22 30 views
1

我是否真的需要根据我的手机来运行打印hello world的程序?扎根android手机运行交叉编译的C文件?

我想交叉编译后运行一个二进制文件。 当我将文件推入/ data/local/tmp目录时,我得到权限被拒绝。

任何想法,我应该推它,以便它可以运行?如果可能的话?

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

回答

1

不,您不需要拥有root权限即可在Android上运行可执行文件。

将文件推送到/ 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' 

它适合我。

+0

感谢兄弟!现在工作! –

1

我是否真的需要根据手机来运行打印hello world的程序?

我得到的,当我推文件到/数据/本地/ tmp目录拒绝的权限。

按下后执行chmod a+x。我似乎回想起Android运行时不了解八进制。 (或者可能是基于@Crystax的答案的其他方式)。

+1

谢谢兄弟!只需要澄清那些Android 5.0以上版本的交叉编译,您需要添加PIE标志。否则你只得到位置独立的可执行文件支持错误。所以加上--fPIE -pie –