Visão geral do AOSP, Visão geral do AOSP

O Android é um sistema operacional para uma ampla variedade de dispositivos com diferentes formatos. A documentação e o código-fonte do Android estão disponíveis para qualquer pessoa como Android Open Source Project (AOSP) . Você pode usar o AOSP para criar variantes personalizadas do sistema operacional Android para seus próprios dispositivos.

O AOSP foi projetado para que não haja um ponto central de falha, onde um participante do setor restrinja ou controle as inovações de outro. Portanto, o AOSP é um produto de desenvolvedor completo com qualidade de produção e código-fonte aberto para personalização e portabilidade.

Esta seção da documentação ajuda novos desenvolvedores AOSP a começar a usar a plataforma e a realizar tarefas essenciais de desenvolvimento.

Termos obrigatórios

A seguir está uma lista de termos e definições usados ​​em toda esta documentação de introdução. Você deve estudar cada definição antes de continuar.

Desenvolvedor de aplicativos Android

Os desenvolvedores de aplicativos Android escrevem aplicativos Android ou aplicativos executados no Android. Existem duas classificações de desenvolvedores de aplicativos: desenvolvedores de aplicativos primários (1p) e desenvolvedores de aplicativos terceirizados (3p).

Desenvolvedor de aplicativos Android 1p
Um desenvolvedor de aplicativos Android que tem acesso às APIs do sistema AOSP e escreve aplicativos privilegiados e de fabricantes de dispositivos.
Desenvolvedor de aplicativos Android 3p
Um desenvolvedor de aplicativos Android que usa exclusivamente o SDK público do Android para criar aplicativos Android.

Se você deseja desenvolver aplicativos 3p para Android, consulte developers.android.com . As informações contidas neste site são exclusivas para quem trabalha diretamente com a AOSP.

Ponte de depuração do Android (ADB)
Uma ferramenta de linha de comando ( adb ) que permite que sua estação de trabalho se comunique com um dispositivo virtual, emulado por software ou físico.
Dispositivo compatível com Android
Um dispositivo que pode executar qualquer aplicativo de terceiros escrito por desenvolvedores de terceiros usando o Android SDK e o NDK. Os dispositivos compatíveis com Android devem atender aos requisitos do Documento de Definição de Compatibilidade (CDD) e passar no Conjunto de Testes de Compatibilidade (CTS) . Os dispositivos compatíveis com Android são elegíveis para participar no ecossistema Android, que inclui o potencial licenciamento da Android Play Store, o potencial licenciamento do conjunto de aplicações e APIs do Google Mobile Services (GMS) e a utilização da marca comercial Android. Qualquer pessoa pode usar o código-fonte do Android, mas para ser considerado parte do ecossistema Android, um dispositivo deve ser compatível com Android. Para obter mais informações sobre compatibilidade e CTS, consulte a visão geral do Programa de Compatibilidade Android
Aprovador
Membros experientes da comunidade AOSP que fizeram contribuições técnicas e de design significativas para a plataforma. No processo de revisão de código, um aprovador decide se deve incluir uma alteração. Os líderes de projeto (que normalmente são empregados do Google) escolhem os aprovadores, às vezes promovendo verificadores para posições de aprovador quando demonstram experiência em uma parte específica do AOSP.
Documento de definição de compatibilidade (CDD)
Um documento que enumera os requisitos de software e hardware para um dispositivo compatível com Android.
Contribuinte

Uma pessoa que também faz contribuições para o código-fonte do AOSP. Os colaboradores podem ser funcionários do Google, funcionários de outras empresas e indivíduos sem afiliação empresarial. Cada contribuidor AOSP usa as mesmas ferramentas, segue o mesmo processo de revisão de código e está sujeito ao mesmo estilo de codificação. Você não precisa ser um contribuidor para usar o AOSP; você pode baixar o AOSP, modificá-lo de acordo com suas próprias necessidades e implantá-lo em um dispositivo sem contribuir com código para uso de terceiros.

Existem limites para o tipo de contribuições de código que o Google aceita. Por exemplo, você pode querer contribuir com uma API de aplicativo alternativa, como um ambiente completo baseado em C++. O Google recusaria essa contribuição porque o Android incentiva os aplicativos a serem executados no tempo de execução ART. Da mesma forma, o Google não aceita contribuições como bibliotecas GPL ou LGPL que sejam incompatíveis com os objetivos de licenciamento.

Se você estiver interessado em contribuir com o código-fonte, entre em contato com o Google antes de começar o trabalho.

Conjunto de testes de compatibilidade (CTS)

Um conjunto de testes gratuito de nível comercial, disponível para download como binário ou como fonte no AOSP. O CTS é um conjunto de testes unitários projetados para serem integrados ao seu fluxo de trabalho diário. A intenção do CTS é revelar incompatibilidades e garantir que o software permaneça compatível durante todo o processo de desenvolvimento.

Choco

Um dispositivo virtual configurável com tecnologia Android que pode ser executado remotamente, usando ofertas de nuvem de terceiros, como o Google Cloud Engine, e localmente em máquinas Linux x86.

Desenvolvedor

No contexto do AOSP, desenvolvedor é qualquer pessoa que trabalhe com o AOSP de alguma forma. O termo "desenvolvedor" é usado para se referir genericamente às diversas pessoas que podem ler esta documentação, como fabricantes de equipamentos originais (OEMs), fabricantes de aparelhos, operadoras e criadores de System-on-a-Chip (SoC).

Serviços móveis do Google (GMS)

Uma coleção de aplicativos e APIs do Google que podem ser pré-instalados em dispositivos.

Alvo

Uma permutação de um dispositivo, como um modelo ou formato específico. Por exemplo, aosp_cf_x86_64_phone-userdebug representa um telefone x86 de 65 MB com informações de depuração projetadas para execução no emulador choco.

Verificador

Um contribuidor valioso na comunidade Android que baixa e verifica alterações no AOSP. Depois de enviar uma quantidade significativa de código de alta qualidade ao AOSP, os líderes do projeto poderão convidá-lo para se tornar um verificador.

Filosofia de governança

Um grupo de empresas conhecido como Open Handset Alliance (OHA), liderado pelo Google, deu origem ao Android. Hoje, muitas empresas – tanto membros originais da OHA quanto outras – investiram pesadamente no Android. Essas empresas alocaram recursos de engenharia significativos para melhorar o Android e lançar dispositivos Android no mercado.

As empresas que investiram no Android o fizeram porque acreditam que é necessária uma plataforma aberta. O Android é intencional e explicitamente um esforço de código aberto (em oposição ao software livre); um grupo de organizações com necessidades compartilhadas reuniu recursos para colaborar em uma única implementação de um produto compartilhado. Em primeiro lugar, a filosofia Android é pragmática. O objetivo é um produto compartilhado que cada colaborador possa adaptar e personalizar.

É claro que a personalização descontrolada pode levar a implementações incompatíveis. Para evitar incompatibilidade, o Android Open Source Project (AOSP) mantém o programa Android Compatibility , que explica o que significa ser compatível com o Android e o que é exigido dos construtores de dispositivos para alcançar esse status. Qualquer pessoa pode usar o código-fonte do Android para qualquer finalidade, e o Google aceita todos os usos legítimos. No entanto, para participar do ecossistema compartilhado de aplicativos que os membros da OHA estão construindo em torno do Android, os fabricantes de dispositivos devem participar do programa de compatibilidade do Android.

AOSP é liderado pelo Google, que mantém e desenvolve o Android. Embora o Android consista em vários subprojetos, o AOSP é estritamente gerenciamento de projetos. O Google vê e gerencia o Android como um produto de software único e holístico, e não como uma distribuição, especificação ou coleção de peças substituíveis. A intenção do Google é que os fabricantes de dispositivos transfiram o Android para um dispositivo; eles não implementam uma especificação nem organizam uma distribuição.

Qual é o próximo?

,

O Android é um sistema operacional para uma ampla variedade de dispositivos com diferentes formatos. A documentação e o código-fonte do Android estão disponíveis para qualquer pessoa como Android Open Source Project (AOSP) . Você pode usar o AOSP para criar variantes personalizadas do sistema operacional Android para seus próprios dispositivos.

O AOSP foi projetado para que não haja um ponto central de falha, onde um participante do setor restrinja ou controle as inovações de outro. Portanto, o AOSP é um produto de desenvolvedor completo com qualidade de produção e código-fonte aberto para personalização e portabilidade.

Esta seção da documentação ajuda novos desenvolvedores AOSP a começar a usar a plataforma e a realizar tarefas essenciais de desenvolvimento.

Termos obrigatórios

A seguir está uma lista de termos e definições usados ​​em toda esta documentação de introdução. Você deve estudar cada definição antes de continuar.

Desenvolvedor de aplicativos Android

Os desenvolvedores de aplicativos Android escrevem aplicativos Android ou aplicativos executados no Android. Existem duas classificações de desenvolvedores de aplicativos: desenvolvedores de aplicativos primários (1p) e desenvolvedores de aplicativos terceirizados (3p).

Desenvolvedor de aplicativos Android 1p
Um desenvolvedor de aplicativos Android que tem acesso às APIs do sistema AOSP e escreve aplicativos privilegiados e de fabricantes de dispositivos.
Desenvolvedor de aplicativos Android 3p
Um desenvolvedor de aplicativos Android que usa exclusivamente o SDK público do Android para criar aplicativos Android.

Se você deseja desenvolver aplicativos 3p para Android, consulte developers.android.com . As informações contidas neste site são exclusivas para quem trabalha diretamente com a AOSP.

Ponte de depuração do Android (ADB)
Uma ferramenta de linha de comando ( adb ) que permite que sua estação de trabalho se comunique com um dispositivo virtual, emulado por software ou físico.
Dispositivo compatível com Android
Um dispositivo que pode executar qualquer aplicativo de terceiros escrito por desenvolvedores de terceiros usando o Android SDK e o NDK. Os dispositivos compatíveis com Android devem atender aos requisitos do Documento de Definição de Compatibilidade (CDD) e passar no Conjunto de Testes de Compatibilidade (CTS) . Os dispositivos compatíveis com Android são elegíveis para participar no ecossistema Android, que inclui o potencial licenciamento da Android Play Store, o potencial licenciamento do conjunto de aplicações e APIs do Google Mobile Services (GMS) e a utilização da marca comercial Android. Qualquer pessoa pode usar o código-fonte do Android, mas para ser considerado parte do ecossistema Android, um dispositivo deve ser compatível com Android. Para obter mais informações sobre compatibilidade e CTS, consulte a visão geral do Programa de Compatibilidade Android
Aprovador
Membros experientes da comunidade AOSP que fizeram contribuições técnicas e de design significativas para a plataforma. No processo de revisão de código, um aprovador decide se deve incluir uma alteração. Os líderes de projeto (que normalmente são empregados do Google) escolhem os aprovadores, às vezes promovendo verificadores para posições de aprovador quando demonstram experiência em uma parte específica do AOSP.
Documento de definição de compatibilidade (CDD)
Um documento que enumera os requisitos de software e hardware para um dispositivo compatível com Android.
Contribuinte

Uma pessoa que também faz contribuições para o código-fonte do AOSP. Os colaboradores podem ser funcionários do Google, funcionários de outras empresas e indivíduos sem afiliação empresarial. Cada contribuidor AOSP usa as mesmas ferramentas, segue o mesmo processo de revisão de código e está sujeito ao mesmo estilo de codificação. Você não precisa ser um contribuidor para usar o AOSP; você pode baixar o AOSP, modificá-lo de acordo com suas próprias necessidades e implantá-lo em um dispositivo sem contribuir com código para uso de terceiros.

Existem limites para o tipo de contribuições de código que o Google aceita. Por exemplo, você pode querer contribuir com uma API de aplicativo alternativa, como um ambiente completo baseado em C++. O Google recusaria essa contribuição porque o Android incentiva os aplicativos a serem executados no tempo de execução ART. Da mesma forma, o Google não aceita contribuições como bibliotecas GPL ou LGPL que sejam incompatíveis com os objetivos de licenciamento.

Se você estiver interessado em contribuir com o código-fonte, entre em contato com o Google antes de começar o trabalho.

Conjunto de testes de compatibilidade (CTS)

Um conjunto de testes gratuito de nível comercial, disponível para download como binário ou como fonte no AOSP. O CTS é um conjunto de testes unitários projetados para serem integrados ao seu fluxo de trabalho diário. A intenção do CTS é revelar incompatibilidades e garantir que o software permaneça compatível durante todo o processo de desenvolvimento.

Choco

Um dispositivo virtual configurável com tecnologia Android que pode ser executado remotamente, usando ofertas de nuvem de terceiros, como o Google Cloud Engine, e localmente em máquinas Linux x86.

Desenvolvedor

No contexto do AOSP, desenvolvedor é qualquer pessoa que trabalhe com o AOSP de alguma forma. O termo "desenvolvedor" é usado para se referir genericamente às diversas pessoas que podem ler esta documentação, como fabricantes de equipamentos originais (OEMs), fabricantes de aparelhos, operadoras e criadores de System-on-a-Chip (SoC).

Serviços móveis do Google (GMS)

Uma coleção de aplicativos e APIs do Google que podem ser pré-instalados em dispositivos.

Alvo

Uma permutação de um dispositivo, como um modelo ou formato específico. Por exemplo, aosp_cf_x86_64_phone-userdebug representa um telefone x86 de 65 MB com informações de depuração projetadas para execução no emulador choco.

Verificador

Um contribuidor valioso na comunidade Android que baixa e verifica alterações no AOSP. Depois de enviar uma quantidade significativa de código de alta qualidade ao AOSP, os líderes do projeto poderão convidá-lo para se tornar um verificador.

Filosofia de governança

Um grupo de empresas conhecido como Open Handset Alliance (OHA), liderado pelo Google, deu origem ao Android. Hoje, muitas empresas – tanto membros originais da OHA quanto outras – investiram pesadamente no Android. Essas empresas alocaram recursos de engenharia significativos para melhorar o Android e lançar dispositivos Android no mercado.

As empresas que investiram no Android o fizeram porque acreditam que é necessária uma plataforma aberta. O Android é intencional e explicitamente um esforço de código aberto (em oposição ao software livre); um grupo de organizações com necessidades compartilhadas reuniu recursos para colaborar em uma única implementação de um produto compartilhado. Em primeiro lugar, a filosofia Android é pragmática. O objetivo é um produto compartilhado que cada colaborador possa adaptar e personalizar.

É claro que a personalização descontrolada pode levar a implementações incompatíveis. Para evitar incompatibilidade, o Android Open Source Project (AOSP) mantém o programa Android Compatibility , que explica o que significa ser compatível com o Android e o que é exigido dos construtores de dispositivos para alcançar esse status. Qualquer pessoa pode usar o código-fonte do Android para qualquer finalidade, e o Google aceita todos os usos legítimos. No entanto, para participar do ecossistema compartilhado de aplicativos que os membros da OHA estão construindo em torno do Android, os fabricantes de dispositivos devem participar do programa de compatibilidade do Android.

AOSP é liderado pelo Google, que mantém e desenvolve o Android. Embora o Android consista em vários subprojetos, o AOSP é estritamente gerenciamento de projetos. O Google vê e gerencia o Android como um produto de software único e holístico, e não como uma distribuição, especificação ou coleção de peças substituíveis. A intenção do Google é que os fabricantes de dispositivos transfiram o Android para um dispositivo; eles não implementam uma especificação nem organizam uma distribuição.

Qual é o próximo?