我正在尝试(但失败)以找出文件浏览器应用程序如何访问仅根目录文件夹(例如/data)的方式。
从到目前为止的内容来看,似乎唯一的方法是生成一个新进程并使用su执行正常的终端命令并处理标准输出,
但事实是,我见过许多应用程序,例如显示存储在.apk文件夹中的/data/app图标。
由于我不知道程序如何在stdout中返回该值,因此该怎么做。
在我看来,他们可以通过某种方式直接从Java进行访问,而无需使用外部进程。

最佳答案

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

如果没有启动新进程就无法以root特权运行应用程序,并且“ root Explorer”风格的应用程序正在使用巧妙的技巧来使之成为可能。它们要么将文件复制到一个临时文件夹中,以便您对其进行编辑然后再复制回来,要么将整个管道传递到内存中以对其进行解析,或者使用其他类似方法。

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

09-10 12:34
查看更多