如何从数据文件夹中读取文件?

时间:2015-09-14 14:38:00

标签: android file root

在我的应用中,我必须从数据文件夹中的文件中读取数据。但我不能这样做。我搜索了一下,但很多用户说你无法从数据文件夹中读取数据。我们看到Rootbrowser可以从android私人文件夹文件中读取数据。我的问题是如何从data/misc文件夹中读取文件?

2 个答案:

答案 0 :(得分:2)

  

在我的应用程序中,我必须从数据文件夹中的文件中读取数据

如果在“数据文件夹”中,您指的是/data或其下的任意目录,则除了根设备之外,您对大多数目录都没有读取权限。

  

我搜索过但很多用户说你无法从数据文件夹中读取数据

正确。

  

我们看到Rootbrowser可以从android私人文件夹文件中读取数据

如果“Rootbrowser”是指Root Browser,则该应用只能在有根设备上执行此操作。您可以通过阅读产品说明来说明:

  

Root Browser是root用户的终极文件管理器

答案 1 :(得分:0)

没有从任何文件夹中读取任何文件的解决方案(除非你的设备是root用户,即使这样,它可能依赖于设备),但很可能你的问题需要更具体的东西。例如,如果一个应用程序想要将数据传递给另一个应用程序,则可能。如果您需要阅读由您自己的应用程序创建的文件,它根本没问题。请询问有关您的特定问题的问题,而不是一般情况。

更新:根据评论中的讨论,结果是您使用了root设备,并且感兴趣的文件夹上的权限不允许每个人阅读它,这是关于访问策略的正常决定。如果您的应用只能在root手机上运行,​​那么您可以从https://stackoverflow.com/a/26654728/755804借用 sudoForResult()

Runtime.getRuntime().exec("ls");sudoForResult("ls "+path)之间的差异在于后一种情况lssu执行(在 sudoForResult中通过Runtime.getRuntime().exec("su");调用( ))因此具有超级用户权限。

或者,您可以尝试为每个人打开对这些文件夹的访问权限。这将需要su,必须从您的程序完成,并且将难以测试,因为在第一次运行后,目录权限将已经更改。 OTOH,如果你设法通过访问权限使你的应用程序的目录可读,你可以取消根设备,仍然让你的应用程序工作。

相关问题