Tengo una aplicación que necesita permisos de root para ejecutarse. No hay problema, todos mis dispositivos personales están rooteados, por lo que me siento muy cómodo con el proceso. El problema es que esta aplicación se va a usar en dispositivos propiedad de la empresa entregados a ciertos empleados y no quiero que puedan desinstalar la aplicación ni quiero que tengan acceso de root al dispositivo.
Estaba pensando que el siguiente proceso lograría mis objetivos:
Dado que sería una aplicación del sistema y el dispositivo no estaría rooteado, los usuarios no podrían eliminar la aplicación. De lo que no estoy seguro es si esa aplicación conservará o no sus privilegios de root una vez que el dispositivo esté desrooteado.
¡Cualquier comentario o idea sería muy apreciada!
Como ya señaló ProNetGuru , Titanium Backup podría usarse para eso:
/system/apps
Hecho. Esa aplicación tendría acceso hasta los niveles de protección de "firma o sistema" en ese momento (si así se especifica en su Manifiesto).
Darle acceso de root es algo diferente, pero probablemente ni siquiera sea necesario aquí.
signatureOrSystem
nivel, tendría que tenerlo android:sharedUserId="android.uid.system"
en el manifiesto y firmar con la misma clave de firma que la ROM... tbh, nunca lo he probado... para una aplicación normal que tiene un manifiesto normal, ya que no tiene la etiqueta anterior. no implica necesariamente que tenga ese nivel de protección de firma o sistema, incluso si se instaló como una "aplicación del sistema".signatureOrSystem
¡El nivel de protección significa que puede hacerlo rm -rf /
sin necesidad de rootear! Y hacer cosas que una raíz normal puede hacer (uid de 0), eso es lo último. Hay muchos sharedUserId
niveles diferentes, como por ejemplo: android.uid.phone
, si esa android:sharedUserId
etiqueta 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 grano mucho más fino de control de acceso detrás de escena para aplicaciones de nivel de sistema y también para minimizar la violación y la malicia. Todo lo que hace TiBu, vuelve a montar el sistema r/w y mueve la aplicación allí, nada más.rm -rf /
. La partición del sistema es de solo lectura. Necesitas volver a montarlo r/w. Además, no necesita tener la misma firma que las aplicaciones del sistema para ser una aplicación del sistema. signatureOrSystem
en un permiso no tiene nada que ver con ser una aplicación del sistema. Se otorga a aplicaciones en la carpeta del sistema O aplicaciones firmadas con la misma clave que el propio sistema.rm -rf
? Pero, por supuesto, tiene razón al decir que "solo tener el permiso en el Manifiesto no es suficiente": es cierto, debe estar firmado con la "clave del sistema" o al menos instalado como aplicación del sistema en primer lugar para que ese permiso sea concedido, pero eso es lo que hace el paso n. ° 3 de la respuesta.
t0mm13b
ProNetGuru
Chahk
ProNetGuru
t0mm13b
ProNetGuru
t0mm13b
izzy
/system/apps
) → desinstalar TiBu → desrootear. Hecho. Esa aplicación tendría acceso a niveles de protección de "firma o sistema" en ese momento. Pero darle acceso de root es algo diferente (y probablemente ni siquiera sea necesario aquí).