Java 根命令库

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; \

现在我正在做下面的事情,以root用户身份执行命令。但整个过程似乎有点手工,所以我在谷歌上搜索了一下,找到了。这是推荐的方法还是有更好的方法

我希望能够等待命令完成,读取输出和返回值

    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为根开发者提供了一套标准化的工具 用于根应用程序的开发。最后,我们会 通过为开发人员提供健壮、易于使用的 将大大缩短开发时间的库,以及 促进代码重用。这个项目是开放给任何经验证的开发人员 觉得他们有贡献。通过共同努力,我们 可以简化我们自己的流程,提高我们的效率 应用程序,学习新技术,为我们的客户提供更好的体验 用户

    正如您可能理解的那样,RootTools为根开发人员提供了一套标准化的工具,用于开发根应用程序。如果您需要自己的非标准工具或修改RootTools的源代码。通常这个图书馆能满足你所有的需要。我在几个项目中使用了它,对此我非常高兴


    祝你好运。

    而roottools是“行业标准”?
    rm-rf
    带有未经检查的参数。。。这不可能出什么差错!请把系统编程留给系统程序员。我确实检查了参数。但你是对的,一个简单的rm就可以了。谢谢。不,不会的。请不要这样做。与其做一个聪明的混蛋,不如你能启发我一下吗?我正在尝试制作一个应用程序,允许您删除OEM安装的膨胀。请将其留给了解他们正在做什么的人,并首先培养您开发正常、不违反规则的应用程序的技能。一般来说,我不同意谷歌拒绝为管理应用程序提供特殊的用户许可,但当这样的问题被张贴出来时,很明显他们为什么选择完全隔离。