Я использую эту библиотеку для получения root-доступа https://github.com/topjohnwu/libsu
Я могу запускать код bash с правами root;
Инициализация:
class MainActivity : ComponentActivity() {
companion object {
init {
//here goes static initializer code
Shell.enableVerboseLogging = BuildConfig.DEBUG
Shell.setDefaultBuilder(
Shell.Builder.create()
.setFlags(FLAG_REDIRECT_STDERR)
.setFlags(FLAG_MOUNT_MASTER)
.setTimeout(10)
)
}
}
//onCreate
}
Использование Bash:
val srcDir = "data/data"
val result = Shell.cmd(" ls '${srcDir}'").exec() //This will list the root protected directory
Но я хочу запустить код kotlin (не bash) с правами root.
Например:
val dirChilds = File(srcDir).list() //It seems only that shell has root access not the whole app.
Подробнее здесь: https://stackoverflow.com/questions/741 ... -privilege