我正在计划我需要编辑系统文件的应用程序。
我只能使用root权限编辑该文件。我有一个安装了Superuser.apk的root用户手机。其他需要root的应用程序在首次启动时请求root访问权限。 我想做同样的事情,但我找不到任何有关如何为我的应用程序请求超级用户权限的提示。
我发现了一些关于意图android.intent.action.superuser的内容但是当我尝试为该意图操作启动一个活动时,我得到一个ActivityNotFoundException
。
有什么想法吗?
答案 0 :(得分:2)
意图实际上并没有获得超级用户权限,它只是与超级用户应用程序的权限授予机制进行交互。
真正的关键是要了解android的底层linux不支持升级用户的权限。相反,它支持(/已被修改为支持)用户请求以超级用户身份运行_some_other_process_的机制。
这意味着实际的root权限任务必须由不同的可执行文件完成,可能是本机“命令行”,您将在su命令委托下启动,或者您的特定修改后的android构建支持。如果您可以使用其中一个内置工具箱命令行程序找出如何完成任务,那将是最简单的 - 例如,将文件写入其他位置,然后将mv(并且可能已知chown)写到您想要的位置。还要记住,/ system通常是只读的,你必须在你写之前重新安装它。
对于你作为超级用户尝试做的任何事情都要考虑很多......很容易弄得一团糟或留下问题。如果您要将应用程序部署到其他人,请考虑您将要创建的安全漏洞。
答案 1 :(得分:0)
也许是因为你应该选择“android.intent.action.superuser”?我认为这可能是问题所在。在http://forum.xda-developers.com/showpost.php?p=2954887&postcount=7
上找到了这个来源