A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Android Open Source Project (AOSP) é um código-fonte do Android disponível publicamente e modificável. Qualquer pessoa pode baixar e modificar o AOSP para o dispositivo. O AOSP
oferece uma implementação completa e totalmente funcional da plataforma
móvel Android.
A pilha de software para AOSP contém as seguintes camadas:
Figura 1. Arquitetura de pilha de software do AOSP.
Confira abaixo uma lista de definições dos termos usados na Figura 1:
App Android
Um app criado apenas usando a API Android. A Google Play Store é amplamente usada para encontrar e baixar apps Android, mas há muitas outras alternativas. Em alguns casos, um fabricante de dispositivos pode querer
pré-instalar um app Android para oferecer suporte à funcionalidade principal do dispositivo. Se você quiser desenvolver apps Android, consulte
developers.android.com.
App privilegiado
Um app criado usando uma combinação das APIs do Android e do sistema. Esses apps
precisam ser pré-instalados como apps privilegiados em um dispositivo.
App do fabricante do dispositivo
Um app criado usando uma combinação da API Android, da API do sistema e do acesso
direto à implementação do framework Android. Como um fabricante de dispositivos
pode acessar diretamente APIs instáveis no framework do Android, esses apps
precisam ser pré-instalados no dispositivo e só podem ser atualizados quando o software
do sistema do dispositivo é atualizado.
API do sistema
A API System representa APIs do Android disponíveis apenas para parceiros e OEMs para inclusão em aplicativos agrupados. Essas APIs são marcadas como @SystemApi
no código-fonte.
API do Android
A API do Android é a API disponível publicamente para desenvolvedores de apps Android
de terceiros. Para informações sobre a API do Android, consulte a
Referência da API do Android.
Framework do Android
Um grupo de classes, interfaces e outros códigos pré-compilados em Java em que os
apps são criados. Algumas partes do framework são acessíveis publicamente pelo uso da API Android. Outras partes do framework estão
disponíveis apenas para OEMs usando as APIs do sistema. O código do framework
Android é executado dentro do processo de um app.
Serviços do sistema
Os serviços do sistema são componentes modulares e focados, como system_server,
SurfaceFlinger e MediaService. A funcionalidade exposta pela API do framework Android
se comunica com os serviços do sistema para acessar o hardware subjacente.
Android runtime (ART)
Um ambiente de execução Java fornecido pelo AOSP. O ART realiza a
tradução do bytecode do app em instruções específicas do processador
que são executadas pelo ambiente de execução do dispositivo.
Camada de abstração de hardware (HAL)
Uma HAL é uma camada de abstração com uma interface padrão para os fornecedores de hardware
implementarem. As HALs permitem que o Android seja independente das implementações de driver de nível inferior. Usar uma HAL permite implementar funcionalidades sem afetar ou modificar o sistema de nível superior. Para mais informações,
consulte a visão geral do HAL.
Daemons e bibliotecas nativas
Os daemons nativos nessa camada incluem init, healthd, logd e storaged. Esses daemons interagem diretamente com o kernel ou outras interfaces
e não dependem de uma implementação HAL baseada no espaço do usuário.
As bibliotecas nativas nessa camada incluem libc, liblog, libutils, libbinder e libselinux. Essas bibliotecas nativas interagem diretamente com o kernel ou outras interfaces e não dependem de uma implementação HAL baseada no espaço do usuário.
Kernel
O kernel é a parte central de qualquer sistema operacional e se comunica com o hardware de um dispositivo. Sempre que possível, o kernel do AOSP é dividido em módulos independentes de hardware e módulos específicos do fornecedor. Para uma descrição, incluindo definições, dos componentes do kernel do AOSP, consulte a Visão geral do kernel.
Quais são as próximas etapas?
Se você não conhece o AOSP e quer começar a desenvolver, consulte a seção "Começar".
Para saber mais sobre uma camada específica do AOSP, clique no nome da seção na navegação à esquerda e comece com a visão geral dela.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-24 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-24 UTC."],[],[],null,["# Architecture overview\n\nThe *Android Open Source Project (AOSP)* is publicly available and modifiable\nAndroid source code. Anyone can download and modify AOSP for their device. AOSP\nprovides a complete and fully functional implementation of the Android mobile\nplatform.\n| **Note:** AOSP can't provide support for apps that require backend services, such as a cloud messaging or advanced location services app. AOSP also doesn't include a full set of end-user apps that might be needed for particular types of devices.\n\nThere are two levels of compatibility for devices implementing AOSP: AOSP\ncompatibility and Android compatibility. An *AOSP-compatible device* must\nconform to the list of requirements in the\n[Compatibility Definition Document (CDD)](/docs/compatibility/cdd). An\n*Android-compatible device* must conform to the list of requirements in the CDD\nand Vendor Software Requirements (VSR) and tests such as those in the\n[Vendor Test Suite (VTS)](/docs/core/tests/vts) and\n[Compatibility Test Suite (CTS)](/docs/compatibility/cts). For further\ninformation on Android compatibility, refer to the\n[Android compatibility program](/docs/compatibility).\n\nAOSP architecture\n-----------------\n\nThe software stack for AOSP contains the following layers:\n\n**Figure 1.** AOSP software stack architecture.\n\nFollowing is a list of definitions for terms used in Figure 1:\n\n*Android app*\n: An app created solely using the Android API. Google\n Play Store is widely used to find and download Android apps, though there are\n many other alternatives. In some cases, a device manufacturer might want to\n preinstall an Android app to support the core functionality of the device. If\n you're interested in developing Android apps, refer to\n [developers.android.com](https://developer.android.com/).\n\n*Privileged app*\n: An app created using a combination of the Android and system APIs. These apps\n must be preinstalled as privileged apps on a device.\n\n*Device manufacturer app*\n: An app created using a combination of the Android API, system API, and direct\n access to the Android framework implementation. Because a device manufacturer\n might directly access unstable APIs within the Android framework, these apps\n must be preinstalled on the device and can be updated only when the device's\n system software is updated.\n\n*System API*\n: The System API represents Android APIs available only to partners and\n OEMs for inclusion in bundled applications. These APIs are marked as @SystemApi\n in the source code.\n\n*Android API*\n: The Android API is the publicly available API for third-party Android app\n developers. For information on the Android API, refer to\n [Android API reference](https://developer.android.com/reference).\n\n*Android framework*\n: A group of Java classes, interfaces, and other precompiled code upon which\n apps are built. Portions of the framework are publicly accessible through the\n use of the Android API. Other portions of the framework are\n available only to OEMs through the use of the system APIs. Android\n framework code runs inside an app's process.\n\n*System services*\n: System services are modular, focused components such as `system_server`,\n SurfaceFlinger, and MediaService. Functionality exposed by Android framework API\n communicates with system services to access the underlying hardware.\n\n*Android runtime (ART)*\n: A Java runtime environment provided by AOSP. ART performs the\n translation of the app's bytecode into processor-specific instructions\n that are executed by the device's runtime environment.\n\n*Hardware abstraction layer (HAL)*\n: A HAL is an abstraction layer with a standard interface for hardware vendors\n to implement. HALs allow Android to be agnostic about lower-level driver\n implementations. Using a HAL lets you implement functionality without\n affecting or modifying the higher level system. For further information,\n see the [HAL overview](/docs/core/architecture/hal).\n\n*Native daemons and libraries*\n\n: Native daemons in this layer include `init`, `healthd`, `logd`, and\n `storaged`. These daemons interact directly with the kernel or other interfaces\n and don't depend on a userspace-based HAL implementation.\n\n Native libraries in this layer include `libc`, `liblog`, `libutils`,\n `libbinder`, and `libselinux`. These Native libraries interact directly with\n the kernel or other interfaces and don't depend on a userspace-based HAL\n implementation.\n\n*Kernel*\n\n: The kernel is the central part of any operating system and talks to the\n underlying hardware on a device. Where possible, the AOSP kernel is split\n into hardware-agnostic modules and vendor-specific modules. For a description,\n including definitions, of AOSP kernel components, refer to the\n [Kernel overview](/docs/core/architecture/kernel).\n\nWhat's next?\n------------\n\n- If you're new to AOSP, and want to get started with development, refer to the [Get started section](/docs/setup).\n- If you want to learn more about a specific layer of AOSP, click the section's name in the left navigation and begin with the overview for that section."]]