Моя проблема теоретическая в данный момент. Я изучаю, возможно это или нет, прежде чем тратить на это часы.
Мои мысли до сих пор:
/system/app
нем, которое запускает команду ITPABLES.Каковы мои шансы на успех с номером 2?
Для запуска IPTABLES apk нужен root, телефон рутирован, но есть ли у приложения root-доступ только потому, что он находится в /system/app
? Обычные приложения запускают SuperSU, чтобы предоставить корень приложения, но я хочу, чтобы он выполнял IPTABLES без каких-либо всплывающих окон. Все без присмотра.
Ваши шансы на № 2 довольно хороши, хотя могут быть некоторые оговорки. Чтобы понять, что это такое, давайте посмотрим, что делает сброс до заводских настроек . Это...
/data
/cache
/data
; я думаю, с Lollipop это будет делать то же самое для ART).Вот видите, /system
остается нетронутым. Если ваше приложение установлено в /system/app
, оно выдержит сброс к заводским настройкам. Но его данные могут и не /data
стереться. Это означает, что все необходимые настройки должны быть частью самого приложения или его «настроек по умолчанию», которые развертываются при первой инициализации.
Для второй части: это лучше спросить на сайте разработки (которым мы не являемся). По сути, ни одно приложение не получает root-доступ по умолчанию, насколько я знаю. Они получают доступ ко всему, что позволяют их разрешения (и да, есть разрешения, которые могут быть предоставлены системным приложениям, недоступным для «приложений пользовательского пространства») — но для корневого доступа вы должны спросить , что должно su
вызвать соответствующее приложение суперпользователя.
PS: Что касается всплывающего окна SuperSU, боюсь , вам придется с этим смириться при первом звонке .
Есть приложения, которые выживают после сброса настроек, наиболее известным из которых является Cerberus. Вы устанавливаете его как системное приложение через рекавери, и после этого он выживает практически во всем. После сброса к заводским настройкам он по-прежнему может делать такие вещи, как делать снимки, отслеживать местоположение и т. Д. Поэтому я бы сказал, что то, чего вы пытаетесь достичь, определенно должно быть возможным. Я не разработчик, поэтому я не могу показать вам, как это сделать.
Магнус
Иззи