Не удалось запустить приложение от имени пользователя root

Я сделал файловый менеджер, который я хочу, чтобы иметь возможность navegate/ изменить некоторые системные папки (скажем, /data/). Я скопировал свой apk в /system/app, дал разрешение 644 на файл apk и перезагрузил компьютер. Тем не менее, мое приложение по-прежнему работает без прав root (запретить простой доступ к /data). Я использую CyanogenMod 11.

Любая подсказка?

Спасибо!

L.

1 ответ

Чтобы уточнить, приложение находится в /system/app папка не запускается как root, Android основан на Linux, поэтому наличие root-доступа означает, что ваше приложение может запускать команды оболочки от имени пользователя root.

Вообще говоря, приложение находится в /system/app папка делает все заявленные разрешения доступными для нее (например, объявление WRITE_SECURE_SETTINGS только что-то для системных приложений), и тогда код, который был доступен только для системных приложений, теперь доступен и вашему.

Для надежности вы должны по возможности использовать команды оболочки для всего, что обычно недоступно. Не использовать java.io.File для доступа к файлам, которые обычно ограничены.

Я бы порекомендовал использовать RootTools поскольку это делает запуск команд оболочки от имени root намного проще. Первые 3 страницы этого бланка команд Linux, вероятно, будут охватывать все, что вам нужно.

Другие вопросы по тегам