Я уже знаю, как переключиться на любой UID, когда доступен двоичный файл su.
su 2000
Мой вопрос: можно ли переключиться на UID 2000 (и сохранить его постоянным после перезагрузки), когда двоичные / корневые привилегии su недоступны, с приложением Android (программно, предпочтительно Java), если пользователь устройства дает разрешение сделать так?
(Идея, можно ли создать виртуальное USB-устройство и запустить ADB в контексте этого устройства и получить UID оболочки?)
Я уже пробовал это, но то, что я хочу, - это постоянство после перезагрузки, и это не является постоянным, потому что процесс будет сброшен после перезагрузки. Есть идеи, как сохранить это настойчиво?
Это нормально, если для этого потребуется еще раз проверка или даже однократная настройка ПК, но этот метод требует подключения к ПК каждый раз, когда пользователь хочет получить привилегии оболочки.
этот ответ остается верным, даже если он вам не нравится. shell UID зарезервирован для разработки и тестирования. Запуск приложения с привилегиями shell - это обход модели безопасности Google, как бы вы это ни одевали.