gpt4 book ai didi

android - 在android中执行管道命令?

转载 作者:行者123 更新时间:2023-11-30 04:09:49 27 4
gpt4 key购买 nike

我想显示应用程序日志。在终端上我使用了这个命令:adb logcat -s brief *:V|grep "pid"它显示我的应用程序日志。

pid 表示在 logcat 表中显示的应用程序 pid。

  public static String logProc()
{
String value = "";
try
{
String cmd[] = {"logcat","-s","brief","*:V","|","grep",
android.os.Process.myPid()+""};
Process p = Runtime.getRuntime().exec(cmd,null, null);
BufferedReader reader = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String line = reader.readLine();

while (line != null)
{
value += line + "\n";
line = reader.readLine();
}
p.waitFor();
}
catch (IOException e1)
{
e1.printStackTrace();
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return value;
}

最佳答案

大多数官方 Android 构建不附带 grep(编辑:现在更新的版本有)

如果你需要额外的命令,你可以安装 busybox - 如果没有 root,你将不得不把它放在另一个位置。

您还有一个额外的问题,您正在尝试 exec() 一个 shell 命令以通过管道连接两个程序,除非您执行一个 shell 解释器并给它该命令,否则它不会工作。或者您可以自己设置管道并执行这两个程序。

但是由于您正在编写程序,所以在 Java 代码中进行模式匹配可能会更简单。

关于android - 在android中执行管道命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11029990/

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