2 votos

Permisos de aplicación del sistema

Tengo una solicitud que necesita permisos de Root para funcionar. No es gran cosa, todos mis dispositivos personales están enraizados, así que estoy muy cómodo con el proceso. El problema es que esta aplicación es para ser usada en dispositivos propiedad de la compañía emitidos a ciertos empleados y no quiero que puedan desinstalar la aplicación ni quiero que tengan acceso Root al dispositivo.

Estaba pensando que el siguiente proceso lograría mis objetivos:

  1. rootear el dispositivo
  2. Instalar mi aplicación como una aplicación de sistema
  3. Lanzar la solicitud y conceder sus derechos sobre ella
  4. Desenraizar el dispositivo

Como se trataría de una aplicación de sistema, y el dispositivo no estaría rooteado, se impediría a los usuarios eliminar la aplicación. Lo que no estoy seguro es si esa aplicación conservaría o no sus privilegios de root una vez que el dispositivo se desarraigue.

¡Cualquier retroalimentación o perspicacia sería muy apreciada!

2 votos

No puedes instalar tu aplicación como aplicación del sistema, ya que necesitas la misma clave de firma que se utilizó para firmar la ROM en cuestión. Si el dispositivo se desrootea, pierde automáticamente el Root.

1 votos

¿Qué pasa con aplicaciones como Titanium Backup Pro o /system/app mover que convierten las aplicaciones del usuario en aplicaciones del sistema? Usando una de esas aplicaciones es posible convertir una app de usuario en una app de sistema.

0 votos

Incluso si esto funcionara, ¿qué evitaría que alguien rooteara el dispositivo de nuevo y eliminara la aplicación?

1voto

Izzy Puntos 45544

Como ProNetGuru ya lo he señalado, Copia de seguridad de titanio podría ser usado para eso:

  1. root
  2. instalar TiBu
  3. convertir la aplicación en una aplicación de sistema (es decir, se instala en /system/apps
  4. desinstalar TiBu
  5. desarraigar.

Hecho. Esa aplicación tendría acceso hasta los niveles de protección de "signatureOrSystem" entonces (si así se especifica en su Manifiesto).

Darle acceso a root es algo diferente, pero probablemente ni siquiera se necesite aquí.

0 votos

Para que una aplicación tenga signatureOrSystem nivel tendría que tener android:sharedUserId="android.uid.system" en el manifiesto y firmado con la misma clave de firma que la ROM... tbh, nunca lo he probado.. para una aplicación normal que tiene manifiesto normal como en no tener la etiqueta anterior no implica necesariamente que tiene ese nivel de protección signatureOrSystem, incluso si se instaló como una "aplicación del sistema".

0 votos

Oh. Puede que me haya equivocado en esa parte (entonces sólo es "sistema" de nivel de protección; pero, por favor, ¿cuál es la diferencia entre "firma" y "firmaOrSystem" entonces? No hay un "sistema de nivel de protección" separado). Pero, por favor, corrígeme: Pensaba que no era posible "dar acceso Root a una aplicación" y luego desrootear el dispositivo sin dejar de tener esa pega. Así que esto es lo más cerca que se puede llegar, dadas las circunstancias.

0 votos

signatureOrSystem nivel de protección significa que puede hacer rm -rf / ¡sin necesitar Root! Y hacer cosas que un Root normal puede hacer (uid de 0) - que es lo último. Hay muchos diferentes sharedUserId niveles, como por ejemplo: android.uid.phone si es que android:sharedUserId tiene el ejemplo anterior, significa que una aplicación puede hacer cualquier cosa relacionada con la capa de telefonía y nada más. Es un control de acceso mucho más fino detrás de las escenas para las aplicaciones de nivel de sistema y también para minimizar la violación y la malicia. Todo lo que TiBu hace, es remontar el sistema r/w y mover la aplicación allí, nada más.

-1voto

Patrick Puntos 1664

Lo siento. No puedes instalar tu aplicación como una aplicación de sistema.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X