【发布时间】:2018-10-14 12:44:56
【问题描述】:
我有一个用 java 编写的自动化脚本。这是代码示例。
String command = "adb shell date > date.txt";
Process process = Runtime.getRuntime().exec(command);
在 windows 中执行代码时,它工作正常,但是当我在 mac 中运行它时,它无法正常工作。 后来我发现,在 Windows 中,这个命令执行是在我的本地 PC 项目目录中创建文件。但是在 Mac 的情况下,它在尝试在设备目录中创建文件并显示错误时失败。虽然从 Mac 终端它工作正常。
我的问题是为什么不能在我的 mac 机器上工作,为什么文件没有在我的本地 PC 中创建?
【问题讨论】:
-
您是否将任何设备与您的 PC 连接?并确保“adb devices”在终端中显示设备
-
我可以认为这是 Android 调试桥吗?并且您已经在 Windows 系统和 Mac 上都安装了它?
-
是的。这是正确的。使用终端也可以正常工作
-
您确定可以从 JVM 进程创建文件(权限问题)吗?你得到的错误是什么?它是链接到
adb shell date还是echo foobar > test.txt做同样的事情。能否请您尝试更具体一点,这太宽泛了,有很多可能性。 -
是的,这是我发现问题时首先检查的。现在主要问题是这个命令试图在设备目录中创建文件并最终失败。