Answers:
否。您应该要求应用开发者这样做。
在类似UNIX的系统上,权限通过称为UID的方式进行管理。
每个进程都有一个进程,它决定了他们可以访问的内容。此外,还有一些具有其成员可以使用的权限的组。当应用程序具有权限时,例如将Write to SD card
它们放入具有此权限的组中。
根权限是一个例外,因为它们不是在应用的清单中声明的,而是在其代码中声明的。根也不是一个组,而是一个单独的UID(因为它是一个单独的用户),因此应用程序使用起来并不容易。 必须明确编写具有root权限的应用程序。
这种工作方式是每次应用程序要以root用户身份执行操作时,它都必须请求su
二进制文件来代替。su
然后将询问管理这些权限的应用程序(例如SuperSU)是否允许该应用程序获得root访问权限。如果不是,它将提示您允许或拒绝它。然后,该操作将以root
而不是应用用户的身份执行。这些操作不是应用程序的组成部分,而是外部可执行文件。
从理论上讲,可以将其添加到应用程序中,但这将是一个不平凡的过程,需要掌握编写smali代码的知识,这是Dalvik虚拟机(运行apk文件的系统部分)的内部格式,称为斯马里语。即使这样,如果该应用程序允许其他应用程序访问它,也将存在巨大的安全风险:它不知道如何将特权根访问权限与其正常访问权限分开。因此,实际上这是不可行的。
su <app>
)启动,它将以根用户身份访问该根文件,从而获得许可。
我找到了一种可以帮助您的方法。我用它来授予对Tasker的 root访问权限。
如果使用终端仿真器使用以下命令授予对文件夹的读取但不写访问权限
su
chmod 775 /location/of/folder/
那么您的文本编辑器将能够读取该目录,因此,如果您随后尝试将文件保存在该文件夹中,则它将尝试请求root权限。
它也可能只给出写错误。
/location/of/folder/
从根到顶部的所有目录都必须可读/可遍历。SELinux也可能拒绝访问。因此,这种方法很少实用。