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

Gestión de software de Android

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

El Proyecto de código abierto de Android (AOSP) mantiene una pila de software completa para ser portada por los OEM y otros implementadores de dispositivos y ejecutarse en su propio hardware. Para mantener la calidad de Android, Google ha contribuido con ingenieros, gerentes de productos, diseñadores de interfaz de usuario, evaluadores de control de calidad y todos los demás roles necesarios para llevar los dispositivos modernos al mercado.

En consecuencia, mantenemos una serie de líneas de código para separar claramente la versión estable actual de Android del trabajo experimental inestable. Integramos la administración y el mantenimiento de código abierto de las líneas de código de Android en el ciclo de desarrollo de productos más amplio.

Gestión de código AOSP

El siguiente cuadro muestra los conceptos detrás de la gestión y lanzamiento de códigos AOSP.

diagrama de línea de código
Figura 1. Código y versiones de AOSP
  1. En cualquier momento dado, hay una última versión actual de la plataforma Android. Esto típicamente toma la forma de una rama en el árbol.
  2. Los creadores de dispositivos y los colaboradores trabajan con la última versión actual, solucionan errores, lanzan nuevos dispositivos, experimentan con nuevas funciones, etc.
  3. Paralelamente, Google trabaja internamente en la próxima versión de la plataforma y el marco de Android de acuerdo con las necesidades y objetivos del producto. Desarrollamos la próxima versión de Android trabajando con un socio de dispositivos en un dispositivo insignia cuyas especificaciones se eligen para impulsar a Android en la dirección que creemos que debe ir.
  4. Cuando la versión n+1 está lista, se publica en el árbol de fuentes públicas y se convierte en la versión más reciente.

Términos y advertencias

  • Un lanzamiento corresponde a una versión formal de la plataforma Android, como la 1.5 o la 8.1. Una versión de la plataforma corresponde a la versión en el campo SdkVersion de los archivos AndroidManifest.xml y se define dentro de frameworks/base/api en el árbol fuente.
  • Un proyecto ascendente es un proyecto de código abierto del que la pila de Android extrae el código. Además de proyectos como el kernel de Linux y WebKit, seguimos migrando algunos proyectos de Android semiautónomos como ART, las herramientas SDK de Android y Bionic para que funcionen como proyectos ascendentes. Generalmente, estos proyectos se desarrollan íntegramente en el árbol público. Para algunos proyectos upstream, los desarrolladores contribuyen directamente al proyecto upstream. Para obtener más información, consulte Proyectos upstream . En ambos casos, las instantáneas se incorporan periódicamente a las versiones.
  • En todo momento, una línea de código de lanzamiento (que puede constar de más de una rama en git) se considera el único código fuente canónico para una versión determinada de la plataforma Android. Los OEM y otros grupos que construyen dispositivos deben extraer solo de una rama de lanzamiento.
  • Se establecen líneas de código experimentales para capturar los cambios de la comunidad de modo que puedan iterarse con miras a la estabilidad.
  • Los cambios que prueban ser estables finalmente se introducen en una rama de lanzamiento. Esto se aplica solo a correcciones de errores, mejoras de aplicaciones y otros cambios que no afectan las API de la plataforma.
  • Los cambios se introducen en las ramas de lanzamiento de los proyectos ascendentes (incluidos los proyectos ascendentes de Android) según sea necesario.
  • Google desarrolla internamente la versión n+1 (la próxima versión principal de las API del marco y la plataforma). Para obtener más información, consulte Líneas de código privadas .
  • Los cambios se extraen de las ramas upstream, release y experimental a la rama privada de Google según sea necesario.
  • Cuando las API de la plataforma para la próxima versión se estabilizan y se prueban por completo, Google corta un lanzamiento de la próxima versión de la plataforma (específicamente, una nueva SdkVersion ). Esto corresponde a la línea de código interna que se convierte en una rama de lanzamiento público y la nueva línea de código de la plataforma actual.
  • Cuando se corta una nueva versión de la plataforma, se crea al mismo tiempo una línea de código experimental correspondiente.

líneas de código privadas

La estrategia de gestión de fuentes anterior incluye una línea de código que Google mantiene en privado para centrar la atención en la versión pública actual de Android.

Los fabricantes de equipos originales y otros fabricantes de dispositivos naturalmente quieren enviar dispositivos con la última versión de Android. Del mismo modo, los desarrolladores de aplicaciones no quieren lidiar con más versiones de plataforma de las necesarias. Mientras tanto, Google conserva la responsabilidad de la dirección estratégica de Android como plataforma y producto. Nuestro enfoque se centra en una pequeña cantidad de dispositivos emblemáticos para impulsar funciones y, al mismo tiempo, garantizar la protección de la propiedad intelectual relacionada con Android.

Como resultado, Google con frecuencia posee información confidencial de terceros y debe abstenerse de revelar características confidenciales hasta que obtenga las protecciones adecuadas. Además, existen riesgos reales para la plataforma si existen demasiadas versiones de la plataforma al mismo tiempo. Por estos motivos, hemos estructurado el proyecto de código abierto (incluidas las contribuciones de terceros) para centrarnos en la versión estable pública actual de Android. El desarrollo profundo de la próxima versión de la plataforma ocurre en privado hasta que esté listo para convertirse en un lanzamiento oficial.

Reconocemos que muchos colaboradores no están de acuerdo con este enfoque y respetamos sus puntos de vista. Sin embargo, este es el enfoque que consideramos mejor y el que hemos elegido implementar para Android.