我只是想找一个应用程序来访问超级用户访问并理解它正在运行。
所以我正在使用以下方法将一些文本写入文件:
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 !
吐司,但我看不到该文件。
是的,我的手机根深蒂固。
答案 0 :(得分:2)
System
已装入ro
,如果您想尝试在system/etc
内写一些内容,则应首先将其重新装入rw
。
编辑:
来自装载文档
Unix系统中可访问的所有文件都安排在一棵大树中, 文件层次结构,以/为根。这些文件可以分散开来 几个设备。 mount命令用于附加文件系统 在某些设备上找到大文件树。
那是我设备上的输出:
shell@android:/ $ mount
rootfs / rootfs ro,relatime 0 0
如您所见/
以只读方式挂载