私が作成した私の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){}