AFIAK, действительно, нет никаких API, которые требуют корневых разрешений. Приложения, которым требуются права root, выполняют системные команды, используя Runtime.getRuntime().exec(commandStringHere);
Если вы попытаетесь выполнить команды, для которых у вас нет разрешений, выполнение завершится неудачей. Чтобы обойти проблему с разрешениями, вы можете выполнить команды как root
, используя su
.
Так что, если вы ничего не делаете, ваше приложение должно работать точно так же на рутованных и нерутированных телефонах.