Google verpflichtet sich Rassen Eigenkapital für Black Gemeinden voranzutreiben. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Android Developer Codelab

Sie können das am häufigsten installierte Betriebssystem in der Geschichte der Erde helfen, zu entwickeln. Ja, sind Sie hier auf die Reise zu begeben, der ein Android-Plattform Ingenieur zu werden.

Obwohl der Weg herausfordernd ist, wir das Android-Team bemüht, Ihre Reise zu vereinfachen jede Veröffentlichung. Und wir machen Verbesserungen jeden Tag über die direkte Arbeit im Android Open Source Project (AOSP).

Lehnen Sie sich zurück, Feuer ein Terminal, und wir machen Geschichte.

Tore

Die Aufgabe dieses Codelab ist zweifach:

  1. Diese Codelab geben Ihnen einen kleinen Vorgeschmack von dem, was der Entwickler-Workflow ist wie für Android-Ingenieure auf der Plattform (Betriebssystem) arbeiten.
  2. Dieses Code - Lab ist eine Zwangsfunktion für Sie bereitstellen Feedback rund um Android-Tools, Dokumentation und der Entwickler - Workflow , wenn von vorne anfangen.

Voraussetzungen

Dies ist die komplette Liste der Anforderungen für dieses Code - Lab, von denen abgeleitet für die allgemeine Plattform ( AOSP ) Entwicklung.

Um diesen Codelab zu nehmen, müssen Sie einrichten:

Umgebung

Typischerweise Benutzer erstellen und direkt auf den Arbeitsplatz entwickeln auf. Weil Sie in verschiedenen Terminals arbeiten kann, und viele der verwendeten Befehle sind endgerätespezifische, müssen Sie sie in jeder Terminalsitzung erneut ausführen. Im Einzelnen sind dies die source build/envsetup.sh und lunch Befehle.

Richten Sie Workstation

  1. Installieren Sie die notwendigen Pakete auf der Workstation.
  2. Während noch in einem Terminal installieren Repo und Anmeldeinformationen gewinnen alle Git - Repositories.

Initialisieren und synchronisieren Sie den Code ein

  1. Navigieren Sie in Ihrem Home-Verzeichnis:

     cd ~
     
  2. Erstellen Sie ein lokales Arbeitsverzeichnis in ihn:

     mkdir aosp
     
  3. Navigieren Sie in das Verzeichnis:

     cd aosp
     
  4. Initialisieren der AOSP Repository Quellcode Master Zweig (der Standard):

     repo init -u https://android.googlesource.com/platform/manifest
     
  5. Geben Sie oder nehmen Ihre Git-Anmeldeinformationen (Name, E-Mail-Adresse).

  6. Synchronisieren Sie den Quelltext:

     repo sync -j16
     

Anfängliche Synchronisierungen kann eine Stunde oder länger dauern. Sehen Sie sich die Download Anweisungen für bezogene Details , während Sie warten.

Jede Repo - Kasse wird dargestellt durch eine Manifestdatei . Sie können zu einem Zeitpunkt mehr als ein Repo-Kasse haben, so lange sie in verschiedenen Verzeichnissen existiert. Aber beachten Sie jede Kasse und Build beläuft sich auf rund 300 GB und wächst, so beschränken Sie sich auf zwei oder Ihr System mit einem sekundären Laufwerk erweitern.

Tipp: Um Speicherplatz freizugeben, löschen Sie einen Zweig Verzeichnis und starten Sie neu aus Verzeichnis-Erstellung:

 rm -rf aosp2
 

Bauen Sie den Code

Bauen Android, müssen Sie einen auswählen Zielgerätetyp mit dem Aufbau lunch Befehl. Ziele sind Vorrichtung Permutationen, wie beispielsweise ein bestimmtes Modell oder Formfaktor.

Das Gerät Ziel auch weiter unten, aosp_cf_x86_phone-userdebug , ermöglicht es Ihnen , die bauen Tintenfische zum Testen ohne ein physisches Gerät virtuellen Android - Gerät.

Um stattdessen zu bauen und ein physisches Gerät aktualisieren, wählen Sie ein anderes Ziel und folgen Sie den Anweisungen für blinkende Geräte .

  1. Richten Sie Ihre Umgebung für den Aufbau von Android-Geräten, indem Sie den folgenden Befehl von der Wurzel des Quellcodes Kasse ausgeführt wird:

     source build/envsetup.sh
     
  2. Übergeben Sie das Build-Ziel zum Mittagessen Befehl, etwa so:

     lunch aosp_cf_x86_phone-userdebug
     
  3. Bauen Sie den Code von überall in Ihrer Kasse mit:

     m
     

Erwarten Sie das erste Build-Stunden in Anspruch zu nehmen. Im Anschluss baut deutlich weniger Zeit in Anspruch nehmen.

Erstellen Acloud Instanz

Acloud ist ein Kommandozeilen - Tool in AOSP die Benutzer bei der Schaffung von virtuellen Android - Geräten unterstützt, in diesem Fall Tintenfische.

Wenn Sie in der gleichen Terminalsitzung verwendet werden , um den Code zu bauen , gehen. Andernfalls wieder laufen die envsetup.sh dort zum ersten Mal verwendet Skript und gleiche Mittagessen Befehl. Dann:

  1. Erstellen Sie eine Acloud lokale Instanz mit:

     acloud create --local-image --local-instance
     
  2. Akzeptieren Updates zu erforderlichen Pakete.

  3. Wenn Sie dazu aufgefordert, starten Sie Ihren Arbeitsplatz für alle zu übernehmen ändert.

  4. Wählen Sie die Tintenfische Gerät.

Sie sollten mit einer VNC-Sitzung enthält ein Android-Gerät empfangen werden!

Sie können mit dem virtuellen Gerät auf der Workstation mit der Maus und Tastatur interagieren. Sie können auch die Aktivität innerhalb der Protokolle folgen , während Sie Ihr Gerät mit dem Android Debug Bridge (adb) verwenden logcat Befehl ein :

 adb logcat
 

Nehmen Sie eine Änderung

Aktualisieren Sie den Quellcode nach diesem Beispiel Änderungsliste .

  1. Von der Wurzel Ihrer Kasse ( aosp/ Verzeichnis), wechseln Sie zum frameworks/native Git - Projekt:

     cd frameworks/native
     
  2. Starten Sie ein temporäres Projekt mit:

     repo start <some-name> .
     
  3. Bearbeiten SurfaceFlinger.cpp das Updates von der Änderungsliste an folgenden Stelle umfassen:

     aosp/frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp
     
  4. Bauen Sie den Code:

     m
     
  5. Aktualisieren Sie die Build auf dem Gerät:

     adb root
    adb remount
    adb sync
    adb reboot
    acloud reconnect
     

Sie sollten eine Farbänderung auf dem Gerät sehen.

Testen Sie Ihren Code

Während dieses Teils des Code-Lab werden wir durch ein Beispiel Test ausführen, die im Quellbaum und ist bereits versagt. Um den Test vor Ort werden wir laufen verwenden Atest den Code zu testen.

So verwenden Sie den Test:

  1. Lauf:

     atest DevCodelabTest
     
  2. Der Test wird fehlschlagen; Jetzt wollen wir es fix! Finden Sie den Quellcode des fehlerhaften Test:

     atest --info android.test.example.devcodelab.DevCodelabTest#testHelloWorld
     
  3. Dann schauen unter:

     platform_testing/tests/example/devcodelab
     
  4. Für die Datei zu bearbeiten, nehmen Sie den Namen des Tests und ersetzen die . mit / , etwa so:

     android.test.example.devcodelab.DevCodelabTest
     

    Wird:

     src/android/test/example/devcodelab/DevCodelabTest.java
     
  5. So bearbeiten:

     platform_testing/tests/example/devcodelab/src/android/test/example/devcodelab/DevCodelabTest.java
     

    Ersetzen:

     Assert.assertTrue(false)
     

    Mit:

     Assert.assertTrue(true)
     
  6. Führen Sie den Test erneut überprüfen Sie den Test festgelegt:

     atest DevCodelabTest
     

Laden Sie den Code für die Überprüfung

Repo vereinfacht die Verwendung von Git durch Befehle wie Bündelung git clone zur Arbeit in zahlreichen Git - Repositories (oder Projekte) auf einmal.

Siehe Quelle Control Tools für Übersichten über Git und Repo mit Links zu den vollständigen Dokumentation über die Arbeit mit Android - Quellcode. Siehe die AOSP - Repository für die vollständige Liste der Git - Projekte und die einzelnen Projekte (Pfade) für die mit jedem Projekt zugeordnet Zweige.

Sie werden mit dem seinen Gerrit web-basierten Code - Review - System für Projekte in Git.

  1. Vorausgesetzt , dass Sie Ihre Änderungen in der gemacht frameworks/native Projekt, führen Sie diese Befehle , sie zu laden:

     cd frameworks/native
    repo start codelab .
    git add .
    git commit
     
  2. Für Ihre Nachricht verpflichten eingeben:

     Android codelab change
    Test: manual atest
     
  3. Laden Sie Ihre Änderung:

     repo upload
     

Wenn Sie erfolgreich sind, erhalten Sie eine Meldung ungefähr so ​​aussehen:

 Upload project frameworks/native/ to remote branch master:
  branch codelab ( 1 commit, Wed Aug 7 09:32:33 2019 -0700):
         ff46b36d android codelab change
to https://android-review.googlesource.com/ (y/N)? y
remote: Processing changes: refs: 1, new: 1, done
remote:
remote: SUCCESS
remote:
remote:   https://android-review.googlesource.com/c/platform/frameworks/native/+/1098432 android codelab change [NEW]
remote:
To https://android-review.googlesource.com/platform/frameworks/native
 * [new branch]          codelab -> refs/for/master
 

Sehen Sie Ihre Änderung in Gerrit

Zur dem Link in der Klemme ähnelnden gedruckt:

 https://android-review.googlesource.com/c/platform/frameworks/native/+/1098432
 

Damit ist der Starter Codelab für Android-Plattform-Entwicklung. Siehe Patches erstellen für die nächsten Schritte und der Rest dieser Website für weitere Informationen auf Android zu entwickeln.

Revert Ihre Änderung

Normalerweise Post Prüfung und Prüfung / Genehmigung, würden Sie Ihre Änderung in Gerrit einreichen und es in das Repository zusammenführen.

Stattdessen für die Zwecke des Codelab, kehren Ihre Änderungsliste von in Gerrit Abandon klicken.

Dann verläßt den zugehörigen temporären Zweig im Rahmen / native Projektverzeichnis (oder dessen subs):

 repo abandon codelab .
 

Denken Sie daran, auch die Änderungen in der Testdatei zurückzukehren. Da wir nicht repo start , git commit und repo upload die Änderung, können wir nur die Datei selbst zurücksetzen, wie so (vorausgesetzt , Sie in sind aosp/platform_testing directory ):

 git reset HEAD tests/example/devcodelab/src/android/test/example/devcodelab/DevCodelabTest.java
git checkout .
 

An diesem Punkt sind Sie fertig! Gute Arbeit!

Hilfe erhalten

Wenn Sie Fehler in dieser Codelab begegnen, bitte melden sie die Verwendung von Feedback - Site - Link am Ende jeder Seite. Bitte senden Sie Fragen zu den Android-Gebäude Gruppe.