Codeänderungen einreichen

Auf dieser Seite wird der vollständige Prozess zur Übermittlung einer Codeänderung an die Android- Open-Source-Projekt (AOSP), einschließlich der Beantragung einer Überprüfung und Nachverfolgung Ihre Änderungen.

AOSP stützt sich auf ein Gerrit, ein webbasiertes Codeüberprüfungssystem für Projekte, bei denen Git

Lizenzvereinbarungen für Mitwirkende unterzeichnen

Bevor Sie Codeänderungen für AOSP beitragen, müssen Sie Folgendes lesen: Contributor-Lizenzvereinbarungen und -Header und unterzeichnen Sie eine der folgenden Vereinbarungen:

Zweig starten

Führen Sie für jede Codeänderung, die Sie vornehmen möchten, die folgenden Schritte aus:

  1. Starten Sie einen neuen Zweig im relevanten Git-Repository. Ein Zweig ist keine Kopie. der Originaldateien; Es ist ein Zeiger auf ein bestimmtes Commit, Erstellen lokaler Zweige und der Wechsel zwischen ihnen eine einfache Operation. Von mithilfe von Zweigen können Sie Änderungen voneinander identifizieren. Führen Sie diesen Befehl aus, einen Zweig starten:

    repo start BRANCH_NAME
    

    Sie können mehrere unabhängige Zweige gleichzeitig starten. zu erstellen. Der Zweig BRANCH_NAME ist lokal für Ihre und weder auf Gerrit noch in der endgültigen Quellstruktur enthalten. Zweige sind auch projektspezifisch. im Zuge der gleichen Änderung auch Dateien in verschiedenen Projekten erstellt haben, benötigen Sie in jedem Projekt, in dem Sie Dateien ändern.

  2. (Optional) Prüfen Sie, ob der Zweig erstellt wurde:

    repo status .
    

    Der neu erstellte Zweig sollte angezeigt werden. Beispiel:

    project frameworks/native/                      branch mynewbranch
    

Änderungen vornehmen und testen

Führen Sie die folgenden Schritte aus, um Ihre Änderung vorzunehmen und zu testen:

  1. Führen Sie eine Synchronisierung von gesamte Codebasis:

    repo sync
    

    Sollten während der Synchronisierung Konflikte auftreten, lesen Sie die Schritte 2 bis 4 der Synchronisierungskonflikte lösen

  2. Suchen Sie den Code, den Sie ändern möchten. Um Code zu finden, verwenden Sie Android Code Search Mit Android Code Search verwenden, um den AOSP-Quellcode so anzuzeigen, wie er bei der Verwendung . Weitere Informationen finden Sie unter Erste Schritte mit der Codesuche Um den gesamten Code im main-Zweig in der Android-Codesuche anzuzeigen, Navigieren zu https://cs.android.com/android/platform/superproject/main

  3. Ändern oder fügen Sie Quelldateien hinzu. Gehen Sie für alle vorgenommenen Änderungen wie folgt vor:

  4. Android erstellen

  5. Build testen

Änderung bereitstellen und per Commit bestätigen

Ein Commit ist die Grundeinheit der Versionsverwaltung in Git und besteht aus einem Snapshot der Verzeichnisstruktur und des Dateiinhalts für das gesamte Projekt Führen Sie die folgenden Schritte aus, um die Änderung zu übernehmen:

  1. Standardmäßig registriert Git die von Ihnen vorgenommenen Änderungen jedoch nicht. Bis Sie Git anweisen, Ihre Änderungen nachzuverfolgen, müssen Sie diese Änderungen für die Aufnahme in ein Commit. Führen Sie den folgenden Befehl aus, um die Änderung bereitzustellen:

    git add -A
    

    Dieser Befehl verfolgt Änderungen, die Sie an Dateien vorgenommen haben.

  2. Führen Sie für die Dateien im Staging-Bereich einen Commit durch oder speichern Sie sie auf Ihrem lokalen Computer Datenbank:

    git commit -s
    

    Standardmäßig wird ein Texteditor geöffnet und Sie werden aufgefordert, ein Commit-Nachricht übergeben.

  3. Geben Sie eine Commit-Nachricht im folgenden Format an:

    • Zeile 1: Überschrift. Geben Sie eine einzeilige Zusammenfassung der Änderung ein (50 Zeichen). Maximum). Verwenden Sie Präfixe, um das Gebiet zu beschreiben, das Sie geändert haben. durch eine Beschreibung der Änderung, die Sie in diesem Commit vorgenommen haben, wie z. B. Beispiel für eine Änderung der Benutzeroberfläche:

      ui: Removes deprecated widget
      
    • Zeile 2: Leerzeile. Folgen Sie dem Anzeigentitel mit einer Leerzeile.

    • Zeile 3: Text. Geben Sie eine lange Beschreibung ein, die mit 72 Zeichen vollständig umgebrochen wird. maximal. Beschreiben Sie, welches Problem durch die Änderung behoben wird und wie. Obwohl der Körper optional ist, ist dies für andere hilfreich, die auf die Änderung noch einmal zurückgreifen müssen. Geben Sie eine kurze Notiz aller Annahmen oder Hintergrundinformationen an. Dies kann wichtig sein, wenn ein anderer Beitragender an dieser Funktion arbeitet.

    Einen Blog über gute Commit-Beschreibungen (mit Beispielen) finden Sie unter So schreiben Sie eine Git-Commit-Nachricht

  4. Speichern Sie das Commit.

Eine eindeutige Änderungs-ID sowie Ihr Name und Ihre E-Mail-Adresse, die werden im repo init automatisch zur Commit-Nachricht hinzugefügt.

Änderung zur Überprüfung hochladen

Nachdem Sie Ihre Änderung in Ihrem persönlichen Git-Verlauf gespeichert haben, laden Sie sie in Gerrit hoch:

  1. Führen Sie den folgenden Befehl aus, um alle Commits in alle Projekten:

    repo upload
    

    Alle Änderungen in allen Projekten werden in den Upload einbezogen.

    Sie werden aufgefordert, Hook-Skripts auszuführen.

  2. Drücken Sie A und dann die Eingabetaste.

    Sie werden aufgefordert, den Upload zu genehmigen:

    Upload project frameworks/native/ to remote branch main:
    branch BRANCH_NAME ( 1 commit, Wed Aug 7 09:32:33 2019 -0700):
           ff46b36d android codelab change
    to https://android-review.googlesource.com/ (y/N)?
    
  3. Drücken Sie Y und dann die Eingabetaste, um den Upload zu genehmigen.

Sie sollten eine Nachricht wie diese erhalten: remote: SUCCESS.

Überprüfung beantragen

Nach einem erfolgreichen Upload erhalten Sie von Repo einen Link zu Ihren Änderungen in Gerrit. Klicken Sie auf den Link, um Ihre Änderungen auf dem Prüfserver anzuzeigen, Kommentare hinzuzufügen oder bestimmte Prüfer für Ihre Änderung bitten. Alle Änderungen am Code müssen von den entsprechenden Code-Inhabern überprüft. So beantragen Sie eine Überprüfung:

  1. Klicke in Gerrit auf EIGENTUMSRECHTE VORSCHLAGEN:

    Link „Inhaber vorschlagen“ in Gerrit

    Abbildung 1: Link „Inhaber vorschlagen“ in Gerrit.

    Das Dialogfeld für Prüfer wird angezeigt. Dieses Dialogfeld enthält eine Liste der Codeinhaber, die kann Ihre Änderung überprüfen.

  2. Klicken Sie auf einen Codeinhaber, um ihn Ihrer Rezension hinzuzufügen.

    Die Schaltfläche SEND (Senden) ist aktiviert.

  3. (Optional) Geben Sie die E-Mail-Adressen der Personen ein, für die Sie Ihre ändern können.

  4. Optional: Klicken Sie neben „Automatisch senden“ auf +1, um die Änderung automatisch zu senden. nachdem Sie die Genehmigungen erhalten haben. Wenn Sie nicht auf diese Schaltfläche klicken, muss Ihre Änderung für Sie einreichen.

  5. Klicke auf SENDEN, um die Änderung zur Überprüfung zu senden.

Code-Eigentümer überprüfen Ihre Codeänderungen und geben Ihnen entweder Feedback, zu klären oder die Änderungen zu genehmigen.

Bestimmen des Änderungsstatus

Um den Status der Dateien in Ihrer Änderung zu ermitteln, suchen Sie nach dem folgenden Symbolen neben den Dateien in der Änderung:

  • (Häkchen) icon): vom Codeinhaber genehmigt
  • (Kreuzsymbol): Nicht vom Codeinhaber genehmigt
  • (Uhr) Symbol): Genehmigung durch Codeeigentümer steht aus

Die folgende Abbildung zeigt diese Statussymbole, die auf Dateien in einer Änderung angewendet werden:

Beispiel für Dateien mit Symbolen, die die Genehmigung des Codeinhabers anzeigen

Abbildung 2: Beispiel für Dateien mit Symbolen, die die Genehmigung des Codeinhabers anzeigen

Feedback klären und Ersatzänderung hochladen

Wenn ein Prüfer eine Änderung an Ihrem Update anfordert, können Sie Ihr Commit in Git ändern, was zu einem neuen Patchset ändern können.

So klären Sie das Feedback und ändern Ihre Änderung:

  1. Führen Sie die Schritte 2 bis 4 unter Änderung vornehmen und testen aus.

  2. Führen Sie die folgenden Befehle aus, um Ihre Änderung zu ändern:

    git add -A
    git commit --amend
    
  3. Laden Sie die Änderung hoch.

Wenn du die geänderte Änderung hochlädst, wird das Original auf Gerrit ersetzt und in Ihrem lokalen Git-Verlauf.

Synchronisierungskonflikte lösen

Wenn andere Änderungen an die Quellstruktur gesendet werden, die in Konflikt mit erhalten Sie eine Nachricht, dass es Konflikte gibt. So lösen Sie die Konflikte:

  1. Achten Sie darauf, mit dem aktuellen Code zu arbeiten:

    repo sync .
    

    Mit dem Befehl repo sync werden die Aktualisierungen vom Quellserver abgerufen und dann versucht, HEAD automatisch auf der neuen Fernbedienung HEAD zu erstellen.

  2. Wenn die automatische Rebase nicht erfolgreich ist, führen Sie eine manuelle Rebase durch:

    repo rebase .
    
  3. Zusammenführungskonflikte lösen Wenn Sie keine bevorzugte Methode haben, zusammengeführt werden, können Sie verwenden Sie git mergetool um Konflikte zwischen Dateien manuell zu beheben.

  4. Wenn Sie die in Konflikt stehenden Dateien erfolgreich korrigiert haben, führen Sie diesen Befehl aus, Wenden Sie die neuen Commits an:

    git rebase --continue
    

Änderung senden

Nachdem eine Einreichung den Überprüfungs- und Bestätigungsprozess durchlaufen hat, muss ein Google-Prüfer den Code für Sie einreichen. Sonstiges Nutzer können repo sync ausführen, um das Update in ihren jeweiligen lokalen Kundschaft.

Nachdem Ihre Einreichung zusammengeführt wurde, können Sie die Kontinuierliche Integration unter Android Dashboard zur Überwachung der Integration Ihrer Einreichungen in die Baumstruktur.