A origem do Android fica em uma coleção de repositórios Git hospedados pelo Google. O repositório Git inclui todo o histórico do Android, incluindo mudanças na origem e quando elas foram feitas. Esta página descreve como fazer o download da origem.
Inicializar o cliente do Repo
Configure seu cliente para acessar o repositório de origem do Android:
Crie e navegue para um diretório de trabalho:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
Inicializar seu diretório de trabalho para controle de origem:
repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest
A opção
-b
é usada para identificar a ramificação que você está inicializando. Se -b não for fornecida,repo init
será padronizada para a ramificação principal. Para uma lista de ramificações e nomes de tags, consulte Tags e builds do código-fonte.A opção
-u
é necessária e é usada para especificar um arquivo de manifesto. Esse é um arquivo XML que especifica onde os vários projetos Git na origem do Android são posicionados no seu diretório de trabalho. Neste exemplo, o nome do arquivo de manifesto não é especificado, então o comando usa o arquivo de manifesto padrão (default.xml
).A saída precisa conter a mensagem:
repo has been initialized in path_to_working_directory
Para informações sobre o formato do arquivo de manifesto, consulte formato do manifesto do Repo.
Para uma lista de todos os comandos do repo, consulte a referência de comandos do Repo.
Download da origem do Android
Execute o comando abaixo para fazer o download da árvore da origem do Android para seu diretório de trabalho:
$ repo sync -c -j8
O argumento -c
instrui o Repo a buscar a ramificação atual do manifesto do
servidor. O comando -j8
divide a sincronização entre as linhas de execução para que ela seja concluída mais
rapidamente.
Essa operação dura pouco mais de uma hora.
Se tiver problemas durante o download, consulte Solucionar e corrigir problemas de sincronização.
Baixar binários reservados
O AOSP pode ser executado diretamente em emuladores Cuttlefish, mas não pode ser usado em hardware sem outras bibliotecas reservadas específicas do dispositivo. Você pode extrair os binários do dispositivos desta forma:
- Se você estiver fazendo o download da ramificação
main
e criando para um dispositivo Nexus ou Pixel, faça o download dos binários mais recentes do site de pré-lançamento de binários. - Se você estiver fazendo o download e criando a ramificação
main
para seu próprio dispositivo, é preciso fornecer os binários específicos do seu dispositivo. - Se você estiver fazendo o download e criando uma ramificação com tags, que não seja a principal e que seja para um dispositivo Nexus ou Pixel, faça o download do binário específico do dispositivo de Binários para dispositivos Nexus e Pixel.
Extrair binários reservados
Cada conjunto de binários é fornecido como um script de autoextração em um arquivo compactado. Para extrair e posicionar esses binários no local correto da sua árvore de origem:
- Extraia o arquivo.
- Execute o script de shell de autoextração que está na raiz da sua árvore de origem do AOSP.
- Concorde com os termos do contrato de licença anexo. Os binários e os makefiles
correspondentes serão instalados na hierarquia
vendor/
da árvore de origem.
(Opcional) Verificar a legitimidade do código
Se houver preocupação quanto à legitimidade do código-fonte (por exemplo, se veio do Google ou não), você pode verificar as tags do Git da ramificação. Para verificar as tags do Git:
Copie e cole o bloco de chave a seguir em um arquivo de texto, como
keyfile.asc
.-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2.2 (GNU/Linux) mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7 8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5 jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4 MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9 b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+ OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM= =Wi5D -----END PGP PUBLIC KEY BLOCK-----
Execute o comando abaixo para inserir uma chave pública em um banco de dados de chave GnuPG. A chave é usada para assinar tags anotadas que representam versões.
$ gpg --import keyfile.asc
Depois de importar as chaves, você pode verificar qualquer tag executando este comando:
$ git tag -v TAG_NAME