【问题标题】:Disable supersu permission dialog禁用 supersu 权限对话框
【发布时间】:2014-09-04 08:00:41
【问题描述】:

当我的应用需要执行需要 root 访问权限的任务时,是否可以禁用“授予/拒绝”弹出对话框?我完全控制了应用程序将在其上运行的设备(内部项目),该设备已植根并且它具有 supersu 2.x 应用程序。

This 告诉我需要为我的应用声明android.permission.ACCESS_SUPERUSER 权限以禁用弹出窗口,但它没有效果。

有没有简单的方法来解决这个问题(无需更改选项 i supersu 应用设置)?

【问题讨论】:

    标签: android su


    【解决方案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)。

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多