Сначала убедитесь, что необходимая вам команда оболочки действительно доступна в Android.Я столкнулся с проблемами, предполагая, что вы можете сделать что-то вроде перенаправления вывода с помощью > .
Этот метод также работает на некорневых телефонах, как я полагаю, v2.2, но вы должны проверитьСсылка на API, чтобы быть уверенным.
try {
Process chmod = Runtime.getRuntime().exec("/system/bin/chmod 777 " +fileName);
BufferedReader reader = new BufferedReader(
new InputStreamReader(nfiq.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
chmod.waitFor();
outputString = output.toString();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
Хотя это, вероятно, не на 100% необходимо, было бы хорошей идеей, чтобы процесс ждал завершения exec с process.waitFor (), так как вы сказали, что вы заботитесьо выходе.