Java exec adb命令,但不输出

Java exec adb命令,但不输出,java,exec,adb,Java,Exec,Adb,环境:Ubuntu jdk1.8 eclipse String []cmdHeader={"/bin/bash","-c","adb"}; Runtime cmd=Runtime.getRuntime();; Process p=cmd.exec(cmdHeaher);; BufferedReader br= new BufferedReader( new InputStreamRea

环境:Ubuntu jdk1.8 eclipse

String []cmdHeader={"/bin/bash","-c","adb"};
Runtime cmd=Runtime.getRuntime();;
    Process p=cmd.exec(cmdHeaher);;
    BufferedReader br=
                    new BufferedReader(
                            new InputStreamReader(p.getInputStream()));
String line=br.readLine();
            while(line!=null){
                System.out.println(1);
                System.out.println(line);
                line=br.readLine();
            }
            br.close();
我遗漏了一些细节

在这个命令中,控制台没有显示任何内容。为什么

附言:
当我在bash窗口上运行它时,adb是正常的

在命令行上,执行
哪个adb
。这将为您提供
adb
命令的完整路径,例如
/usr/local/bin/adb

然后在代码中,用从命令行获得的完整路径替换
adb
,例如:

String[] cmdHeader = {"/bin/bash","-c","/usr/local/bin/adb"};

它工作了,但是我写的路径是adt的安装路径。/opt/adt/platforms tools/adb。这是否意味着用户应该手动设置路径?但是我已经设置了ubuntu的路径文件。谢谢。但是-l不工作。我决定让用户手动设置。再次感谢。这一切都取决于您在哪里配置了路径。例如,在我的Ubuntu安装中,我的
/$HOME/.bash\u配置文件
确实是通过运行
-l
来获得源代码的。