这里有一种情况,我正在开发一个Android应用程序,使用Java。我对所有这些东西都很熟悉,但现在这是我第一次需要使用SU权限。我只需要替换(实际上是重命名) system/app目录中的文件,但是看起来我不能以通常的方式执行它( file类中的renameTo方法),它只返回FALSE,这意味着在操作中有一些错误。
有人能告诉我如何使用SU吗?我的测试手机完全扎根于SU 3.0.3.2,任何需要SU的应用都运行得很好。
我是否应该使用相同的方法,但在清单中添加一些内容?我应该以某种方式使用busybox吗?
我已经在谷歌上搜索过了,但我找不到任何有用的信息。此外,Android超级用户官方网站上也没有文档。
提前感谢!
发布于 2012-01-05 22:45:32
您可能还需要将文件系统重新挂载为RW,因为/system是只读的。因此,您可能需要使用下面类似的命令调用SU:
mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system
要执行该命令,您可以尝试两种方式(我注意到在android中,有时一种方式有效,另一种方式不起作用)
Process p = Runtime.getRuntime().exec(new String[]{"su", "-c", "mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system"});
或者你可以这样做
Process p = Runtime.getRuntime().exec("su");
p.getOutputStream().write("mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system".getBytes());
p.getOutputStream().write(<my next command>);
https://stackoverflow.com/questions/8750660
复制相似问题