Я пытаюсь написать приложение, которое копирует что-то в системный раздел во время выполнения. Я уже реализовал возможность запускать команды терминала от имени root, запрашивая разрешения SU. Я могу успешно выполнить множество команд (после предоставления запроса на разрешение с помощью SuperUser). Однако, когда я пытаюсь перемонтировать /system для чтения/записи, ничего не происходит. Я не получаю ошибки или сбоя, и команда, кажется, проходит нормально, но раздел остается доступным только для чтения. Вот команда, которую я запускаю (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, чтобы увидеть, что произошло. Может ли кто-нибудь дать мне представление, почему это не работает?