mac 下基于 java 调用 adb 命令遇到问题

近期在做一个程序,需要用到 adb 命令,在 mac 下基于 java 执行 adb 命令,遇到无法正常执行的情况。 报错如下:

java.io.IOException: Cannot run program "adb": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
    at java.lang.Runtime.exec(Runtime.java:617)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)
    at main.execAdb(main.java:14)
    at main.main(main.java:40)

PS: adb 的环境变量什么的都是正常配置好的,因为在终端正常执行 adb 相关命令。 现在是希望 java 里面也可以调用,请大侠们支招。谢谢~

阅读 7.4k
2 个回答

这个和权限没有什么关系,主要是java虚拟机加载的时候没有adb相关的环境变量,如果使用的是ProcessBuilder去执行adb的命令,建议在设定命令的参数里面使用全路径。比如:

ProcessBuilder pb = new ProcessBuilder("/Users/David/Applications/android-sdk-macosx/platform-tools/adb", "version");

已经试过了,pass

新手上路,请多包涵

在应用中调用adb命令需要获取root权限吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题