7 votos

¿Dado que cada aplicación se ejecuta como un usuario independiente, lo que pasa cuando desee agregar una nueva cuenta de usuario?

Según esta, todas las aplicaciones en Android funciona como un usuario con nivel de núcleo separado, con un único ID de usuario y Grupo ID.

Entonces, lo que pasa bajo el capó cuando usted añadir un nuevo usuario (por ejemplo en su Tablet PC compartida).

17voto

Andy Brudtkuhl Puntos 1714

Los Identificadores de usuario de Linux que Android se utiliza para aislar las aplicaciones de cada uno de los otros son completamente ajenos a los perfiles de usuario en Android 4.2 tabletas.

En Android, cada aplicación tiene su propio directorio para guardar los datos. El usuario de Linux el sistema de IDENTIFICACIÓN se utiliza para hacer que las aplicaciones no pueden leer los de los demás datos. Pero todos estos datos de los directorios dentro de un directorio en el sistema de archivos, /data/user/0. Digamos que el primer usuario que se llama Abulurd, y se instala la aplicación Showr. Podría darse el ID de usuario en el 1004, y el directorio /data/user/0/com.shadowburst.showr.

Ahora, supongamos que crea un nuevo perfil de usuario para Beatriz. Ella consigue un nuevo directorio, /data/user/1, que comienza vacía. Cuando inicia sesión en el dispositivo, y se instala Showr, no vuelve a descargar la aplicación (ya que el Android app installer sabe el archivo APK ya está en el dispositivo), pero sí crear un nuevo ID de usuario 1007 (por ejemplo), y un nuevo directorio /data/user/1/com.shadowburst.showr.

Android utiliza un sistema de ficheros Linux permisos, y los diferentes Identificadores de usuario de Linux, no sólo para asegurarse de que Abulurd del Showr no puede leer los datos de Abulurd otras aplicaciones, pero también que Abulurd del Showr no puede leer los datos de Beatriz Showr. Las dos instancias de Showr se ejecutan en procesos diferentes, con diferentes Id de usuario.

Si estás familiarizado con Linux terminología, la fabricación de un nuevo perfil de usuario es similar a la utilización de chroot sobre el dispositivo para obtener una parte aislada del sistema de archivos para ejecutar las aplicaciones.

Lo que he descrito es el proceso habitual, pero así como las aplicaciones pueden ser escritas para compartir un directorio de datos con otras aplicaciones del mismo desarrollador (firmado con la misma clave), Android brinda a las aplicaciones la oportunidad para decir que trabajar con varios usuarios. De esta manera, una aplicación puede ser escrito a tener un proceso para todos los perfiles de usuario, para que compartan datos o realizar alguna función especial. La pantalla de bloqueo tiene que trabajar de esta manera, por ejemplo, porque todos los perfiles de usuario compartir una aplicación de pantalla de bloqueo, que tiene que leer todos los usuarios de bloqueo de la pantalla de configuración.

2voto

Izzy Puntos 45544

¿Qué sucede cuando se agrega una nueva cuenta de usuario es que una nueva cuenta (o "Perfil de Usuario"). Esto no tiene nada que ver con el usuario/grupo de gestión en el Nivel de SO. Notará que la mayoría de how-tos (por ejemplo, en este HowToGeek) hablan acerca de las cuentas, ya que el término "usuario" sería bastante engañoso.

Yo no soy un Android dev, así que no puedo dar una mejor explicación técnica. Pero hasta donde yo sé, la multi-función de usuario se realiza en la parte superior del núcleo de Linux (es decir, en Java/Dalvik). EDIT: Dan publicó su respuesta , al mismo tiempo, como yo el mío, para ver que hay de la técnica de fondo :)

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: