/ /アンドロイドアプリを介して実行されたコマンドの出力を取得する - java、android、linux、コマンドライン、root

android app - java、android、linux、command-line、rootから実行されたコマンドの出力を取得する

私が作成した私のAndroidアプリケーションでLinuxコマンドを実行するには、次のコードを実行します。

public void RunAsRoot(String[] cmds){
Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
for (String tmpCmd : cmds) {
os.writeBytes(tmpCmd+"n");
}
os.writeBytes("exitn");
os.flush();
}

コマンドの実行後に何が返されるのかを知る方法があるかどうかを知りたいです。たとえば、 "ls"を実行した場合、コマンドが正常に出力した内容を確認したいと思います。

回答:

回答№1は2

このコードを試してください:

try {
Process process = Runtime.getRuntime().exec("ls");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));

StringBuilder result=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(result.toString());
}
catch (IOException e) {}

回答№2の場合は0

そのままシンプル

try
{
Process p=Runtime.getRuntime().exec("ls");
String output=inputStreamToString(p.getInputStream());
}catch(IOException e){}