2012-04-02 3 views
2

Я видел, что этот вопрос задал пару раз, но он никогда не был полностью отвечен (что я могу найти).Укорененный Android - создание и чтение файлов в корневых каталогах

Чтобы быть ясным, мой телефон укоренен.

Что мне нужно сделать, так это чтение и запись файлов в корневых каталогах, таких как /data. Я понимаю, что мне нужно запустить его, есть суперпользователь (Runtime.getRuntime().exec("su");). Но я не могу понять, как сделать МО в себе.

+0

Исправьте меня, если я ошибаюсь, но похоже, что у вас есть необходимый необходимый доступ. Вы можете предоставить файл, в котором находится ваш файл, и читать или писать с помощью java IO apis. – Kavitha

+1

Я не верю, что это так легко. Мне нужно как-то передать права суперпользователя на вызовы ввода-вывода. – Paramount

ответ

3

Скопируйте файл на SD-карту, используя что-то вроде su -c cp /data/file.txt /mnt/sdcard, прочитайте его и удалите, когда закончите.

+2

Я ищу альтернативы этому ответу, потому что для моего приложения нет смысла создавать копию файла, который я хочу прочитать. Потому что этот файл на самом деле является устройством «/ dev/...». Я хочу прочитать его как поток Java. Устройство укоренено. –

+2

Используйте chmod для изменения прав доступа или изменения скриптов udev и т. Д. Для постоянного изменения разрешения. Если вы не хотите, чтобы другие приложения могли читать его, это становится немного сложнее. –

+0

Да, это один из вариантов. Но не существует способа, с помощью java, иметь поток с «привилегиями root», полученных из этого процесса Runtime.getRuntime(). Exec («su»), а затем транслировать другие потоки (например, поток для файла i хотите внутри/dev /), через этот поток? –

Смежные вопросы