Android: как монтировать файловую систему в RW из моего APK? (естественно, коренится)

Я пытаюсь написать приложение, которое копирует что-то в/системный раздел во время выполнения. Я уже реализовал возможность запуска команд терминала с правами root, запросив разрешения SU. Я могу выполнить много команд успешно (после предоставления запроса разрешения с помощью SuperUser). Однако, когда я пытаюсь перемонтировать/система как чтение/запись, ничего не происходит. Я не получаю сообщение об ошибке или сбое, и команда, кажется, проходит очень хорошо, но раздел остается как только для чтения. Вот команда, которую я запускаю (Droid X): mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system, и она отлично работает, если я запускаю ту же команду из терминала. И вот мой код для выполнения корневых команд из моего приложения:

String cmd = "mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system";
Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes(cmd + "\n");          
os.writeBytes("exit\n");  
os.flush();

А потом у меня есть код, который проверяет stdout и stderr streamd, чтобы узнать, что произошло. Может ли кто-нибудь дать мне понять, почему это не работает?

Ответ 1

Я понял это - команда была фактически успешной, но, похоже, что статус RW применяется только к сеансу, в котором он был применен. Так что после того, как один набор команд был выполнен под SU, следующий набор команд получает /system в состоянии RO. Все, что мне нужно было сделать, это добавить команду для копирования файлов перед выходом из сеанса SU.