Разрешения Android SU: как их использовать? - PullRequest
6 голосов
/ 06 января 2012

Ситуация здесь, я разрабатываю приложение для Android, используя Java.Я довольно хорошо знаком со всем этим, но теперь я впервые использую разрешения SU.Мне просто нужно заменить (на самом деле, переименовать) файл в каталоге system / app, но похоже, что я не могу выполнить его обычным способом (метод renameTo в классе File), он просто возвращает мне FALSE, что означаетчто в работе произошла какая-то ошибка.

Так может кто-нибудь сказать мне, как использовать SU?Мой тестовый телефон полностью рутирован с SU 3.0.3.2, любое приложение, которое требует SU, работает отлично.

Должен ли я использовать тот же метод, но с некоторыми дополнениями в манифесте?Должен ли я использовать busybox каким-либо образом?

Я уже гуглил по этому поводу и не могу найти полезную информацию.А также, на официальном сайте Android Superuser нет документации.

Заранее спасибо!

1 Ответ

8 голосов
/ 06 января 2012

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

Process p = Runtime.getRuntime().exec(new String[]{"su", "-c", "mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system"});

Или вы можете сделать

Process p =  Runtime.getRuntime().exec("su");
p.getOutputStream().write("mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system".getBytes());
p.getOutputStream().write(<my next command>);
...