Download da origem do Android

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:

  1. Crie e navegue para um diretório de trabalho:

    $ mkdir WORKING_DIRECTORY
    $ cd WORKING_DIRECTORY
    
  2. Inicializar seu diretório de trabalho para controle de origem:

    $ repo init -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, 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 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:

  1. Extraia o arquivo.
  2. Execute o script de shell de autoextração da raiz da sua árvore de origem do AOSP.
  3. 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) Legitimidade do código de verificação

Se houver preocupação quanto à legitimidade do código-fonte, isto é, se veio do Google ou não, você pode conferir as tags do git da ramificação. Para conferir as tags do Git:

  1. Copie e cole o bloco de chave 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-----
    
  2. 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
    
  3. Depois de importar as chaves, você pode conferir qualquer tag executando este comando:

    $ git tag -v TAG_NAME