文件浏览器中的根访问权限

时间:2011-07-04 12:09:16

标签: android root file-manager

我正在编写一个文件浏览器,它能够修改具有root访问权限的系统文件,但我遇到了一些问题。

我现在正在做的是授予我的应用root权限,但执行“su”不起作用。 如果我在adb shell中设置文件夹的权限,该应用程序工作正常但我认为root浏览不依赖于chmod。

有谁能告诉我有没有一种正确的方法让我的应用程序像root用户一样工作?

1 个答案:

答案 0 :(得分:2)

以root身份运行Android应用程序进程(其dalvik VM和本机库)非常难以实现,并且由于多种原因而不建议,包括安全性,以及因必须加载系统库的私有副本而导致的内存浪费使用从zygote继承非特权进程时可用的共享只读副本,就像在正常的应用程序启动中一样。

非官方的“su”攻击某些root用户手机的功能是让你启动一个以root身份运行的帮助程序进程,同时你的应用程序进程仍然没有特权。它不会改变调用它的应用程序的用户ID - 实际上,在类Unix操作系统上确实没有设计任何机制。

一旦有了特权帮助程序进程,您就需要通过某些进程间通信方式(例如stdin / stdout或unix域套接字)与它进行通信,以使其代表您执行文件操作。手机上的shell甚至可以用作帮助应用程序 - 文件管理器需要做的大多数操作都可以使用'cat'命令来实现。从官方上来说,这些都不是一个稳定的API,但是应用程序可访问的“su”hack无论如何都不在官方机器人中,所以整个项目都处于“不受支持”的领域深处。