无法获得带有Windows Shell中工作路径的ADB Shell命令

时间:2019-03-12 02:49:10

标签: android windows shell adb

我正在尝试从屏幕转储中获取像素的颜色。当我第一次使用'adb shell'时可以使命令正常工作时,我希望能够直接从Windows Shell运行该命令。我已经尝试了this post中的所有建议,但无法正常工作。

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd

这将返回

  

“系统找不到指定的路径”

如果我尝试:

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell \"dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd\"

它返回:

  

/ system / bin / sh:dd if ='/ sdcard / screen.dump'bs = 4 count = 1 skip = 54950   2> / dev / null |找不到高清

sh文件确实存在于/ system / bin /中,所以我不知道发生了什么。

1 个答案:

答案 0 :(得分:-1)

您无需为输入"输入命令而转义adb shell字符。

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell "dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd"

可以。

此外,您的评论说,

  

该文件夹已经在我的PATH环境变量中。

然后,您无需指定adb的完整路径。

adb -s 127.0.0.1:21503 shell "dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd"

也可以。


错误消息,

  

/ system / bin / sh:dd if ='/ sdcard / screen.dump'bs = 4 count = 1 skip = 54950 2> / dev / null |找不到高清

表示没有名为“ dd if ='/ sdcard ... null | hd”的可执行文件,但是您只需要它们作为参数,而不是完整的可执行文件名称。


第一次尝试

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd

此命令将把hd之外的adb shell用作Windows的命令行。

更新:我们可以使用odhd的参数来完成一些技巧。
例如,在我的设备上,busybox od的参数为[-t TYPE][-A RADIX][-N SIZE][-j SKIP],那么在手机上我可以做到

adb shell od -N4 -j54950 -tx1 -Ax /sdcard/screen.dump