Ні. Ви повинні попросити розробника програми зробити це.
У системах, схожих на UNIX, дозволами керуються за допомогою того, що називається UID.
У кожного процесу є один, і він диктує, до чого вони можуть отримати доступ. Крім того, є також групи, які мають дозвіл, яким можуть користуватися їх члени. Коли програма має дозволи, такі як Write to SD card
вони розміщені в групі, яка має цей дозвіл.
Кореневі дозволи є винятком, оскільки вони не задекларовані в маніфесті програми, а в коді. Корінь також не є групою, а окремим UID (оскільки це окремий користувач), тому програмі не так просто користуватися ним.
Програми, що мають права root, повинні бути чітко написані для цього.
Як це працює кожен раз, коли додаток хоче зробити щось як root, воно повинно просити su
бінарне зробити це замість цього. su
Потім запитає додаток, який керує цими дозволами (наприклад, SuperSU), чи дозволено додатку отримати root-доступ. Якщо це не так, він запропонує вам дозволити або заборонити це. Потім дія виконується як root
, а не як користувач програми. Ці дії не є невід'ємною частиною програми, а є зовнішнім виконуваним файлом.
Хоча теоретично можна додати це до програми, це був би нетривіальний процес, що вимагає знань щодо написання коду smali, що є внутрішнім форматом віртуальної машини Dalvik (тієї частини системи, яка запускає файл apk). смали. І навіть тоді виникне величезний ризик для безпеки, якщо додаток дозволить іншим програмам отримувати доступ до нього: він не знатиме, як тримати привілейований кореневий доступ окремо від звичайного доступу. Тож насправді це насправді неможливо.