根命令库

时间:2013-09-22 08:58:54

标签: java android root

现在我正在执行类似下面的操作以root身份执行命令。但整个事情似乎有点手动,所以我用Google搜索了一下,发现roottools。这是推荐的方式还是有更好的方法?

我希望能够等待命令完成,读取输出和ret val。

    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指出的问题的更新: 我已经对我的应用程序参数进行了urlencoding,以确保没有人可以传递“something; rm -rf /”或“something&& rm -rf /”等内容并擦除设备。但经过进一步考虑,我完全放弃了消毒论证的想法。并删除了我的部分代码。为什么呢?

  1. 为什么有人想对他们自己的设备这样做?
  2. 如果其他人能够通过恶意论证,则该设备已被盗用。

1 个答案:

答案 0 :(得分:2)

原始描述:

  

RootTools为root用户提供了一套标准化工具集   用于开发有根的应用程序。最后,我们会   通过为开发人员提供强大,易用的功能来实现这一目标   图书馆将大大缩短开发时间   促进代码重用。该项目对任何经过验证的开发人员开放   觉得他们有所贡献。通过一起投球我们   可以简化我们自己的流程,提高我们的工作效率   应用程序,学习新技术,并为我们提供更好的体验   用户。

正如您可能理解的那样 RootTools为root用户提供了一套标准化的工具,用于开发root应用程序。如果您需要自己的非标准工具或修改RootTools的源代码。通常这个库将满足您的所有需求。我在很少的项目中使用它,并对此感到非常高兴。

祝你好运。