Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Arquitectura AOSP

La plataforma de sistema abierto de Android (AOSP) es un código fuente de Android modificable y disponible públicamente. Cualquiera puede descargar y modificar AOSP para su dispositivo. AOSP proporciona una implementación completa y totalmente funcional de la plataforma móvil Android.

Hay dos niveles de compatibilidad para dispositivos que implementan AOSP: compatibilidad con AOSP y compatibilidad con Android. Un dispositivo compatible con AOSP debe cumplir con la lista de requisitos del Documento de definición de compatibilidad (CDD) . Un dispositivo compatible con Android debe cumplir con la lista de requisitos de la CDD y los requisitos de software del proveedor (VSR) y las pruebas como las de Vendor Test Suite (VTS) y Compatability Test Suite (CTS) . Para obtener más información sobre la compatibilidad con Android, consulte el programa de compatibilidad con Android .

arquitectura AOSP

La pila de software para AOSP contiene las siguientes capas:

Arquitectura de pila de software AOSP
Figura 1. Arquitectura de pila de software AOSP.
  • Aplicación Android. Una aplicación creada únicamente con la API de Android dentro del SDK de Android. Google Play Store se usa mucho para buscar y descargar aplicaciones de Android, aunque existen muchas otras alternativas. En algunos casos, es posible que el fabricante de un dispositivo desee preinstalar una aplicación de Android para admitir la funcionalidad principal del dispositivo. Si está interesado en desarrollar aplicaciones para Android, diríjase a developer.android.com .
  • Aplicación privilegiada. Una aplicación creada con una combinación de las API de Android y del sistema. Estas aplicaciones deben estar preinstaladas como aplicaciones privilegiadas en un dispositivo.
  • Aplicación de fabricación de dispositivos. Una aplicación creada con una combinación de la API de Android, la API del sistema y el acceso directo a la implementación del marco de trabajo de Android. Debido a que un fabricante de dispositivos puede acceder directamente a las API inestables dentro del marco de Android, estas aplicaciones deben estar preinstaladas en el dispositivo y solo se pueden actualizar cuando se actualiza el software del sistema del dispositivo.
  • Marco de Android. Un grupo de clases Java, interfaces y otro código precompilado sobre el que se construyen las aplicaciones. Se puede acceder públicamente a partes del marco mediante el uso de las API de Android del SDK de Android. Otras partes del marco están disponibles solo para los OEM mediante el uso de las API del sistema del SDK de Android. El código del marco de trabajo de Android se ejecuta dentro del proceso de una aplicación.
  • SDK de Android. Un kit de desarrollo de software para usar en la creación de aplicaciones que interactúan con el marco de trabajo de Android. El SDK de Android consta de la API de Android, disponible para todas las aplicaciones, y la API del sistema, disponible solo para las aplicaciones con privilegios. Para obtener más información sobre la API de Android de Android SDK, diríjase a developer.android.com . Tenga en cuenta que también hay un kit de desarrollo nativo de Android (NDK) que le permite escribir parte de su aplicación de Android usando código nativo.
  • Servicios del sistema. Los servicios del sistema son componentes modulares enfocados, como system_server , SurfaceFlinger y MediaService. La funcionalidad expuesta por la API del marco de trabajo de Android se comunica con los servicios del sistema para acceder al hardware subyacente.
  • Tiempo de ejecución de Android (ART). Un entorno de ejecución de aplicaciones Java proporcionado por AOSP. ART realiza la traducción del código de bytes de la aplicación en instrucciones específicas del procesador que ejecuta el entorno de tiempo de ejecución del dispositivo.
  • Capa de abstracción de hardware (HAL). Una HAL es una capa de abstracción con una interfaz estándar para que la implementen los proveedores de hardware. Las HAL permiten que Android sea independiente de las implementaciones de controladores de nivel inferior. El uso de una HAL le permite implementar la funcionalidad sin afectar o modificar el sistema de nivel superior.
  • Para obtener más información, consulte la descripción general de HAL .
  • Demonios nativos y bibliotecas. Los demonios nativos en esta capa incluyen init , healthd , logd y storaged . Estos demonios interactúan directamente con el kernel u otras interfaces y no dependen de una implementación HAL basada en el espacio de usuario. Las bibliotecas nativas en esta capa incluyen libc , liblog , libutils , libbinder y libselinux . Estas bibliotecas nativas interactúan directamente con el kernel u otras interfaces y no dependen de una implementación de HAL basada en el espacio de usuario.
  • Núcleo. La parte central de cualquier sistema operativo, el kernel, se comunica con el hardware subyacente en un dispositivo. Siempre que sea posible, el núcleo AOSP se divide en módulos independientes del hardware y módulos específicos del proveedor. Para obtener una descripción, incluidas las definiciones, de los componentes del kernel AOSP, consulte la Descripción general del kernel .

¿Que sigue?

  • Si es nuevo en AOSP y desea comenzar con el desarrollo, vaya a la sección Comenzar .
  • Si desea obtener más información sobre una capa específica de AOSP, haga clic en el nombre de la capa en la navegación de la izquierda y comience con la descripción general de esa capa.