[英]Cannot run program "adb": error=2, No such file or directory while executing through eclipse
我正在尝试在 Mac 机器(Yosemite OS)中使用 appium 自动化 android 设备。
我下载并设置了所有必需的路径,如 sdk、build-tools、tools、paltform-tools、platforms,并且能够通过终端成功运行 adb 命令。
但是我在java代码下面写了示例
**Process p = Runtime.getRuntime().exec("adb devices");**
获取输出:
无法运行程序“adb”:错误=2,没有那个文件或目录**
我无法弄清楚确切的问题,为什么它通过终端工作,以及为什么即使我为所有内容设置了路径,我也会通过 Eclipse 出错。
你能请任何人建议我到底是什么问题。请做必要的事情。
你能试试下面这行吗:
Process p = Runtime.getRuntime().exec(new String[]{"bash", "-l", "-c", "adb devices"});
我的回答基于 stackoverflow 中的另一个链接,它解决了我的问题,听起来与您的非常相似: https : //stackoverflow.com/a/54923150/3439297
我在 IntelliJ 社区版 + Mac 组合中遇到了这个问题。 但原因似乎相同,尝试使用命令提示符(通过终端)调用您的 IDE(Eclipse),以便它可以使用系统路径,进而识别 adb,您提到 adb 在终端上工作,因此一旦 IDE 启动再次从终端路径将受到尊重。
您可以在 Android 上使用以下代码: 要启用 WIFI:
String ADB=System.getenv("ANDROID_HOME");
String cmd = "/platform-tools/adb shell am broadcast -a io.appium.settings.wifi --es setstatus enable";
Runtime run = Runtime.getRuntime();
Process pr = run.exec(ADB+cmd);
pr.waitFor();
要禁用 WIFI 使用:
String ADB=System.getenv("ANDROID_HOME");
String cmd = "/platform-tools/adb shell am broadcast -a io.appium.settings.wifi --es setstatus disable";
Runtime run = Runtime.getRuntime();
Process pr = run.exec(ADB+cmd);
pr.waitFor();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.