Android API:如何使用root设备以编程方式访问系统文件?

问题描述 投票:0回答:1

授予我的应用程序超级用户权限后

Runtime.getRuntime().exec("su");

我仍然无法访问系统文件,例如 /bin 中的文件

File file = new File("/bin");
File[] fileList = file.listFiles(); // fileList is a null array

有什么解决办法吗?

android root
1个回答
0
投票

应用程序本身(您用 Java/Kotlin 开发的代码)永远不会获得 root 权限。只有在应用程序打开的 root shell 中,您才能执行标准 Linux 命令行工具来执行 root 操作。

因此执行

Runtime.getRuntime().exec("su");
对您的应用程序绝对没有影响。它只是启动一个 root shell,并且由于没有要执行的命令而直接关闭它。

在你的情况下,我会简单地假设

/bin
文件夹不存在。您很可能正在搜索
/system/bin
/system/sbin
。列出这些文件夹之一不需要 root 权限。另外列出
/
不需要root权限。您可以使用 Java 代码或
adb shell ls -la /
列出文件系统中的文件以查看实际存在的目录。

© www.soinside.com 2019 - 2024. All rights reserved.