Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;亚洲开发银行外壳日期>;date.txt“;使用Process exec在Mac中执行命令不起作用_Java_Macos_Shell_Command - Fatal编程技术网

Java &引用;亚洲开发银行外壳日期>;date.txt“;使用Process exec在Mac中执行命令不起作用

Java &引用;亚洲开发银行外壳日期>;date.txt“;使用Process exec在Mac中执行命令不起作用,java,macos,shell,command,Java,Macos,Shell,Command,我有一个用java编写的自动化脚本。下面是代码示例 String command = "adb shell date > date.txt"; Process process = Runtime.getRuntime().exec(command); 当在windows中执行代码时,它工作正常,但当我在mac中运行它时,它工作不正常。 后来我发现,在windows中,此命令的执行正在本地PC项目目录中创建文件。但在Mac的情况下,尝试在设备目录中创建文件时失败,并显示错误。在Mac终

我有一个用java编写的自动化脚本。下面是代码示例

 String command = "adb shell date > date.txt";
 Process process = Runtime.getRuntime().exec(command);
当在windows中执行代码时,它工作正常,但当我在mac中运行它时,它工作不正常。 后来我发现,在windows中,此命令的执行正在本地PC项目目录中创建文件。但在Mac的情况下,尝试在设备目录中创建文件时失败,并显示错误。在Mac终端上,它工作正常


我的问题是,为什么在我的mac电脑上不工作,为什么在我的本地电脑上不创建文件?

Java
运行时
环境不一定会拾取使用macOS终端时工作的相同环境变量、命令路径和别名


您可以尝试在终端中输入
哪个adb
,查看返回的路径(如果有的话)。如果您确实获得了一个明确的路径,请尝试从Java执行该完整路径,而不仅仅是
adb

您是否将任何设备连接到PC?确保“adb设备”在终端上显示设备我认为这是Android调试桥吗?你已经在Windows系统和Mac上安装了它?是的。这是正确的。使用terminalAre也可以很好地工作您确定允许您从JVM进程创建文件(权限问题)吗?你犯了什么错误?它是链接到adb shell日期的还是一个echo foobar>test.txt的
。你能不能试着说得更具体一点,这太宽泛了,有很多可能。是的,这是我发现问题时检查的第一件事。现在主要的问题是这个命令试图在设备目录中创建文件,但最终失败。尝试了,但没有成功。我的问题不在于adb路径,它基本上是这个命令试图在设备中创建文件时的问题。为什么不在本地PC而不是设备中创建文件?