【问题标题】:Unable to write file to android root无法将文件写入android root
【发布时间】:2013-06-16 01:39:09
【问题描述】:

我只是想写一个应用程序来访问超级用户访问并了解它的工作原理。

所以我正在使用以下方法将一些文本写入文件:

public void update(View v){
    Process p;
    try{
        // Preform su to get root privledges
        p = Runtime.getRuntime().exec("su");

        // Attempt to write a file to a root-only
        DataOutputStream os = new DataOutputStream(p.getOutputStream());
        os.writeBytes("echo \"Do I have root?\" >/system/etc/temporary.txt\n");

        // Close the terminal
        os.writeBytes("exit\n");
        os.flush();

        try{
            p.waitFor();
            if(p.exitValue() != 225){
                showToast("ROOTED !");
            } else {
                showToast("not root");
            }
        } catch(InterruptedException e){
            showToast("not root");
        }
    } catch(IOException e){
        showToast("not root");
    }
}

因此,当我调用此方法时,将显示敬酒 ROOTED !。意味着文件temporary.txt 必须在我手机的/system/etc 文件夹中创建。但是当我使用 Root Explorer 应用程序浏览到该文件夹​​时,我什么也看不到。 这件事让我很困惑,因为显示了ROOTED ! toast,但我看不到文件。

是的,我的手机已经root了。

【问题讨论】:

    标签: android root


    【解决方案1】:

    System 已挂载ro,如果你想尝试在system/etc 中写一些东西,你应该先重新挂载它rw

    编辑:

    来自安装文档

    在 Unix 系统中可访问的所有文件都排列在一棵大树中, 文件层次结构,以 / 为根。这些文件可以分散在 几个设备。 mount 命令用于附加文件系统 在某些设备上找到到大文件树。

    这是我设备上的输出:

    shell@android:/ $ mount                                                        
    rootfs / rootfs ro,relatime 0 0
    

    如您所见,/ 以只读方式挂载

    【讨论】:

    • 成功了。但你能解释一下吗?我仍然感到困惑,因为我不擅长 Linux。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多