java - 为什么Java需要cmd /c或者cmd /k来执行多段adb
问题描述
我需要adb
在 java 程序中使用Runtime.getRuntime().exec()
. 截图并保存到我的电脑上。如下:成功了
但是如果我删除cmd /c
,我会得到一个错误。如下:失败了
这是为什么?
解决方案
这是因为在您的第一种情况下,您cmd.exe
使用参数执行。cmd.exe
知道如何处理&&
——即执行第一个adb
命令,然后执行第二个adb
命令。
在第二种情况下,您正在adb
使用参数执行。adb
不理解&&
为命令分隔符 - 它试图将其解释为自身的参数并失败(&&
不是 的有效参数adb
)
推荐阅读
- git - 我不能做“git push origin master”
- pyspark - pyspark 计算每列中 NA 的数量并按上下文分组
- c - EXC_BAD_ACCESS 错误 C 初学者程序
- javascript - 在 Reactjs(使用 redux/thunk)中,如何获取购物车中所有项目的总成本
- ios - 任何人都可以通过以下堆栈跟踪识别 Xamarin Forms IOS 间歇性崩溃吗
- android - 调用意图时在空对象引用上的 ContentResolver.getPackageName()'
- javascript - 更改元素 ID 的脚本会影响其他元素二(JavaScript)
- python - 如何从 tkinter 复选框推断更改的值?
- python - 如何在Python列表中的“任何数字+分隔符”前面添加分隔符(#)
- r - 循环多维数组(用于绘制填充的轮廓图)