android grep 命令详解,来自adb的'grep'命令的问题

当我用adb写的时候:

adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

我得到错误输出:

'grep' is not recognized as an internal or external command, operable program or batch file.

但如果我将它拆分为两个运营商:

adb shell

dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

它工作正常(它提供正在运行的应用程序的主要活动名称).

如果唯一的方法是将它拆分为两个 - 首先进入adb shell,然后运行Inquire,有一种方法可以从c#中执行此操作吗?

在我的代码中,它只执行第一部分(进入shell).

这是我的代码:

public static void startNewProccess(object startInfo)

{

p = new Process();

p.StartInfo = (System.Diagnostics.ProcessStartInfo)startInfo;

p.Start();

p.WaitForExit();

}

public static void getMainActivity()

{

var startInfo1 = new System.Diagnostics.ProcessStartInfo

{

WorkingDirectory = @ADB_FOLDER,

WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,

FileName = "cmd.exe",

Arguments = "/c" + " adb shell",

//adb shell am start -n com.package.name/com.package.name.ActivityName

UseShellExecute = false

};

startNewProccess(startInfo1);

var startInfo2 = new System.Diagnostics.ProcessStartInfo

{

WorkingDirectory = @ADB_FOLDER,

WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,

FileName = "cmd.exe",

Arguments = "/c" + " dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'",

UseShellExecute = false

};

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值