Рутировал ли устройство

«Рутировал ли устройство» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Рутирование устройства означает получение root-доступа, который позволяет изменять системные файлы, удалять предустановленные приложения и т.д.

Плюсы:

  • Полный контроль над устройством.
  • Возможность кастомизации ОС.
  • Установка модифицированных приложений.

Минусы:

  • Потеря гарантии.
  • Риск "сломать" устройство.
  • Проблемы с обновлениями и некоторыми приложениями (например, банковскими).

Пример проверки root-доступа:

fun isDeviceRooted(): Boolean {
    val paths = arrayOf("/system/app/Superuser.apk", "/sbin/su", "/system/bin/su")
    return paths.any { File(it).exists() } || try { Runtime.getRuntime().exec("su") != null } catch (e: Exception) { false }
}

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