无法将文件写入android root

时间:2013-06-15 17:15:21

标签: android root

我只是想找一个应用程序来访问超级用户访问并理解它正在运行。

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

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");
    }
}

当我调用此方法时,正在显示一个toast ROOTED !。表示必须在手机的temporary.txt文件夹中创建文件/system/etc。但是当我使用Root Explorer app浏览到该文件夹​​时,我什么都没看到。 这件事令我困惑,因为显示了ROOTED !吐司,但我看不到该文件。

是的,我的手机根深蒂固。

1 个答案:

答案 0 :(得分:2)

System已装入ro,如果您想尝试在system/etc内写一些内容,则应首先将其重新装入rw

编辑:

来自装载文档

  

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

那是我设备上的输出:

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

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