【问题标题】:Android using Super User Permissions ? allowing accessAndroid 使用超级用户权限?允许访问
【发布时间】:2012-02-13 13:54:22
【问题描述】:

我试图找到在 android 设备上拥有超级用户访问权限的方法。基本上我希望我的应用程序能够删除系统文件,因此在应用程序启动后询问用户是否可以像大多数其他应用程序一样,然后我希望使用什么代码来执行这些操作?在谷歌上找不到很多东西

提前致谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    如果设备已root,您可以使用以下代码访问root shell:

        try
        {
            Process process = Runtime.getRuntime().exec("su");
            DataOutputStream outputStream = new DataOutputStream(process.getOutputStream()); 
            DataInputStream inputStream = new DataInputStream(process.getInputStream());
    
            outputStream.writeBytes(command + "\n");
            outputStream.flush();
    
            outputStream.writeBytes("exit\n"); 
            outputStream.flush(); 
            process.waitFor();
        }
        catch (IOException e)
        {
            throw new Exception(e);
        }
        catch (InterruptedException e)
        {
            throw new Exception(e);
        }
    

    其中“command”是您要执行的命令。

    【讨论】:

    • 你在哪里找到这个资源我的朋友?有任何文件吗?我猜我每次想运行需要此访问权限的命令时都使用命令变量?
    • 很高兴能帮上忙!我不记得我在哪里找到了该代码,但我知道它需要大量的谷歌搜索。该示例取自我目前正在开发的应用程序。要运行多个命令,只需执行 "outputStream.writeBytes("command\n");"和“outputStream.flush();”对于每个命令。您还可以创建要循环的命令列表。
    【解决方案2】:

    如果我没说错,您想授予您的应用程序 root 权限。这对于安装在设备上的标准 Android 映像是不可能的。 su 命令不支持切换到root。

    但是,您可以在您的设备上加载自定义的根 ROM,但恐怕没有解决方案。

    【讨论】:

    • 我使用了许多应用程序,在启动之前要求超级用户权限,所以不确定你在做什么
    • 当然,您可以请求超级用户许可,但在默认未植根且默认未修改 ROM 的设备上,这将不起作用。这就是我想说的。
    【解决方案3】:

    Here你可以找到关于如何获得root权限的清晰说明

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 2018-10-24
      相关资源
      最近更新 更多