我正在尝试(并且失败)找出文件浏览器应用程序如何访问 root-only 文件夹,例如/data
。
从我到目前为止所看到的,似乎唯一的方法是使用su
生成一个新进程并执行正常的终端命令并处理标准输出,
但问题是我看过很多应用程序,例如显示存储在.apk
文件夹中的/data/app
图标。
你是怎么做到的,因为我不知道程序如何在stdout中返回。
对我而言,他们似乎无需使用外部进程即可从java中访问它。
答案 0 :(得分:2)
/data/app
中的APK是世界可读的,因此您实际上不需要root权限来读取它们,您只需要知道实际的文件名(因为您没有列出文件的权限)很容易找到。简而言之,除非你转发锁定APK,否则它是世界可读的并且是设计的。
在没有启动新进程的情况下,无法运行具有root权限的应用程序,而“root explorer”风格的应用程序正在使用聪明的技巧来认为它是可能的。它们要么将文件复制到临时文件夹以便您编辑它们然后将它们复制回来,要么管道整个管道以在内存上解析它,或者使用其他类似的方法。
所以,问题通常会变成:你想做什么以及为什么?