Java 根命令库
现在我正在做下面的事情,以root用户身份执行命令。但整个过程似乎有点手工,所以我在谷歌上搜索了一下,找到了。这是推荐的方法还是有更好的方法 我希望能够等待命令完成,读取输出和返回值Java 根命令库,java,android,root,Java,Android,Root,现在我正在做下面的事情,以root用户身份执行命令。但整个过程似乎有点手工,所以我在谷歌上搜索了一下,找到了。这是推荐的方法还是有更好的方法 我希望能够等待命令完成,读取输出和返回值 public static void deleteSystemApp(Context context, String app) { final String MOUNT_RW = "mount -o remount,rw -t rfs /dev/stl5 /system; \
public static void deleteSystemApp(Context context, String app)
{
final String MOUNT_RW = "mount -o remount,rw -t rfs /dev/stl5 /system; \n";
final String MOUNT_RO = "mount -o remount,ro -t rfs /dev/stl5 /system; \n";
final String RM_APP = "rm -rf " + app + "; \n";
Process process;
try
{
process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes(MOUNT_RW);
Toast.makeText(context, RM_APP, Toast.LENGTH_SHORT).show();
//os.writeBytes(RM_APP);
os.writeBytes(MOUNT_RO);
}
catch(IOException e)
{
e.printStackTrace();
}
}
Chris Stratton指出的最新问题:
我已经对我的应用程序参数进行了URL编码,以确保没有人能够传递诸如“something;rm-rf/”或“something&&rm-rf/”之类的消息并擦除设备。但经过进一步考虑,我完全放弃了消除争论的想法。并删除了我代码的那部分。为什么?
祝你好运。而roottools是“行业标准”?
rm-rf
带有未经检查的参数。。。这不可能出什么差错!请把系统编程留给系统程序员。我确实检查了参数。但你是对的,一个简单的rm就可以了。谢谢。不,不会的。请不要这样做。与其做一个聪明的混蛋,不如你能启发我一下吗?我正在尝试制作一个应用程序,允许您删除OEM安装的膨胀。请将其留给了解他们正在做什么的人,并首先培养您开发正常、不违反规则的应用程序的技能。一般来说,我不同意谷歌拒绝为管理应用程序提供特殊的用户许可,但当这样的问题被张贴出来时,很明显他们为什么选择完全隔离。