繁体   English   中英

无法运行程序“adb”:error=2,通过eclipse执行时没有那个文件或目录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM