禁用 supersu 权限对话框
Posted
技术标签:
【中文标题】禁用 supersu 权限对话框【英文标题】:Disable supersu permission dialog 【发布时间】:2014-09-04 08:00:41 【问题描述】:当我的应用需要执行需要 root 访问权限的任务时,是否可以禁用“授予/拒绝”弹出对话框?我完全控制了应用程序将在其上运行的设备(内部项目),该设备已植根并且它具有 supersu 2.x 应用程序。
This 告诉我需要为我的应用声明android.permission.ACCESS_SUPERUSER
权限以禁用弹出窗口,但它没有效果。
有没有简单的方法来解决这个问题(无需更改选项 i supersu 应用设置)?
【问题讨论】:
【参考方案1】:删除 SuperSU APK(通常是 /system/app/Superuser.apk
或 /data/app/eu.chainfire.supersu*.apk
或 /system/app/SuperSU/SuperSU.apk
)和 rm -rf
/data/data/eu.chainfire.supersu
目录,su
命令将始终授予访问权限而不显示提示。
如果您要为项目制作自定义固件映像,只需排除 APK。
请注意,来自 adb shell 的 pm path eu.chainfire.supersu
将为您提供 APK 的确切路径。
【讨论】:
这取决于您要开发的应用程序,但如果您正在开发一些有用的东西(而不是试图伤害/抢劫等您的用户),那么这可能是您可以给出的最糟糕的建议! “我完全控制了应用程序将在其上运行的设备(内部项目)”【参考方案2】:您无法决定在您的应用中禁用提示。这是任何应用程序都无法更改的安全措施。
如果您的设备已植根并且您拥有 supersu,您仍然可以摆脱该对话框。您必须更改 supersu 中的设置:Settings --> Access --> Default access --> Grant
【讨论】:
那么android.permission.ACCESS_SUPERUSER
有什么意义呢?
@Misterer 它只是授予您请求 SU 访问权限的权限,实际上并没有授予它。想想看,如果任何应用程序都可以在没有用户特别确定的情况下获得 SU 访问权限,那将是一场安全噩梦。
在安装应用程序时向用户显示请求的权限列表。如果他们决定他们想要声明 su 要求的应用程序,这意味着他们接受并允许它。我没有看到这里的问题。
@Simon 完全正确。想想 any 应用程序能够在未经用户同意的情况下执行 anything。这不应该发生,Chainfire(SuperSu 的创建者)不会启用你想做的事情。【参考方案3】:
这是不可能的,您不能干扰另一个应用程序的逻辑,即在访问 su 时显示弹出窗口的应用程序(例如 Superuser)。
【讨论】:
以上是关于禁用 supersu 权限对话框的主要内容,如果未能解决你的问题,请参考以下文章