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?
Se você estiver começando a usar o AOSP e tiver interesse em um tutorial sobre desenvolvimento no programa, prossiga com o Tutorial do AOSP.
Se você acredita que seu dispositivo precisa ser compatível com o Android, consulte o Programa de compatibilidade do Android.
Para mais informações sobre o AOSP, incluindo a participação do Google na plataforma, consulte Perguntas frequentes sobre o AOSP.