1

我在路径上的内部存储上有一个文件,例如/data/data/<package name>/folder/myfile 我没有访问此文件的权限,但对于我的实现,我必须阅读此文件。为此,我首先在文件上运行命令并通过命令su设置权限,然后尝试访问该文件。但仍然显示该文件不存在。请告诉我如何才能读取此文件。chmod777

以下是我想要做的。

public void runChmodAndSU(String filePath)
  {
    Process chperm;
    try {
        chperm = Runtime.getRuntime().exec("su");

        DataOutputStream os = new DataOutputStream(chperm.getOutputStream());
        os.writeBytes("chmod 777 "+ filePath +"\n");
        os.writeBytes("exit\n");
        os.flush();

        chperm.waitFor();


    } catch (IOException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {

        e.printStackTrace();
    }
}

运行上面的代码后,我以这种方式检查它:

 File myFile  = new File(filePath);

    if (myFile.exists())
    {
        Log.e("Success!", "myFile Exists");
    }
    else {
        Log.e("Failure!", "myFile Does not Exists");
    }

请告诉我如何阅读这个文件。有没有其他方法可以访问您无权访问的文件?

4

2 回答 2

1

如果没有在 AndroidManifest.xml 中为您的应用程序设置的适当权限,您不能也不应该被允许访问此类文件。

我不知道您是否打算将其用作“请为我破解机器人?” 问题,或者如果您只是不知道 android 的使用权限是什么,但是您的问题的措辞方式,您真的不应该能够访问该文件。

于 2013-08-28T17:54:17.103 回答
0

如果su正在工作,请尝试chmod -R 777 /data/data/<package name>/

于 2013-05-22T15:15:28.243 回答