Trabalhar com código Android requer o uso do Git (um sistema de controle de versão de código aberto) e do Repo (uma ferramenta de gestão de repositório criada pelo Google e executada sobre o Git). Consulte Fluxo de trabalho de controle de origem para ver um resumo das ações regulares, como o upload de mudanças para análise.
Git
O Git foi projetado para lidar com grandes projetos distribuídos em vários repositórios. O Android usa o Git para operações locais, como branches, confirmações, diferenças e edições locais. Um dos desafios da configuração do projeto Android foi descobrir como oferecer o melhor apoio à comunidade externa, desde a comunidade de amadores até grandes OEMs que fabricam dispositivos de consumo para o mercado de massa. Queríamos componentes interessantes que tivessem uma vida própria fora do Android e que fossem substituíveis. Primeiro, escolhemos um sistema de controle de revisão distribuído e, em seguida, nós o limitamos ao Git.
Para ver mais detalhes sobre o Git, consulte a documentação dele (link em inglês).
Repo
O Repo unifica os repositórios do Git quando necessário, faz uploads para o sistema de controle de revisão Gerrit (links em inglês) e automatiza partes do fluxo de trabalho de desenvolvimento do Android.
O Repo vem em duas partes: a primeira é o Repo Launcher, que
é transferido por download e instalado em
git-repo-downloads. Ele é um script
Python que sabe inicializar um checkout e
pode fazer o download da segunda parte, a ferramenta Repo completa, incluída em um checkout de
código-fonte do Android. Por padrão, essa ferramenta fica em $SRCDIR/.repo/repo/...
e
recebe comandos encaminhados do Repo Launcher instalado.
O objetivo não é que o Repo substitua o Git, mas que facilite o trabalho com ele
no contexto do Android. Ele usa arquivos de manifesto (link em inglês) para agregar projetos do Git no superprojeto do Android. O comando repo
é um script Python executável que pode ser colocado em qualquer lugar do seu caminho. Ao trabalhar com os arquivos de origem do
Android, o Repo é usado para operações em toda a rede, por exemplo, com um único
diretório de trabalho do Repo.
Na maioria das situações, é possível usar o Git em vez do Repo ou combinar os comandos Repo e Git para formar comandos complexos. No entanto, usar o Repo para operações básicas em toda a rede facilita muito seu trabalho. Para ver mais detalhes sobre o Repo, consulte a Referência de comandos Repo, o README do Repo, os Hooks de pré-upload (testes) que podem ser ativados no Repo e os documentos gerais no AOSP (links em inglês).
Outras ferramentas
O Gerrit (link em inglês) é um sistema de análise de código baseado na Web para projetos que usam o Git. O Gerrit incentiva o uso mais centralizado do Git, permitindo que todos os usuários autorizados enviem mudanças, que são automaticamente mescladas se forem aprovadas na análise do código. Além disso, o Gerrit facilita a análise, exibindo as mudanças lado a lado no navegador e permitindo comentários in-line.
O Android Code Search (link em inglês) permite pesquisar no AOSP sem precisar fazer o download de nada. Você pode usar o Code Search para ver o código-fonte do AOSP, alternar entre ramificações de código aberto e navegar por referências cruzadas. Para saber mais, consulte o site do Google Developers para ver a documentação do Code Search (link em inglês).
O Android Studio é o ambiente de desenvolvimento integrado (IDE, na sigla em inglês) oficial para o desenvolvimento de apps Android.
Como instalar o Repo
O Repo é uma ferramenta que facilita o trabalho com o Git no contexto do Android. Consulte a Visão geral do Repo acima para ver a finalidade e os links para documentos relacionados.
O Repo vem em duas partes: uma é um script de tela de início que você instala e que se comunica com a segunda parte, a ferramenta Repo completa incluída em um checkout de código-fonte. Para instalar o Repo:
-
Verifique se você tem um diretório
bin/
no seu diretório inicial e se ele está incluído no seu caminho:mkdir ~/bin
PATH=~/bin:$PATH
-
Faça o download do Repo Launcher e verifique se ele é executável:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
-
Se quiser, verifique se a tela de início corresponde às nossas assinaturas:
gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ~/bin/repo
Repositório mais antigo para sistemas Python 2 legados
Se você está usando um sistema mais antigo sem o Python 3.6 ou versões posteriores, tente fazer o download de uma versão anterior do Repo Launcher que ainda seja compatível com o Python 2.7. Isso não funcionará indefinidamente, mas pode ajudar até que você faça upgrade do sistema.
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
chmod a+x ~/bin/repo