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.
Visão geral do AOSP
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Android é um sistema operacional para uma ampla gama de dispositivos com diferentes
formatos. A documentação e o código-fonte do Android estão disponíveis para
todo mundo pelo Android Open Source Project (AOSP). Você pode usar
o AOSP para criar variantes personalizadas do SO Android para seus próprios dispositivos.
O AOSP foi desenvolvido para não ter um ponto central de falha que possibilite que alguém
do setor restrinja ou controle as inovações de outras pessoas. O
AOSP é um produto completo para desenvolvedores, com qualidade de produção e código-fonte aberto para
personalização e portabilidade.
Esta seção da documentação ajuda novos desenvolvedores do AOSP a começar a usar a
plataforma e a executar tarefas essenciais de desenvolvimento.
Termos obrigatórios
Confira abaixo uma lista de termos e definições usados na documentação
"Como começar". Estude cada definição antes de
continuar.
- Desenvolvedor de apps Android
Desenvolvedores de apps Android criam apps Android ou aplicativos que são executados no
Android. Os desenvolvedores podem ser classificados em duas categorias: proprietários (1p) e
de terceiros (3p).
- Desenvolvedor proprietário de apps Android
- É aquele que tem acesso às APIs do sistema AOSP e cria
apps reservados e de fabricantes de dispositivos.
- Desenvolvedor de apps Android de terceiros
- É aquele que usa apenas o SDK público do Android para criar
apps Android.
Se você quer desenvolver apps de terceiros para o Android, consulte
developers.android.com
. As informações neste
site são destinadas apenas às pessoas que trabalham diretamente com o AOSP.
- Android Debug Bridge (adb)
- Uma ferramenta de linha de comando (
adb
) que permite que sua estação de trabalho se comunique com um
dispositivo virtual, físico ou emulado por software.
- Dispositivo compatível com Android
- Um dispositivo que pode executar qualquer app criado por desenvolvedores de terceiros
usando o SDK e o NDK do Android. Dispositivos compatíveis com Android precisam atender aos
requisitos do
Documento de definição de compatibilidade (CDD) e ser aprovados no
Conjunto de teste de compatibilidade (CTS). Dispositivos compatíveis com Android
podem participar do nosso ecossistema que inclui
potencial licenciamento da Android Play Store,
do pacote de apps e APIs dos Serviços do Google Mobile (GMS)
e do uso da marca registrada do Android. Aceitamos todos os
usos do código-fonte, mas, para participar do nosso ecossistema,
o dispositivo precisa ser compatível com Android. Para mais informações sobre compatibilidade
e o CTS, consulte a
visão geral do Programa de compatibilidade do Android
- Documento de definição de compatibilidade (CDD)
- Um documento que enumera os requisitos de software e hardware de um
dispositivo compatível com o Android.
- Colaborador
Uma pessoa que faz contribuições para o código-fonte do AOSP. Colaboradores
podem ser funcionários do Google ou de outras empresas, bem como indivíduos
sem afiliação a nenhuma empresa. Todos os colaboradores do AOSP usam as mesmas ferramentas, seguem
o mesmo processo de revisão de código e estão sujeitos ao mesmo estilo de programação. Você
não precisa ser um colaborador para usar o AOSP. É possível baixar esse projeto do Android,
fazer modificações de acordo com suas exigências e implantar em um dispositivo sem contribuir com
código para o uso de outras pessoas.
Existem limites para os tipos de contribuições de código que o Google aceita. Por exemplo,
talvez você queira contribuir para uma API de aplicativo alternativo, como um
ambiente completo baseado em C++. O Google recusaria essa contribuição, já que o Android
incentiva que os aplicativos sejam executados no ambiente ART. Da mesma forma, o Google não
aceita contribuições como bibliotecas GPL ou LGPL incompatíveis com
os objetivos de licenciamento.
Se você tiver interesse em contribuir com código-fonte,
entre em contato com o Google antes de iniciar o trabalho.
- Conjunto de teste de compatibilidade (CTS)
Um pacote de testes de nível comercial grátis para download como binário ou como
fonte no AOSP. O CTS é um pacote de testes de unidade criado para integração no
seu fluxo de trabalho diário. O objetivo do CTS é revelar incompatibilidades e garantir
que o software permaneça compatível durante todo o processo de desenvolvimento.
- Cuttlefish
Um dispositivo virtual Android configurável que pode ser executado remotamente, usando
soluções de terceiros em nuvem, como o Google Cloud Engine, e localmente em
máquinas Linux x86.
- Desenvolvedor
No contexto do AOSP, um desenvolvedor é qualquer pessoa que trabalha com essa versão de código aberto
do Android. O termo "desenvolvedor" é usado para se referir genericamente às várias pessoas que
podem ler esta documentação, como fabricantes de equipamentos originais
(OEMs), fabricantes de celulares, operadoras e criadores de SoC (system on a chip).
- Serviços do Google Mobile (GMS)
Uma coleção de APIs e apps Google que podem ser pré-instalados em dispositivos.
- Destino
Uma permutação de um dispositivo, como um modelo ou formato específico. Por
exemplo, aosp_cf_x86_64_phone-userdebug
representa um smartphone x86 de 65 MB com
informações de depuração criadas para execução no emulador cuttlefish.
Filosofia de governança
Um grupo de empresas conhecido como a Open Handset Alliance (OHA), liderado pelo Google, criou o Android. Várias empresas (membros originais da OHA e outras)
investiram muito no Android. Elas alocaram
recursos de engenharia significativos para melhorar o sistema e levar os dispositivos
Android ao mercado.
As empresas que investiram no Android fizeram isso
porque acreditam nas vantagens de uma plataforma aberta. O Android é uma iniciativa de código
aberto, não um software livre. Isso é intencional e explícito. É um grupo de organizações com
as mesmas necessidades, que uniu recursos para colaborar em uma única implementação de um
produto compartilhado. Antes de mais nada, a filosofia do Android é pragmática. O
objetivo é ter um produto compartilhado que cada colaborador possa ajustar e personalizar.
A personalização descontrolada pode, obviamente, levar a implementações incompatíveis.
Para evitar isso, o Android Open Source Project (AOSP) mantém
o
Programa de compatibilidade do Android,
que especifica o que significa ser compatível com o Android e o que é necessário para que os
fabricantes de dispositivos conquistem esse status. Qualquer pessoa pode usar o código-fonte do Android
para qualquer finalidade, e o Google aceita todos os usos legítimos. Porém, para participar
do ecossistema compartilhado de aplicativos que os membros da OHA estão criando para o Android,
os fabricantes de dispositivos precisam participar do Programa de compatibilidade do Android.
O AOSP é liderado pelo Google, que mantém e desenvolve o sistema. Embora
o Android tenha vários subprojetos, o AOSP é estritamente um gerenciamento de projeto.
O Google enxerga e gerencia o Android como um produto de software único e holístico, não como uma
distribuição, especificação ou coleção de partes substituíveis. A intenção do Google
é que os fabricantes levem o Android para um dispositivo, não que eles implementem uma
especificação ou organizem uma distribuição.
Quais são as próximas etapas?
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-04-04 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-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)."]]