O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Gerenciamento de software Android

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) mantém uma pilha de software completa para ser portada por OEMs e outros implementadores de dispositivos e executada em seu próprio hardware. Para manter a qualidade do Android, o Google contribuiu em tempo integral com engenheiros, gerentes de produto, designers de interface do usuário, testadores de garantia de qualidade e todas as outras funções necessárias para levar dispositivos modernos ao mercado.

Assim, mantemos várias linhas de código para separar claramente a versão estável atual do Android do trabalho experimental instável. Colocamos a administração e a manutenção de código aberto das linhas de código do Android no ciclo maior de desenvolvimento do produto.

Gerenciamento de código AOSP

O gráfico abaixo descreve os conceitos por trás do gerenciamento e das versões do código AOSP.

diagrama de linha de código
Figura 1. Código e versões do AOSP
  1. A qualquer momento, há uma versão mais recente da plataforma Android. Isso normalmente assume a forma de um galho na árvore.
  2. Os criadores de dispositivos e colaboradores trabalham com a versão mais recente, corrigindo bugs, lançando novos dispositivos, experimentando novos recursos e assim por diante.
  3. Em paralelo, o Google trabalha internamente na próxima versão da plataforma e framework Android de acordo com as necessidades e objetivos do produto. Desenvolvemos a próxima versão do Android trabalhando com um parceiro de dispositivo em um dispositivo principal cujas especificações são escolhidas para levar o Android na direção que acreditamos que deve seguir.
  4. Quando a n+1ª versão estiver pronta, ela será publicada na árvore de código-fonte pública e se tornará a nova versão mais recente.

Termos e advertências

  • Uma versão corresponde a uma versão formal da plataforma Android, como 1.5 ou 8.1. Uma versão da plataforma corresponde à versão no campo SdkVersion dos arquivos AndroidManifest.xml e definida em frameworks/base/api na árvore de origem.
  • Um projeto upstream é um projeto de código aberto do qual a pilha do Android extrai o código. Além de projetos como o kernel Linux e o WebKit, continuamos a migrar alguns projetos Android semi-autônomos, como ART, as ferramentas Android SDK e Bionic para trabalhar como projetos upstream. Geralmente, esses projetos são desenvolvidos inteiramente na árvore pública. Para alguns projetos upstream, os desenvolvedores contribuem diretamente para o projeto upstream. Para obter detalhes, consulte Projetos upstream . Em ambos os casos, os instantâneos são inseridos periodicamente nas versões.
  • Em todos os momentos, uma linha de código de lançamento (que pode consistir em mais de uma ramificação no git) é considerada o único código-fonte canônico para uma determinada versão da plataforma Android. OEMs e outros dispositivos de construção de grupos devem extrair apenas de uma ramificação de lançamento.
  • Linhas de código experimentais são estabelecidas para capturar mudanças da comunidade para que possam ser iteradas com vistas à estabilidade.
  • As alterações que se mostram estáveis ​​são eventualmente inseridas em uma ramificação de lançamento. Isso se aplica apenas a correções de bugs, melhorias de aplicativos e outras alterações que não afetam as APIs da plataforma.
  • As alterações são inseridas nas ramificações de lançamento de projetos upstream (incluindo os projetos upstream do Android) conforme necessário.
  • A versão n+1 (a próxima versão principal do framework e das APIs da plataforma) é desenvolvida internamente pelo Google. Para obter detalhes, consulte Linhas de código privadas .
  • As alterações são extraídas das ramificações upstream, de lançamento e experimentais para a ramificação privada do Google, conforme necessário.
  • Quando as APIs da plataforma para a próxima versão são estabilizadas e totalmente testadas, o Google corta um lançamento da próxima versão da plataforma (especificamente, uma nova SdkVersion ). Isso corresponde à linha de código interna que está se tornando uma ramificação de lançamento público e à nova linha de código da plataforma atual.
  • Quando uma nova versão da plataforma é cortada, uma linha de código experimental correspondente é criada ao mesmo tempo.

Linhas de código privadas

A estratégia de gerenciamento de fonte acima inclui uma linha de código que o Google mantém privada para focar a atenção na versão pública atual do Android.

Os OEMs e outros fabricantes de dispositivos naturalmente desejam enviar dispositivos com a versão mais recente do Android. Da mesma forma, os desenvolvedores de aplicativos não querem lidar com mais versões de plataforma do que o necessário. Enquanto isso, o Google mantém a responsabilidade pela direção estratégica do Android como plataforma e produto. Nossa abordagem se concentra em um pequeno número de dispositivos emblemáticos para impulsionar os recursos e, ao mesmo tempo, garantir a proteção da propriedade intelectual relacionada ao Android.

Como resultado, o Google frequentemente possui informações confidenciais de terceiros e deve se abster de revelar recursos confidenciais até obter as proteções apropriadas. Além disso, há riscos reais para a plataforma se existirem muitas versões de plataforma ao mesmo tempo. Por esses motivos, estruturamos o projeto de código aberto (incluindo contribuições de terceiros) para focar na versão estável do Android atualmente pública. O desenvolvimento profundo na próxima versão da plataforma ocorre em privado até que esteja pronto para se tornar um lançamento oficial.

Reconhecemos que muitos colaboradores discordam dessa abordagem e respeitamos seus pontos de vista. No entanto, essa é a abordagem que achamos melhor e a que escolhemos implementar para o Android.