A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Descripción general del AOSP
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Android es un sistema operativo para una gran variedad de dispositivos con diferentes factores de forma. La documentación y el código fuente de Android están disponibles para todos como el Proyecto de código abierto de Android (AOSP). Puedes usar el AOSP para crear variantes personalizadas del SO Android para tus propios dispositivos.
El AOSP está diseñado para que no haya ningún punto central de falla, donde un jugador de la industria restrinja o controle las innovaciones de otro. Por lo tanto, es un producto para desarrolladores completo de calidad de producción con código fuente abierto para su personalización y portabilidad.
Esta sección de la documentación ayuda a los desarrolladores nuevos en el AOSP a comenzar a usar la plataforma y realizar tareas esenciales de desarrollo.
Términos requeridos
A continuación, se incluye una lista de términos y definiciones que se usan en esta documentación sobre primeros pasos. Estudia cada definición antes de seguir avanzando.
- Desarrollador de apps para Android
Este desarrollador escribe aplicaciones o apps para Android que se ejecutan en Android. Hay dos clasificaciones de desarrolladores de apps: desarrolladores de apps propias y de apps de terceros.
- Desarrollador de apps propias para Android
- Un desarrollador de apps para Android que tiene acceso a las APIs del sistema del AOSP y escribe apps privilegiadas y de fabricantes de dispositivos.
- Desarrollador de apps de terceros para Android
- Un desarrollador de apps para Android que solo usa el SDK público de Android para crear apps de este sistema operativo.
Si quieres desarrollar apps de terceros para Android, consulta developers.android.com
. La información de este sitio web está destinada solo a quienes trabajan directamente con el AOSP.
- Android Debug Bridge (adb)
- Una herramienta de línea de comandos (
adb
) que permite que tu estación de trabajo se comunique con un dispositivo virtual, emulado por software o físico.
- Dispositivo compatible con Android
- Un dispositivo que puede ejecutar cualquier app escrita por desarrolladores externos que utilicen el SDK y el NDK de Android. Los dispositivos compatibles con Android deben cumplir con los requisitos del documento de definición de compatibilidad (CDD) y aprobar el Conjunto de pruebas de compatibilidad (CTS). Los dispositivos compatibles con Android son aptos para participar en el ecosistema de Android, que incluye una licencia potencial de Play Store de Android y del paquete de aplicaciones y APIs de los Servicios de Google para dispositivos móviles (GMS), y el uso de la marca Android. Si bien todos pueden usar el código fuente de Android, para ser considerado parte del ecosistema, un dispositivo debe ser compatible con Android. Para obtener más información sobre la compatibilidad y el CTS, consulta la Descripción general del Programa de compatibilidad de Android.
- Documento de definición de compatibilidad (CDD)
- Un documento que enumera los requisitos de software y hardware para un dispositivo compatible con Android.
- Colaborador
Una persona que también contribuye al código fuente del AOSP. Pueden ser empleados de Google o de otras empresas, o bien personas no afiliadas a ninguna entidad. Cada colaborador del AOSP usa las mismas herramientas, sigue el mismo proceso de revisión de código y está sujeto al mismo estilo de programación. No es necesario que seas colaborador para usar el AOSP; puedes descargarlo, modificarlo según tus necesidades, además de implementarlo en un dispositivo sin aportar código para que usen los demás.
Existen límites para los tipos de contribuciones de código que acepta Google. Por ejemplo, tal vez quieras aportar una API de aplicación alternativa, como un entorno totalmente basado en C++. Google rechazaría esa contribución porque Android recomienda que las aplicaciones se ejecuten en el entorno de ejecución de ART. Tampoco aceptará contribuciones como, por ejemplo, bibliotecas GPL o LGPL incompatibles con los objetivos de otorgamiento de licencias.
Si te interesa aportar código fuente, comunícate con Google antes de comenzar a trabajar.
- Conjunto de pruebas de compatibilidad (CTS)
Un paquete de pruebas gratuito y de calidad comercial disponible para descargar como objeto binario o como fuente en el AOSP. El CTS es un conjunto de pruebas de unidades diseñado para integrarse en tu flujo de trabajo diario. Su objetivo es mostrar incompatibilidades y garantizar que el software siga siendo compatible a lo largo del proceso de desarrollo.
- Cuttlefish
Un dispositivo Android virtual configurable que se puede ejecutar de manera remota con ofertas de terceros en la nube, como Google Cloud Engine, y de manera local en máquinas Linux x86.
- Desarrollador
En el contexto del AOSP, un desarrollador es toda persona que trabaja con el AOSP de cualquier forma. El término "desarrollador" se usa para hacer referencia genéricamente a las diferentes personas que podrían leer esta documentación, como fabricantes del equipo original (OEMs), fabricantes de teléfonos celulares, operadores y creadores de sistemas en chip (SoC).
- Servicios de Google para dispositivos móviles (GMS)
Una colección de apps y APIs de Google que se pueden preinstalar en dispositivos.
- Destino
Una permutación de dispositivo, como un modelo o factor de forma específicos. Por ejemplo, aosp_cf_x86_64_phone-userdebug
representa un teléfono x86 y de 65 MB con información de depuración que se diseñó para ejecutarse en el emulador de Cuttlefish.
Filosofía de administración
Android surgió del trabajo de un grupo de empresas conocido como Open Handset Alliance (OHA), con el liderazgo de Google. Hasta el día de hoy, muchas empresas, tanto miembros originales de la OHA como otras, han hecho grandes inversiones en Android. Estas empresas asignaron una cantidad importante de recursos de ingeniería para mejorar Android y llevar sus dispositivos al mercado.
Las empresas que invirtieron en Android lo hicieron porque creen en la necesidad de una plataforma abierta. Android es un esfuerzo de código abierto de manera intencional y explícita (a diferencia de un software gratuito); un grupo de organizaciones con necesidades compartidas reunió recursos para colaborar en una única implementación de un producto compartido. En primer lugar, la filosofía de Android es pragmática. El objetivo es crear un producto compartido que cada colaborador pueda personalizar según sus necesidades.
Sin embargo, la personalización sin control puede dar como resultado implementaciones incompatibles.
Para evitar la incompatibilidad, el Proyecto de código abierto de Android (AOSP) mantiene el Programa de compatibilidad de Android, que detalla lo que significa ser compatible con Android y los requisitos de los compiladores de dispositivos para alcanzar ese estado. Todos pueden usar el código fuente de Android para cualquier propósito, y Google acepta todos los usos legítimos del software. Sin embargo, para formar parte del ecosistema compartido de aplicaciones que los miembros de la OHA están construyendo en torno a Android, los desarrolladores de dispositivos deben participar en el Programa de compatibilidad de Android.
Google no solo dirige el AOSP, sino que también mantiene y continúa desarrollando Android. Si bien Android está formado por múltiples subproyectos, el AOSP se encarga estrictamente de la administración de proyectos.
Google concibe y administra Android como un producto de software único y holístico, no como una distribución, especificación o colección de piezas reemplazables. La intención de Google es que los creadores puedan asegurar la portabilidad de Android a sus dispositivos y no que implementen una especificación ni que seleccionen una distribución.
¿Qué sigue?
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-04-04 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-04-04 (UTC)"],[],[],null,["# AOSP overview\n\n*Android* is an operating system for a wide array of devices with different\nform factors. The documentation and source code for Android is available to\nanyone as the *Android Open Source Project (AOSP)*. You can use\nAOSP to create custom variants of the Android OS for your own devices.\n\nAOSP is designed so that there's no central point of failure, where one\nindustry player restricts or controls the innovations of another. Therefore,\nAOSP is a full, production-quality developer product with source code open for\ncustomization and porting.\n\nThis section of documentation helps new AOSP developers get started with the\nplatform and to perform essential development tasks.\n\nRequired terms\n--------------\n\nFollowing is a list of terms and definitions used throughout the Getting\nStarted documentation. You should study each definition before continuing\nfurther.\n\n*Android app developer*\n\n: Android app developers writes *Android apps* or applications that run on\n Android. There are two classification of app developers: first-party (1p) and\n third-party (3p) app developers.\n\n *Android first-party app developer*\n : An Android app developer that has access to AOSP System APIs and writes\n privileged and device manufacturer apps.\n\n *Android third-party app developer*\n : An Android app developer who solely uses Android's public SDK to create\n Android apps.\n\nIf you want to develop third-party apps for Android, refer to\n[`developers.android.com`](https://developer.android.com/). The information on\nthis website is solely for those working directly with AOSP.\n\n*Android debug bridge (adb)*\n: A command-line tool (`adb`) that allows your workstation communicate with a\n virtual, software-emulated, or physical device.\n\n*Android-compatible device*\n: A device that can run any third-party app written by third-party developers\n using the Android SDK and NDK. Android-compatible devices must adhere to the\n requirements of the\n [Compatibility Definition Document (CDD)](#cdd) and pass the\n [Compatibility Test Suite (CTS)](#cts). Android-compatible\n devices are eligible to participate in the Android ecosystem which includes\n potential licensure of the Android Play Store, potential licensure the\n [Google Mobile Services (GMS)](#gms) suite of\n applications and APIs, and use of the Android trademark. Anyone is welcome to\n use the Android source code, but to be considered part of the Android ecosystem,\n a device must be Android-compatible. For further information on compatibility\n and CTS, see the\n [Android Compatibility Program overview](/docs/compatibility/overview)\n\n*Compatibility Definition Document (CDD)*\n: A document that enumerates the software and hardware requirements for an\n Android-compatible device.\n\n*Contributor*\n\n: A person who makes contributions to the AOSP source code. Contributors\n can be employees of Google, employees from other companies, and individuals\n with no company affiliation. Every AOSP contributor uses the same tools, follows\n the same code review process, and is subject to the same coding style. You\n don't have to be a contributor to use AOSP; you can download AOSP,\n modify it for your own needs, and deploy it on a device without contributing\n code for others to use.\n\n There are limits to the type of code contributions Google accepts. For example,\n you might want to contribute an alternative application API, such as a full\n C++-based environment. Google would decline that contribution because Android\n encourages applications to be run in the ART runtime. Similarly, Google doesn't\n accept contributions such as GPL or LGPL libraries that are incompatible with\n licensing goals.\n\n If you are interested in contributing source code,\n [contact Google](/docs/setup/community) prior to beginning work.\n\n*Compatibility Test Suite (CTS)*\n\n: A free, commercial-grade test suite, available for download as a binary or as\n source in AOSP. The CTS is a set of unit tests designed to be integrated into\n your daily workflow. CTS's intent is to reveal incompatibilities, and ensure\n that the software remains compatible throughout the development process.\n\n*Cuttlefish*\n\n: A configurable virtual Android-powered device that can run remotely, using\n third-party cloud offerings, such as Google Cloud Engine, and locally on Linux\n x86 machines.\n\n*Developer*\n\n: In the context of AOSP, a developer is anyone who works with AOSP in any\n way. The term \"developer\" is used to generically refer to the various people who\n might read this documentation, such as original equipment manufacturers\n (OEMs), handset makers, carriers, and System-on-a-Chip (SoC) creators.\n\n*Google Mobile Services (GMS)*\n\n: A collection of Google apps and APIs that can be pre-installed on devices.\n\n*Target*\n\n: A permutation of a device, such as a specific model or form factor. For\n example, `aosp_cf_x86_64_only_phone-userdebug` represents a x86 65MB phone with\n debugging information that is designed to run on the cuttlefish emulator.\n\nGovernance philosophy\n---------------------\n\nA group of companies known as the Open Handset Alliance (OHA), led by Google,\noriginated Android. Today, many companies---both original members of the OHA and\nothers---have invested heavily in Android. These companies have allocated\nsignificant engineering resources to improve Android and bring Android devices\nto market.\n\nThe companies that have invested in Android have done so because they believe an\nopen platform is necessary. Android is intentionally and explicitly an open\nsource effort (as opposed to free software); a group of organizations with\nshared needs has pooled resources to collaborate on a single implementation of a\nshared product. First and foremost, the Android philosophy is pragmatic. The\nobjective is a shared product that each contributor can tailor and customize.\n\nOf course, uncontrolled customization can lead to incompatible implementations.\nTo prevent incompatibility, the Android Open Source Project (AOSP) maintains\nthe\n[Android Compatibility program](/docs/compatibility/overview),\nwhich spells out what it means to be Android-compatible and what's required of\ndevice builders to achieve that status. Anyone can use the Android source code\nfor any purpose, and Google welcomes all legitimate uses. However, to take part\nin the shared ecosystem of applications OHA members are building around Android,\ndevice builders must participate in the Android Compatibility program.\n\nAOSP is led by Google, who maintains and further develops Android. Although\nAndroid consists of multiple subprojects, AOSP is strictly project management.\nGoogle views and manage Android as a single, holistic software product, not a\ndistribution, specification, or collection of replaceable parts. Google's intent\nis that device builders port Android to a device; they don't implement a\nspecification or curate a distribution.\n\nWhat's next?\n------------\n\n- If you're new to AOSP and want to run through a tutorial on AOSP\n development, proceed with [AOSP tutorial](/docs/setup/start).\n\n- If you believe that your device needs to be Android-compatible, refer to the\n [Android Compatibility program](/docs/compatibility/overview).\n\n- If you want to learn about the background of AOSP, including Google's\n participation in the platform, see\n [AOSP frequently asked questions](/docs/setup/about/faqs)."]]