2017-07-01 20 views
0

私はテスト生成ツールを開発しており、テストケースを実行するためにデバイスを起動する必要があります。私は、次のトライアルコードAndroidエミュレータJavaシェル

ProcessBuilder pb_d = new ProcessBuilder("emulator", "-avd", "Nexus_5_API_19"); 
    try { 
     System.out.println("Starting Device"); 
     Process process = pb_d.start(); 
     InputStream is = process.getInputStream(); 
     InputStreamReader isr = new InputStreamReader(is); 

     BufferedReader br = new BufferedReader(isr); 
     String line; 
     System.out.printf("Output of running \"emulator\", \"-avd\", \"Nexus_5_API_19\""); 

     while ((line = br.readLine()) != null) { 
      System.out.println(line); 
     } 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

を持っているしかし、私は次のエラーを取得しています:

java.io.IOException: Cannot run program "emulator": error=2, No such file or directory 

私はランタイムでそれを試してみましたが、私は同じエラーを取得しています。

答えて

0

エミュレータのフルパスを使用するか、システム変数PATHにすでにemulator.exeの設定があることを確認してください。

+0

これを試してみました。無運:\。コマンドは端末でうまく動作します。 –

+0

これを試してください: '新しいProcessBuilder(" cmd.exe "、"/C "、"スタート "、"エミュレータ "、" avd "、" Nexus_5_API_19 ");' –

+0

これはMacですが、 'p = Runtime .getRuntime()。exec( "/ usr/bin/open -a Terminal"); \t \t \t p.waitFor(); 'それを終えたが、それ以降は何もしなかった。 –