是否有可能通过我的android应用程序执行adb命令?

任何人都可以说,是否可以通过我的Android应用程序执行adb命令。 如果有可能执行,怎么实现?

任何帮助? 赞赏…

你可以这样做:

Process process = Runtime.getRuntime().exec("your command"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream())); 

不要忘记用try和catch语句来包围它。

编辑:

@Phix是对的, ProcessBuilder会更好用。

正常的Android应用程序对通过adb启动的进程具有不同的权限,例如,通过adb启动的进程被允许捕获屏幕,而普通应用程序则不允许。 所以,你可以通过Runtime.getRuntime()。exec来执行应用程序中的命令,但是它们不会像从adb shell中执行一样拥有相同的权限。

在Runtime.getRuntime()中调用的adb shell exec不在shell用户下运行。 它提供了shell,但具有相同的进程所有者用户(如u0_a44)。 这就是所有命令都不起作用的原因。