Mi problema es teórico en este momento. Estoy investigando si es posible o no, antes de dedicarle horas.
Mis pensamientos hasta ahora son:
/system/app
ejecute el comando ITPABLES.¿Cuáles son mis posibilidades de tener éxito con el número 2?
Para ejecutar IPTABLES, el apk necesita root, el teléfono está rooteado, pero ¿la aplicación tiene acceso de root solo porque está en /system/app
? Las aplicaciones normales activan SuperSU para otorgar la raíz de la aplicación, pero quiero que haga lo de IPTABLES sin ventanas emergentes. Todo desatendido.
Sus posibilidades de obtener el n. ° 2 son bastante buenas, aunque puede haber algunas advertencias. Para averiguar cuáles son, echemos un vistazo a lo que hace un restablecimiento de fábrica . Él...
/data
/cache
/data
; supongo que con Lollipop hará lo mismo con ART).Así que ya ves, /system
permanece intacto. Con su aplicación instalada en /system/app
, se restablecerá la configuración de fábrica. Pero es posible que sus datos no, ya que /data
se borran. Lo que significa que todas las configuraciones requeridas deben ser parte de la propia aplicación o de sus "configuraciones predeterminadas" que se implementan en la primera inicialización.
Para la segunda parte: es mejor preguntar en un sitio de desarrollo (que no lo somos). Básicamente, ninguna aplicación obtiene acceso de root por defecto AFAIK. Obtienen acceso a todo lo que permiten sus permisos (y sí, hay permisos que se pueden otorgar a las aplicaciones del sistema que no están disponibles para las "aplicaciones de espacio de usuario"), pero para el acceso de root, debe preguntar, lo que debería su
desencadenar la aplicación de superusuario correspondiente.
PD: En cuanto a la ventana emergente SuperSU, me temo que tendrá que vivir con eso para la primera llamada .
Hay aplicaciones que sobreviven a un restablecimiento de fábrica, la más conocida es Cerberus. Lo instala como una aplicación del sistema a través de la recuperación y luego sobrevive básicamente a cualquier cosa. Después de un restablecimiento de fábrica, aún puede hacer cosas como hacer fotos, rastrear la ubicación, etc. Entonces, diría que lo que está tratando de lograr debe ser posible. Sin embargo, no soy un desarrollador, así que no puedo mostrarte exactamente cómo hacerlo.
Magnus
izzy