0

我的应用程序是系统应用程序。我需要的是为所有其他应用程序执行干净的数据。据我所知,所有应用程序的数据都存储在 /data/data 中。有没有办法以编程方式删除 /data/data 中的所有文件夹/文件?

我知道如何从 adb 做到这一点:

adb shell
# rm -r /data/data

这就是我试图在代码中做到这一点的方式:

Process process;
    try {
        process = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(process.getOutputStream());
        os.writeBytes("mount -o remount,rw -t rfs /dev/stl5 /data; \n");
        os.writeBytes("rm -r /data/data; \n");
        os.writeBytes("mount -o remount,ro -t rfs /dev/stl5 /data; \n");

        return;
    } catch (IOException e) {
        e.printStackTrace();
    }
4

2 回答 2

3

根据定义,您的应用程序不能是系统应用程序,除非您已将手机植根。对于非 root 手机,您无权访问其他应用程序的数据,除非他们将数据写入公共区域并使其可在世界范围内写入。即便如此,您的应用程序也应该避免触摸它不拥有的任何东西。

如果你在 adb 中这样做会发生什么?您可能会导致其他应用程序停止正常工作。

但是,您问的是“如果我将手指伸入灯座会发生什么?”的编程等价物?我们当中明智的人会得出结论,我们没有义务回答你,如果你真的会去做的话。

于 2012-12-26T21:27:32.447 回答
2

我不知道这是否有效,但即使有效,您的程序肯定需要 root(su / 超级用户)才能弄乱该位置。

于 2012-12-26T14:58:25.750 回答