35 votos

¿Cuáles son las diferencias entre una aplicación de sistema y una aplicación de usuario?

Cuando he jugado con diferentes ROMs y he utilizado Titanium Backup, veo que las aplicaciones se clasifican en aplicaciones de sistema y de usuario. Varios desarrolladores de ROMs afirman que Titanium Backup sólo debe utilizarse para las aplicaciones de usuario y no para las de sistema, y cuando procedo a desinstalar las aplicaciones de sistema, TiBu me advierte de que la ROM puede no funcionar correctamente.

Aparte del hecho de que las aplicaciones de los usuarios se pueden descargar a través del Market o de otros medios, ¿cuáles son las principales diferencias entre ambos?

¿Qué tienen las aplicaciones del sistema que las hacen más integradas en el propio sistema operativo?

25voto

Matthew Read Puntos 35808

/system es de sólo lectura sin Root por lo que impide desinstalar aplicaciones de /system/app y /system/priv-app . Las aplicaciones que son críticas se ponen ahí para que no se puedan desinstalar. El operador bloatware que no quieren dejarte eliminar también se pone ahí. Esta última categoría de aplicaciones se puede eliminar si estás rooteado; la primera, no tanto.

/system/priv-app también permite que las aplicaciones instaladas allí utilicen signatureOrSystem y otros permisos privilegiados. La respuesta de Stephen tiene algunos ejemplos.

En cuanto a por qué Las aplicaciones pueden ser críticas, eso depende de la ROM. Por ejemplo, Sense de HTC depende en gran medida de sus aplicaciones integradas, por lo que he oído. Simplemente no diseñaron su interfaz de usuario para que funcionara de forma nativa con aplicaciones de terceros (o para que fallara bien si faltaban las aplicaciones del sistema). Otras aplicaciones son esencialmente parte del sistema operativo Android, pero Google las codificó como aplicaciones/servicios (probablemente por razones de encapsulación y fiabilidad).

Las actualizaciones de algunas aplicaciones del sistema se pueden descargar a través de la Play Store, como Google Maps. Si no viene preinstalada como aplicación de sistema en tu dispositivo, puedes utilizar Titanium para convertirla de aplicación de usuario a aplicación de sistema.

0 votos

¿también significa que una aplicación del sistema no puede ser eliminada por los eliminadores de tareas?

0 votos

@ashishsony Los servicios del sistema normalmente se inician de forma automática, sí, pero (¿la mayoría?) de las aplicaciones/servicios pueden matarse. Por ejemplo, puedo matar el navegador en mi dispositivo. (Inserte el consejo habitual sobre cómo los asesinos de tareas son malos).

0 votos

Correcto, las aplicaciones del sistema en los dispositivos HTC (incluso aquellas como Dropbox, Facebook) están demasiado integradas con la Sense UI. Uno debe abstenerse de eliminarlos; también la conversión de aplicaciones de usuario a las aplicaciones del sistema no se debe hacer a menos que sea muy necesario, ya que en algunas ROMs que podrían no terminar en condiciones de poca memoria.

23voto

Steve Obbayi Puntos 1499

Las otras respuestas son correctas, pero no señalan un par de diferencias:

Permisos

Las aplicaciones del sistema tienen la capacidad de solicitar ciertos permisos exclusivos del sistema que nunca están disponibles para las aplicaciones del usuario. Esto es no lo mismo que los permisos Root/sudo/su.

Un ejemplo que conozco y utilizo a diario es la posibilidad de restablecer el contador de notificaciones de llamadas perdidas. Tengo Go Dialer, que es un sustituto de la aplicación de marcación y contacto de serie (la forma en que se realizan las llamadas telefónicas). Cuando pierdo una llamada, Android me lo hace saber con una notificación. Sin embargo, Go Dialer no puede restablecer este contador, a pesar de que pide ese permiso cuando instalas la aplicación. Android 2.2 y anteriores permitían a las aplicaciones de usuario restablecerlo, pero hicieron de este permiso un permiso accesible sólo por el sistema para Android 2.3

Al mover mi aplicación Go Dialer a la partición del sistema, se permite restablecer este contador. La aplicación no necesita root (excepto, por supuesto, para mover la aplicación a la partición del sistema).

Otro permiso del sistema es la capacidad de establecer la ubicación gps actual. Ahora, Android tiene una preferencia en la que se pueden permitir las ubicaciones falsas, por lo que cualquier aplicación de falsificación de gps que se instale puede declarar una ubicación gps. Pero si la aplicación está en la partición del sistema, las ubicaciones falsas pueden ser desactivadas, mientras que la aplicación puede falsificar la ubicación gps.

Actualizaciones

Las aplicaciones del sistema se pueden actualizar igual que las aplicaciones del usuario, pero la actualización nunca se integra en la rom original. Es decir, las aplicaciones del sistema tienen la capacidad única de volver a la versión que existía cuando se instaló la rom por primera vez.

Mudanza a SD

Android permite a los usuarios moverse user aplicaciones de la memoria interna a la tarjeta sd. Las aplicaciones del sistema no se pueden mover y siempre ocupan algo de espacio interno. Sin embargo, la mayoría de los dispositivos (¿todos?) tienen aplicaciones de usuario internas en una partición diferente, por lo que la desinstalación de una aplicación del sistema no le daría más espacio para aplicaciones de usuario (aparte de la eliminación de la caché dalvik).

Recuperarás algo de espacio si desinstalas las actualizaciones de una aplicación del sistema. Como se ha dicho, las actualizaciones no están integradas en la rom y por tanto se almacenan en el espacio de usuario. Las actualizaciones tampoco pueden pasar a la tarjeta sd, pero si se eliminan, se recupera espacio de usuario.

Cómo le afecta a usted

Si eres un usuario ocasional de Android, es probable que no te encuentres con escenarios en los que la aplicación del sistema frente a la del usuario suponga una diferencia. Si eres un usuario avanzado, es probable que tengas Root y puedas cambiar una aplicación de sistema a usuario (y viceversa) si alguna vez te encuentras con una de estas situaciones.

1 votos

¿Quieres decir que "esto no es lo mismo que los permisos Root/su"? Creo recordar que sudo y su no son lo mismo - al menos en Unix y Linux.

0 votos

Tienes razón en que su y sudo son diferentes en *nix. Pero sudo es más aplicable en este caso, ya que sudo está pidiendo privilegios de Root, mientras que su es simplemente pedir el cambio de usuario. Para usar su, sólo necesitas saber la contraseña de la cuenta a la que vas a cambiar; si no especificas una cuenta, entonces estás pidiendo ser Root. En Android, sin embargo, no existe la contraseña de Root, ni de ninguna otra cuenta, por lo que su es el comando conocido por los usuarios para ejecutar en una terminal para obtener privilegios de Root.

0 votos

En cualquier caso, actualizaré la respuesta para incluir su ya que eso es lo que algunos usuarios de Android equiparan al Root.

4voto

Liam W Puntos 6478

Las aplicaciones del sistema son aplicaciones incluidas en el sistema. Se encuentran en la carpeta /system/app.

La gran mayoría de ellos son necesarios para que el aparato funcione. Un ejemplo de algunos de ellos son el marcador, que configura toda la conectividad de red, y el navegador, sin el cual no funcionaría ninguna vista web dentro de la aplicación.

1 votos

¿El marcador establece la conectividad de la red?

2 votos

@MatthewRead Sí, lo hace. El 'Dialer' real es una actividad separada ubicada en la aplicación dialer. El dialer.apk es la aplicación que configura la conectividad - si quieres una prueba, congela las aplicaciones dialer y dialer storage, la red no funcionará.

3voto

Don Willis Puntos 190

Me gustaría añadir algo en las respuestas anteriores. Las aplicaciones del sistema no se pueden eliminar en un restablecimiento completo de fábrica, a diferencia de las aplicaciones del usuario. Así que si quieres borrar todos tus archivos personales pero son demasiados para que un restablecimiento de fábrica sea lo más conveniente, y tienes apps que quieres conservar, puedes convertir esas apps en apps de sistema para que no se borren durante el restablecimiento de fábrica.

2voto

Miguel Ping Puntos 9013

Otra característica de las aplicaciones del sistema es que utilizan bibliotecas nativas ( libsomething.so ) del directorio de bibliotecas del sistema común (normalmente /sistema/lib o /sistema/lib64 ), y no desde el directorio de bibliotecas privadas de la aplicación (por ejemplo /data/app/com.example.HelloJni/lib/arm ). Antes de Android Nougat, las apps de los usuarios eran libres de cargar y utilizar las bibliotecas nativas del sistema. Posteriormente se han impuesto restricciones, véase https://developer.Android.com/about/versions/nougat/Android-7.0-changes.html#ndk .

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