gpt4 book ai didi

android - 以 root 身份运行 NanoHttpd

转载 作者:行者123 更新时间:2023-11-30 01:14:22 24 4
gpt4 key购买 nike

我想运行 NanoHttpd在 Android (KitKat 4.4) 设备上并将其绑定(bind)到端口 80。

我知道我只能以 root 用户身份绑定(bind)到端口 80。我的设备已获得 root 权限,我可以成功启动具有 super 用户权限的进程,如下所示:

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

blog post向我展示了如何使用 ProcessgetOutputStream() 方法编写文件。

但是,我想在根进程中运行 NanoHttpd。那可能吗?还是我只能使用 shell 命令?或者我可以从脚本启动我的应用程序吗?

最佳答案

您可以使用以下命令(具有 super 用户权限)在脚本中启动您的应用:

am start -n your.package.name/.YourActivity

相应地替换 your.package.name.YourActivity

在 java 中使用 root shell:

Process p = Runtime.getRuntime().exec("su");
DataOutputStream doutps = new DataOutputStream(p.getOutputStream());
doutps.writeBytes("yourcommand" + "\n");
doutps.flush();
doutps.writeBytes("exit\n");
doutps.flush();
p.WaitFor();
doutps.close();
try { p.destroy(); } catch(Exception ex) {}

同样,将 yourcommand 替换为您想要的命令。

您可以使用可以在根 shell 中使用的任何命令,无论该命令是什么以及它是如何构造的。如果您需要多个命令,只需为每个命令重复以下几行:

doutps.writeBytes("yourcommand" + "\n");
doutps.flush();

关于android - 以 root 身份运行 NanoHttpd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38077531/

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