我的应用程序是一个系统应用程序。我需要的是为所有其他应用程序执行干净的数据。据我所知,所有应用程序的数据都存储在/ data /data中。有没有办法以编程方式删除/data/data中的所有文件夹/文件?
我从亚洲开发银行知道如何做到这一点:
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();
}
发布于 2012-12-27 05:27:32
根据定义,你的应用程序不能是系统应用程序,除非你已经扎根了你的手机。对于未安装根目录的手机,您无法访问其他应用程序的数据,除非它们将数据写入公共区域,并将其设置为全球可写。尽管如此,你的应用程序应该避免接触任何它不拥有的东西。
如果在adb中执行此操作会发生什么情况?您可以导致其他应用程序停止正常工作。
然而,您问的编程等同于“如果我把手指插在灯座上会发生什么?”我们当中明智的人会得出结论,我们没有义务回答你,即使你真的离开并去做的可能性很小。
发布于 2012-12-26 22:58:26
我不知道这是否有效,但即使有效,您的程序也肯定需要root (su /超级用户)才能处理该位置。
https://stackoverflow.com/questions/14042229
复制相似问题