Androidデバイスでプログラムによっていくつかのシェルコマンドを実行しようとしています。私はいくつかのコマンドを実行することができますが、それらのすべてを実行することに失敗しました。一例として、私は次のコマンドを実行することができる午前:AndroidスタジオのADBシェルでコマンドを実行
executeCommandLine(“ls”)
executeCommandLine(“netstat –atun”)
を今私は適切に実行されていない次のコマンドを実行する必要があります。
$ adb push netstat3 /data/local/tmp/
$ adb shell
$ chmod 755 /data/local/tmp/netstat3
$ /data/local/tmp/netstat3
私は上記を実行する機能を書きましたAndroidでのコマンドこの関数は "ls"や "netstat -atun"のようなコマンドに対して正しい出力を与えてくれますが、次のコマンドに対して私に正しい応答を与えません。私のexecuteCommandLine関数は次のようになります。
public String executeCommandLine(String commandLine) {
try {
Process process;
process = Runtime.getRuntime().exec(commandLine);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String read;
StringBuilder output=new StringBuilder();
while ((read = reader.readLine())!=null){
output.append(read);
output.append("\n");
Log.d("executed command ", output.toString());
}
reader.close();
process.waitFor();
return output.toString();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
私はすべてのコマンドに対してどのように応答するのでしょうか。
私が間違っていない場合は、アプリケーション内でAndroid携帯でこれらのコマンドをプログラムで実行したいとお考えですか? –
はいアプリケーション内でAndroid携帯でプログラム的に実行したいです。 – Bouba
アプリ内で 'adb push'を実行しようとしていますか? –