3 votos

¿Los usuarios de AOSP tienen "nombres de usuario"?

Como demuestra esta revisión relevante de la pregunta de Stack Overflow, llamar a $USER dentro de una terminal (como Termux) proporciona un nombre de usuario como u0_a272. Sin embargo, todos los desarrolladores de aplicaciones con los que he hablado sobre este tema me informaron que ese valor difiere para cada aplicación, y la documentación de AOSP parece corroborar esto.

En consecuencia, ¿debería considerar la sección u0 como el identificador de usuario, y la sección _.* como el identificador de la aplicación, o se utiliza un método completamente diferente para hacer referencia a un usuario?

6voto

pr0nin Puntos 353

Es bien sabido que Android utiliza el sistema de usuario de Linux como un sistema de contención simple para separar las aplicaciones entre sí.

El id de usuario de Android como u0_a272 (UID 10272) puede interpretarse de la siguiente manera:

  • u0 significa que pertenece a la primera cuenta de usuario en el dispositivo (esta vez a la cuenta de usuario de Linux pero usuario humano).
  • a puede ser el identificador de que la cuenta de usuario pertenece a una aplicación (no estoy 100% seguro)
  • 272 es el UID de Linux módulo UserHandle.PER_USER_RANGE.

El UID se calcula como:

UID = UserHandle.PER_USER_RANGE × usuario + app + Process.FIRST_APPLICATION_UID

Las constantes en Process especifican el rango de UIDs permitidos para ser utilizados por las aplicaciones. En Android M, el rango va desde 10000 hasta 19999.

Las cuentas de usuario se crean dinámicamente en la instalación de la aplicación y luego se guardan en un archivo XML donde se registran todos estos detalles si todas las aplicaciones instaladas. De esta manera, Android puede buscar qué aplicación pertenece a qué uid y viceversa.

Para más detalles sobre este tema, consulte las preguntas relacionadas y sus respuestas:

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