Вопрос:
Как выполнить одно полное приложение с корневыми превалированиями (не только несколько команд)?
Сценарий:
Я работаю над корневым устройством Android.
В приложении для Android мне нужно воспроизвести поток H.264, полученный через eth0
. Мне нужны привилегии root для открытия (raw open) eth0
.
Соответствующий код находится в JNI. Поскольку существует много буферов, которые необходимо обменять между кодом JNI и кодом Java, исполняемый путь (Process.exec(su)
) очень неудобен.
Идеальное решение:
Код JNI выполняется в том же контексте процесса, что и код Java. Поэтому предоставление прав root для моего процесса андроида должно решить мою проблему. Но я не уверен, как это сделать.
Я пробовал:
- Создание приложения как
system app/priv-app
. Я думал, что это даст доступ к корневому файлу приложения. Но этого не произошло.