/ / Получаване на изход от изпълнени команди чрез Android приложение - Java, Android, Linux, команден ред, корен

Извличане на изход от изпълнени команди чрез. И

Изпълнявам следния код, за да изпълня Linux команди в моето Android приложение, което създавам:

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" бих искал да видя каква команда обикновено се извежда.

Отговори:

2 за отговор № 1

опитайте този код:

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) {}

0 за отговор № 2

Просто, както е

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