Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得“的根访问权限”;仅限根“;android中来自java的文件夹_Java_Android_Permissions_Root - Fatal编程技术网

如何获得“的根访问权限”;仅限根“;android中来自java的文件夹

如何获得“的根访问权限”;仅限根“;android中来自java的文件夹,java,android,permissions,root,Java,Android,Permissions,Root,我正在尝试(但失败)找出文件浏览器应用程序如何访问根目录文件夹,例如/data 从我到目前为止所读到的内容来看,唯一的方法似乎是生成一个新进程,并使用su执行正常的终端命令,并处理标准输出, 但问题是,我已经看到了许多应用程序,例如显示存储在/data/app文件夹中的.apk图标。 既然我不知道程序如何在stdout中返回它,您怎么做。 在我看来,他们似乎可以从java直接访问它,而不需要使用外部进程。在/data/app中的APK是全世界可读的,所以你实际上不需要根访问来读取它们,你只需要知

我正在尝试(但失败)找出文件浏览器应用程序如何访问根目录文件夹,例如
/data

从我到目前为止所读到的内容来看,唯一的方法似乎是生成一个新进程,并使用
su
执行正常的终端命令,并处理标准输出,
但问题是,我已经看到了许多应用程序,例如显示存储在
/data/app
文件夹中的
.apk
图标。
既然我不知道程序如何在stdout中返回它,您怎么做。

在我看来,他们似乎可以从java直接访问它,而不需要使用外部进程。

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

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


所以,问题通常会变成:你想做什么?为什么?

所以你想访问根文件夹,但很抱歉,除非你的手机是根文件夹,否则你无法访问这些文件夹。事实上,安全是很难的。当然它是根深蒂固的,如果不是的话,我为什么要尝试呢。我想知道的是如何在不使用外部进程的情况下访问它们。“…它们要么将文件复制到临时文件夹…”我想是这样的。。。但这不是一个巨大的表演冲击吗?你能举一个关于这个管道的例子吗?重新性能:也许,但你可能不会在你的手机/平板电脑上编辑100MB的文件。至于管道,我还没有尝试过,但是类似于
su-ccatmyfile.bin的东西应该可以让您读取文件。