Нет способа, чтобы некорневой процесс стал корневым (кроме эксплойтов), так что да, вам нужен отдельный процесс.
Это унаследовано без изменений от linux - разница в том, что нет прямого способа запустить процесс приложения для Android в качестве пользователя root из модуля запуска, поскольку он отправляет намерение zygote, который отключается и привилегия уменьшает ребенка, которыйспециализируется на процессе подачи заявки.(Может существовать обходной метод для ручного создания процесса приложения, но для этого потребуется процесс приложения, так что по определению это будет вторичный процесс. И он будет неэффективным, поскольку приложение не являетсяchild of zygote не наследовал бы общее отображение системных библиотек, и поэтому должен был бы загружать свои собственные уникальные копии в память)
ioctl () - это просто еще один системный вызов, и для него требуется только root, если права доступа к немуFD (из файла устройства) делает.Очевидно, что это тот случай, который вы хотите использовать, но другие непривилегированы.Например, большинство платформ Android IPC в конечном итоге реализованы с помощью Binder ioctl, и они обычно используются для управления сетевым сокетом.