Il codice sorgente di Android si trova in una raccolta di repository Git ospitati da Google. Il repository Git include l'intera cronologia del codice sorgente Android, incluse le modifiche all'origine e quando sono state apportate. Questa pagina descrive come scaricare il codice sorgente.
Inizializzare il client Repo
Configura il client per l'accesso al repository di codice sorgente Android:
Crea una directory di lavoro e vai a questa:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
Inizializza la directory di lavoro per il controllo del codice sorgente:
repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest
L'opzione
-b
viene utilizzata per identificare il ramo che stai inizializzando. Se non viene fornito il parametro -b,repo init
è impostato per impostazione predefinita sul ramo principale. Per un elenco di branch e nomi di tag, consulta Tag e build del codice sorgente.L'opzione
-u
è obbligatoria e viene utilizzata per specificare un file manifest, ovvero un file XML che specifica dove sono posizionati i vari progetti Git nella sorgente Android all'interno della directory di lavoro. In questo esempio, il nome del file manifest non è specificato, in modo che il comando utilizzi il file manifest predefinito (default.xml
).L'output dovrebbe contenere il messaggio:
repo has been initialized in path_to_working_directory
Per informazioni sul formato file manifest, consulta Formato manifest repository.
Per un elenco di tutti i comandi repository, consulta Riferimento per i comandi repository.
Scaricare il codice sorgente di Android
Esegui il seguente comando per scaricare la struttura del codice sorgente di Android nella directory di lavoro:
$ repo sync -c -j8
L'argomento -c
indica al repository di recuperare il ramo manifest attuale da
il server. Il comando -j8
suddivide la sincronizzazione tra i thread per velocizzare
completamento.
Questa operazione dovrebbe richiedere poco più di un'ora.
Se riscontri problemi durante il download, consulta Risolvere i problemi di sincronizzazione.
Scaricare i binari proprietari
AOSP può essere eseguito direttamente sugli emulatori Cuttlefish, mentre AOSP non può essere utilizzato su hardware senza ulteriori librerie proprietarie specifiche del dispositivo. Ecco come ottenere i binari del dispositivo:
- Se scarichi il ramo
main
e lo esegui per un dispositivo Nexus o Pixel, scarica i binari più recenti dal sito di anteprima dei binari. - Se stai scaricando e creando la filiale
main
e creando per il tuo tuo dispositivo, devi fornire codici binari specifici per il dispositivo. - Se scarichi e crei un ramo taggato non principale e lo sviluppi per un dispositivo Nexus o Pixel, scarica il file binario specifico per il dispositivo da Binaries for Nexus and Pixel devices.
Estrare i binari proprietari
Ogni insieme di file binari viene fornito come script autoestraente in un'archiviazione compressa. Per estrarre e posizionare questi file binari nella posizione corretta del tuo struttura di origine:
- Estrai l'archivio.
- Esegui lo script shell autoestraente incluso dalla radice della struttura ad albero del codice sorgente AOSP.
- Accetta i termini del contratto di licenza allegato. I file binari e i relativi makefile corrispondenti vengono installati nella gerarchia
vendor/
dell'albero di origine.
(Facoltativo) Verifica la legittimità del codice
Se sei preoccupato della legittimità del codice sorgente, ad esempio se non provenienti da Google, puoi verificare i tag Git per il ramo. Per verificare i tag Git:
Copia e incolla il seguente blocco di chiavi in un file di testo, ad esempio
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-----
Esegui il comando seguente per inserire una chiave pubblica nel database delle chiavi GnuPG. La chiave viene utilizzata per firmare i tag annotati che rappresentano le release.
$ gpg --import keyfile.asc
Dopo aver importato le chiavi, puoi verificare qualsiasi tag eseguendo questo comando:
$ git tag -v TAG_NAME