Android - 普通设备和 root 设备上的权限差异是什么

Android - 普通设备和 root 设备上的权限差异是什么

我有两部安卓手机,一部已经root,另一部没有。当我在两部手机上运行以下代码而不请求 root 权限时,

system("echo \"abc\" > /data/a.txt\n");

root 后的手机返回错误 2 (512);普通电话返回错误1(256,权限被拒绝)。所以我的问题是,是什么造成了这种差异。

答案1

至少在我的桌面Linux系统上,errno 2是ENOENT,即没有这样的文件或目录。您可以使用命令找到errno答案(尽管您的手机上可能没有该命令)。

这可能意味着您的手机上没有 /data(这很奇怪)。当我在 shell 中尝试(不是在 C 程序中,正如您所做的那样)时,我的 root 手机(Galaxy Nexus,运行股票 Jelly Jean 4.2.2)给出了权限被拒绝

我建议ls -ld /data开始,也许也which echo看看那里是否有什么不同。或者你可能没有 shell;有效吗system("true")

相关内容