gpt4 book ai didi

java - 以 root 身份运行 native android 可执行文件?

转载 作者:行者123 更新时间:2023-12-01 05:38:35 25 4
gpt4 key购买 nike

有人知道该怎么做吗?这是我的代码:

try {
Process p = Runtime.getRuntime().exec("su");
p.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Process p = Runtime.getRuntime().exec(
"/system/bin/netcfg > /sdcard/netcfg.txt");
p.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

是的,我知道我没有进行任何测试来查看用户是否确实接受了 super 用户对话框,但这只是对我自己的测试。

最佳答案

这不是您的完整解决方案,但这是我不久前尝试过的一些代码。它可以运行任意命令(代码在这里使用ls)。正如您从屏幕截图中看到的,ls 确实弹出了 super 用户对话框。

enter image description here

我最初尝试做的是使用 sh 打开一个 shell,然后在该 shell 中运行命令,这样只有初始的 sh super 用户对话框才会被显示。显示。我见过一些应用程序似乎可以做到这一点,但我仍然不确定它是如何完成的。我怀疑这也是您正在寻找的,但至少使用此代码您可以运行命令。 :)

无论如何,这是代码。将其粘贴到 Android 应用程序框架中,它应该可以工作。

public class ShellCommandTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final StringBuilder log = new StringBuilder();
try{
ArrayList<String> commandLine = new ArrayList<String>();
commandLine.add("su");
commandLine.add("-c");
commandLine.add("ls");

Process process = Runtime.getRuntime().exec(commandLine.toArray(new String[0]));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

for (String command : commandLine){
Log.i("SU_Test", command);
}

String line;
while ((line = bufferedReader.readLine()) != null){
log.append(line);
log.append("\n");
}
}
catch (IOException e){
Log.e("SU_Test", "Fail: " + e.getMessage());
}
Log.i("SU_Test", log.toString());
}

祝你好运!

关于java - 以 root 身份运行 native android 可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7729003/

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