Herunterladen der Quelle

Der Android-Quellbaum befindet sich in einem von Google gehosteten Git-Repository. Das Git-Repository enthält Metadaten für die Android-Quelle, einschließlich Änderungen an der Quelle und wann die Änderungen vorgenommen wurden. Auf dieser Seite wird beschrieben, wie Sie den Quellbaum für eine bestimmte Android-Codezeile herunterladen.

Um mit einer Fabrik für ein bestimmtes Gerät zu starten , anstatt die Quelle des Download finden Sie ein Gerät zu bauen Auswahl .

Initialisieren eines Repo-Clients

Nach dem Repo Launcher Installation , richten Sie Ihren Client die Android Quellcode - Repository zuzugreifen:

  1. Erstellen Sie ein leeres Verzeichnis für Ihre Arbeitsdateien. Geben Sie ihm einen beliebigen Namen:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  2. Konfigurieren Sie Git mit Ihrem echten Namen und Ihrer E-Mail-Adresse. Um den Gerrit Code-Review - Tool zu verwenden, müssen Sie eine E - Mail - Adresse , die mit einem verbunden sind registriert Google - Konto . Stellen Sie sicher, dass dies eine Live-Adresse ist, unter der Sie Nachrichten empfangen können. Der Name, den Sie hier angeben, wird in den Attributionen für Ihre Codeübermittlungen angezeigt.

    git config --global user.name Your Name
    git config --global user.email you@example.com
    
  3. Run repo init die neueste Version von Repo mit dem jüngsten Bug - Fixes zu erhalten. Sie müssen eine URL für das Manifest angeben, die angibt, wo die verschiedenen Repositorys, die in der Android-Quelle enthalten sind, in Ihrem Arbeitsverzeichnis abgelegt werden.

    repo init -u https://android.googlesource.com/platform/manifest
    

    So checken Sie den Master-Zweig aus:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    

    Um zu prüfen, einen Zweig andere als Master, geben Sie es mit -b . Eine Liste der Niederlassungen finden Quellcode - Tags und baut .

    Für Python 2

    Für Python 3

    Wenn Sie bekommen ein „ /usr/bin/env 'python' no such file or directory das /usr/bin/env 'python' no such file or directory “ Fehlermeldung, verwenden Sie eine der folgenden Lösungen:

    Wenn Ihr Ubuntu 20.04.2 LTS ist ein neu installiert (vs. Upgrade) Linux - Version:

    sudo ln -s /usr/bin/python3 /usr/bin/python

    Bei der Verwendung von Git - Version 2.19 oder höher, können Sie festlegen , --partial- clone bei der Durchführung von repo init - repo init . Dabei wird ausgenutzt Git Teilklon Fähigkeit nur zum Download Git - Objekte , wenn nötig, statt alles herunterzuladen. Da die Verwendung von partiellen Klonen bedeutet, dass viele Vorgänge mit dem Server kommunizieren müssen, verwenden Sie Folgendes, wenn Sie ein Entwickler sind und ein Netzwerk mit geringer Latenz verwenden:

    repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M
    

    Für Windows - Betriebssystem nur: Wenn Sie eine Fehlermeldung erhalten, dass symbolische Links nicht erstellt werden können, so dass repo init zum Scheitern verurteilt, verweist auf die GitHub symbolische Links Dokumentation diese zu erstellen, oder ihre Unterstützung zu ermöglichen. Für Nicht-Administratoren finden Sie die Berücksichtigung nicht-Administratoren symbolische Links erstellen Abschnitt.

Eine erfolgreiche Initialisierung endet mit einer Meldung, dass Repo in Ihrem Arbeitsverzeichnis initialisiert ist. Ihr Client - Verzeichnis enthält nun ein .repo Verzeichnis , in dem Dateien wie das Manifest gehalten werden.

Herunterladen des Android-Quellbaums

Um den Android-Quellbaum aus den Repositorys wie im Standardmanifest angegeben in Ihr Arbeitsverzeichnis herunterzuladen, führen Sie Folgendes aus:

repo sync

Um Geschwindigkeit Synchronisierungen, übergeben Sie die -c (Stromzweig) und -j threadcount Fahnen:

repo sync -c -j8

Die Android-Quelldateien werden in Ihrem Arbeitsverzeichnis unter ihren Projektnamen heruntergeladen.

Zur Unterdrückung Ausgang, vorbei an der -q (ruhig) Flagge. Siehe die Repo - Befehlsreferenz für alle Optionen.

Authentifizierung verwenden

Der Zugriff auf den Android-Quellcode ist standardmäßig anonym. Um die Server vor übermäßiger Nutzung zu schützen, ist jeder IP-Adresse ein Kontingent zugeordnet.

Bei der gemeinsamen Nutzung einer IP-Adresse mit anderen Benutzern (z kurzer Zeitraum).

In diesem Fall können Sie den authentifizierten Zugriff verwenden, der dann unabhängig von der IP-Adresse für jeden Benutzer ein separates Kontingent verwendet.

Zuerst ein Passwort erstellen den Passwort - Generator und den Anweisungen auf der Passwort - Generator Seite folgen.

Als nächstes authentifizierten Kraft Zugriff mithilfe des Manifest URI https://android.googlesource.com/a/platform/manifest . Beachten Sie, wie das /a/ Verzeichnispräfix Auslöser obligatorische Authentifizierung. Sie können einen vorhandenen Client mit dem folgenden Befehl so konvertieren, dass die obligatorische Authentifizierung verwendet wird:

repo init -u https://android.googlesource.com/a/platform/manifest

Beheben von Netzwerkproblemen

Beim Herunterladen von einem Proxy hinter einem Proxy (was in einigen Unternehmensumgebungen üblich ist), müssen Sie möglicherweise den Proxy für die Verwendung von Repo explizit angeben:

export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>

Seltener (während des Empfangs Objekte typischerweise) in der Mitte von Downloads stecken Linux - Clients Erfahrung Konnektivitätsprobleme, erhalten. Das Anpassen der Einstellungen des TCP/IP-Stacks und die Verwendung nicht paralleler Befehle können die Situation verbessern. Sie benötigen Root-Zugriff, um die TCP-Einstellung zu ändern:

sudo sysctl -w net.ipv4.tcp_window_scaling=0
repo sync -j1

Verwenden eines lokalen Spiegels

Wenn Sie mehrere Clients verwenden, insbesondere in Situationen, in denen die Bandbreite knapp ist, ist es besser, einen lokalen Spiegel des gesamten Serverinhalts zu erstellen und Clients von diesem Spiegel zu synchronisieren (für den kein Netzwerkzugriff erforderlich ist). Der Download für einen vollständigen Spiegel ist kleiner als der Download von zwei Clients und enthält mehr Informationen.

Diese Anweisungen gehen davon aus, dass der Spiegel in erstellt wird /usr/local/aosp/mirror . Erstellen und synchronisieren Sie zuerst den Spiegel selbst. Beachten Sie die --mirror Flagge, die Sie nur angeben , wenn Sie einen neuen Client zu erstellen:

mkdir -p /usr/local/aosp/mirror
cd /usr/local/aosp/mirror
repo init -u https://android.googlesource.com/mirror/manifest --mirror
repo sync

Wenn der Spiegel synchronisiert ist, können Sie daraus neue Clients erstellen. Beachten Sie, dass Sie einen absoluten Pfad angeben müssen:

mkdir -p /usr/local/aosp/master
cd /usr/local/aosp/master
repo init -u /usr/local/aosp/mirror/platform/manifest.git
repo sync

Um schließlich einen Client mit dem Server zu synchronisieren, synchronisieren Sie den Spiegel mit dem Server und dann den Client mit dem Spiegel:

cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master
repo sync

Es ist möglich, den Spiegel auf einem LAN-Server zu speichern und über NFS, SSH oder Git darauf zuzugreifen. Es ist auch möglich, es auf einem Wechsellaufwerk zu speichern und dieses Laufwerk an Benutzer oder Maschinen weiterzugeben.

Git-Tags überprüfen

Laden Sie den folgenden öffentlichen Schlüssel in Ihre GnuPG-Schlüsseldatenbank. Der Schlüssel wird verwendet, um kommentierte Tags zu signieren, die Releases darstellen.

gpg --import

Kopieren und Einfügen der Schlüssel unten, und gibt EOF (Ctrl-D) , um die Eingabe zu beenden und die Schlüssel verarbeiten.

-----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-----

Nach dem Importieren der Schlüssel können Sie jedes Tag überprüfen mit:

git tag -v TAG_NAME

Erhalten Sie proprietäre Binärdateien

AOSP kann nicht nur aus reinem Quellcode verwendet werden und erfordert die Ausführung zusätzlicher hardwarebezogener proprietärer Bibliotheken, z. B. für die Hardware-Grafikbeschleunigung. Siehe die folgenden Abschnitte für Download - Links und Geräte - Binärdateien für zusätzliche Ressourcen.

Laden Sie proprietäre Binärdateien herunter

Sie können offizielle Binärdateien für die unterstützten Geräte mit getaggten AOSP Release Filialen von Download Google-Treiber . Diese Binärdateien bieten Zugriff auf zusätzliche Hardwarefunktionen mit nicht offenem Quellcode. Um den AOSP master - Zweig zu bauen, verwenden Sie die Binaries Preview statt. Beim Bau des Master - Zweiges für ein Gerät, verwenden Sie die Binärdateien für die letzte nummerierten Veröffentlichung oder mit dem jüngsten Datum.

Extrahieren Sie proprietäre Binärdateien

Jeder Satz von Binärdateien wird als selbstextrahierendes Skript in einem komprimierten Archiv geliefert. Entpacken Sie jedes Archiv, führen Sie das mitgelieferte selbstextrahierende Skript aus dem Stammverzeichnis des Quellbaums aus und bestätigen Sie dann, dass Sie den Bedingungen der beigefügten Lizenzvereinbarung zustimmen. Die Programmdateien und ihre passenden Makefiles sind im eingebauten vendor/ Hierarchie des Quellbaums.

Aufräumen

Um sicherzustellen, dass die neu installierten Binärdateien nach dem Extrahieren ordnungsgemäß berücksichtigt werden, löschen Sie die vorhandene Ausgabe eines früheren Builds mit:

make clobber