gpt4 book ai didi

android - 在 Android 应用程序上执行基于 Root 访问权限的命令

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:57 26 4
gpt4 key购买 nike

我基本上想从 Application java 命令启动驻留在 /system/bin/... 中的进程。我尝试了所有类型的 Runtime.process.exec() 选项也尝试了 suouputStream 组合,但无法启动应用程序。我在设备和模拟器中使用代码,两者都不走运。我能够从 ADB Shell 成功运行相同的命令(因为它具有 root 权限)。

设备已 root,当我使用 adb 调试我的设备时,我可以看到 #,它也可以通过 adb 进入 su。根据我的搜索,我发现(在从 adb shell 执行 ps 之后)我可以使用 lrwz--x--x 权限运行任何命令,例如来自应用程序层的 (ls->toolbox, ps->toolbox) 但我无法执行任何其他未链接到工具箱的命令.

这不执行 ls:

Process p = Runtime.getRuntime().exec("su");
DataOutputStream os=new DataOutputStream(p.getOutputStream());
os.writeBytes("ls \n");
os.flush();

但这会执行 ls:

Process p = Runtime.getRuntime().exec("ls");

如果我能在这里得到任何帮助,我将不胜感激!我在做了大量研究后发布了这个。

最佳答案

与其将 ls\n 发送到 su 命令的标准输入,不如尝试运行:

su -c ls

su(1)-c 选项要求它以提升的权限运行命令而不是启动交互式 shell。

关于android - 在 Android 应用程序上执行基于 Root 访问权限的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com