使用CCTools编译的Android运行命令行程序

使用CCTools编译的Android运行命令行程序,android,c++,command-line,terminal,Android,C++,Command Line,Terminal,我知道这个问题以前被问过很多次;但我找不到正确的答案。不管怎样 在我的Android手机上,我安装了CCTools。我可以编译C/C++程序并使用CCTools菜单项运行它们。但是,当我试图从终端运行程序时,我得到了“权限被拒绝”。我使用Linux风格的“/a.out”来运行 tl.dr.:Android不是开发命令行应用程序的好平台 出于安全原因,Android不支持从用户存储执行文件。这是通过noexecmount标志完成的。这无法更改,因为基础文件系统不支持可执行文件。(至少在我的带有棒棒

我知道这个问题以前被问过很多次;但我找不到正确的答案。不管怎样


在我的Android手机上,我安装了CCTools。我可以编译C/C++程序并使用CCTools菜单项运行它们。但是,当我试图从终端运行程序时,我得到了“权限被拒绝”。我使用Linux风格的“/a.out”来运行

tl.dr.:Android不是开发命令行应用程序的好平台

出于安全原因,Android不支持从用户存储执行文件。这是通过
noexec
mount标志完成的。这无法更改,因为基础文件系统不支持可执行文件。(至少在我的带有棒棒糖的Nexus 5上。您可以使用
挂载-o重新挂载,exec/storage/[您的SD卡路径]
。路径可以在
挂载的输出中找到。)


作为黑客,如果您有root,可以将文件复制到/mnt/obb/。这是一个临时文件系统。您必须执行
chmod 0755/mnt/obb/[filename]
将文件标记为可执行文件。然后你可以执行它

tl.dr.:Android不是开发命令行应用程序的好平台

出于安全原因,Android不支持从用户存储执行文件。这是通过
noexec
mount标志完成的。这无法更改,因为基础文件系统不支持可执行文件。(至少在我的带有棒棒糖的Nexus 5上。您可以使用
挂载-o重新挂载,exec/storage/[您的SD卡路径]
。路径可以在
挂载的输出中找到。)


作为黑客,如果您有root,可以将文件复制到/mnt/obb/。这是一个临时文件系统。您必须执行
chmod 0755/mnt/obb/[filename]
将文件标记为可执行文件。然后你可以执行它

多谢各位。但是,CCTools如何运行命令行应用程序呢?CCTools将文件复制到缓存控制器中,该控制器允许执行文件。在那里,文件被标记为可执行文件,然后被执行。它和我的黑客一样,但有另一个目录。您可以在OnCreateI-see中看到实现。你知道C++的方法吗?使用Qt和Qdir类我可以得到临时文件夹。我想我可以在那里复制文件并执行。要在Android上运行二进制文件,你应该把它放在/data/local/目录中并使其可执行。您可能还需要使用root权限启动adbd守护程序。谢谢。但是,CCTools如何运行命令行应用程序呢?CCTools将文件复制到缓存控制器中,该控制器允许执行文件。在那里,文件被标记为可执行文件,然后被执行。它和我的黑客一样,但有另一个目录。您可以在OnCreateI-see中看到实现。你知道C++的方法吗?使用Qt和Qdir类我可以得到临时文件夹。我想我可以在那里复制文件并执行。要在Android上运行二进制文件,你应该把它放在/data/local/目录中并使其可执行。您可能还需要使用root权限启动adbd守护程序。