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 里面也可以调用,请大侠们支招。谢谢~


皈依舞
浏览 675回答 2
2回答

缥缈止盈

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

翻翻过去那场雪

这个和权限没有什么关系,主要是java虚拟机加载的时候没有adb相关的环境变量,如果使用的是ProcessBuilder去执行adb的命令,建议在设定命令的参数里面使用全路径。比如:ProcessBuilder pb = new ProcessBuilder("/Users/David/Applications/android-sdk-macosx/platform-tools/adb", "version");已经试过了,pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java