【问题标题】:How to get root access to "root-only" folders from java in android如何从android中的java获取对“root-only”文件夹的root访问权限
【发布时间】:2012-09-09 10:07:36
【问题描述】:

我正在尝试(但失败)找出文件浏览器应用程序如何访问 root-only 文件夹,例如 /data
从我目前阅读的内容来看,似乎唯一的方法是生成一个新进程并使用su 执行普通终端命令并处理标准输出,
但问题是我见过很多应用程序,例如显示存储在/data/app 文件夹中的.apk 图标。
你是怎么做到的,因为我不知道程序如何在标准输出中返回它。
在我看来,他们似乎以某种方式可以直接从 java 访问它,而无需使用外部进程。

【问题讨论】:

  • 所以您想访问根文件夹,但很抱歉,除非您的手机已root,否则您无法访问这些文件夹。安全性实际上很严格。
  • 当然是root了,不然我为什么要试试。我想知道的是如何在不使用外部进程的情况下访问它们。

标签: java android permissions root


【解决方案1】:

/data/app 中的 APK 是全球可读的,因此您实际上不需要 root 访问权限来读取它们,您只需要知道实际的文件名(因为您没有列出文件的权限),这很容易找出答案。简而言之,除非您前向锁定 APK,否则它是世界可读的,这是设计使然。

如果不启动新进程,就无法以 root 权限运行应用程序,而“root explorer”风格的应用程序正在使用巧妙的技巧来使这种想法成为可能。他们要么将文件复制到临时文件夹以让您编辑它们,然后将它们复制回来,要么将整个管道管道以在内存中解析它,或使用其他类似方法。

因此,通常情况下,问题变成:您要做什么以及为什么?

【讨论】:

  • "...他们正在将文件复制到临时文件夹..." 这么想...但这不会对性能造成很大影响吗?你能举个关于这个管道的例子吗?
  • 重新性能:也许,但您可能不会在您的手机/平板电脑上编辑一个 100MB 的文件。至于管道,我还没有尝试过,但是像su -c cat myfile.bin 这样的东西应该可以让你读取文件。
猜你喜欢
  • 1970-01-01
  • 2010-10-26
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
相关资源
最近更新 更多