Android 如何删除根应用程序/应用程序/文件?
我的手机坏了。我正在尝试做一个非常简单的程序。程序应该从app/app文件夹中删除文件。我该怎么做?我是新手,所以示例代码很重要。您可以使用下面的方法递归删除文件夹中的所有文件Android 如何删除根应用程序/应用程序/文件?,android,file,root,file-handling,Android,File,Root,File Handling,我的手机坏了。我正在尝试做一个非常简单的程序。程序应该从app/app文件夹中删除文件。我该怎么做?我是新手,所以示例代码很重要。您可以使用下面的方法递归删除文件夹中的所有文件 private void DeleteRecursive(File fileOrDirectory) { if (fileOrDirectory.isDirectory()) for (File child : fileOrDirectory.listFiles()) {
private void DeleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
{
child.delete();
DeleteRecursive(child);
}
fileOrDirectory.delete();
}
如果您的手机是root用户,您可以通过
su
以root用户身份发出命令,前提是su
二进制文件存在并且位于您的路径中,因为Android是Linux的一个变体。只需通过Runtime.exec()
执行delete命令,超级用户就应该注意权限提示
我举了一个简单的例子来说明它的用法:
在his上,Chainfire提供了一个Shell
类的类,您可以使用该类作为root用户执行rm
命令。rm
命令是用于删除文件(和文件夹)的命令的Linux变体
代码片段:
if(Shell.SU.available()){
Shell.SU.run("rm /data/app/app.folder.here/fileToDelete.xml"); //Delete command
else{
System.out.println("su not found");
或者,如果确定su
二进制文件可用,则可以运行delete命令(注释行)并跳过检查
来源:即使是在有根的手机中?我认为,一旦你的手机扎根,你可以做任何你喜欢的事情。这对系统目录不起作用,因为你的应用程序是沙盒,不允许访问它。
if(Shell.SU.available()){
Shell.SU.run("rm /data/app/app.folder.here/fileToDelete.xml"); //Delete command
else{
System.out.println("su not found");