我在路径上有一个内部存储文件,例如/data/data/<package name>/folder/myfile
我没有访问此文件的权限,但对于我的实现,我必须阅读此文件。为此,我首先在文件上运行su
命令,并通过chmod
命令将权限设置为777
,然后尝试访问该文件。但仍显示该文件不存在。请告诉我如何才能阅读此文件。
以下是我要做的事。
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");
}
请告诉我如何阅读这个文件。有没有其他方法可以访问您没有权限的文件?
答案 0 :(得分:1)
如果没有为您的应用程序在AndroidManifest.xml中设置适当的权限,您不能也不允许访问此类文件。
我不知道你是否打算将它作为“我的黑客机器人?”问题,或者如果你只是不知道android的使用权限是什么,但问题的措辞方式,你真的应该无法访问该文件。
答案 1 :(得分:0)
如果 su 有效,请尝试chmod -R 777 /data/data/<package name>/