android 通过代码执行adb 命令
时间: 2024-09-29 21:15:06 浏览: 49
在Android开发中,如果你需要通过代码动态地执行ADB命令,可以使用Java的Runtime.getRuntime()类或者ProcessBuilder类。这里是一个简单的例子:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class AdbExecutor {
public static void executeAdbCommand(String command) {
try {
// 使用Runtime.getRuntime().exec()执行命令
Process adbProcess = Runtime.getRuntime().exec("adb " + command);
BufferedReader reader = new BufferedReader(new InputStreamReader(adbProcess.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line); // 打印执行结果
}
int exitCode = adbProcess.waitFor(); // 等待命令完成并获取退出码
if (exitCode != 0) {
throw new RuntimeException("ADB command execution failed with exit code: " + exitCode);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
executeAdbCommand("shell pm list packages"); // 示例:列出所有已安装的应用包
}
}
```
在这个例子中,`executeAdbCommand()`方法接收一个ADB命令作为字符串参数,如"shell pm list packages"。然后它会创建一个新的进程来运行ADB命令,并读取命令的输出。如果命令执行失败,它会抛出异常。
阅读全文