0

Javaを使用して「adb」コマンドを実行したい。私は次のように試しました:

Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","adb devices"});

しかし、次のエラーが発生しますp.getErrorStream()

'adb' is not recognized as an internal or external command,operable program or batch file.

「adbデバイス」間のスペースに問題はありますか?

コマンドにスペースを追加するにはどうすればよいですか?

4

2 に答える 2

3

問題はスペースではなく、見つからないという事実ですadb(パス上にないため)。

次の2つのいずれかを実行します。

  • adb.exeコマンドが存在する場所で実行されていることを確認してください
  • で言及されているディレクトリにPATHある方法で(そのコマンドに対して) 変更します。adb.exePATH

どちらもで可能ですが、 APIがはるかに優れているため、Runtime.exec()を使用することをお勧めします。ProcessBuilder

たとえば、コマンドが実行されるパスを変更するには、次のようにします。

ProcessBuilder pb = new ProcessBuilder("cmd","/c","adb devices");
pb.directory(new File("c:\\path\\to\\android\\platform-tools\\");
pb.start();
于 2012-10-10T07:28:53.723 に答える
0

おそらく問題は%PATH%(またはその欠如)にあります-引数を適切に分離したようです。YOはadb実行可能ファイルへの絶対パスを使用しようとする場合があります

于 2012-10-10T07:29:03.023 に答える