Blinkende Geräte

Diese Seite enthält Details zum Ausführen von Builds auf bestimmten Geräten. Diese Details ergänzen die Informationen in „Building Android“ .

Fastboot und ADB erstellen

Wenn Sie fastboot und adb noch nicht haben, können Sie sie mit dem regulären Build-System erstellen. Befolgen Sie die Anweisungen unter „Android erstellen“ und ersetzen Sie den Hauptbefehl make “ durch diesen:

make fastboot adb

Weitere Informationen zu Android Debug Bridge (ADB) finden Sie unter Android Debug Bridge (ADB).

Booten im Fastboot-Modus

Sie können ein Gerät flashen, wenn es sich im fastboot Bootloader-Modus befindet. Um in den fastboot Modus zu wechseln, wenn ein Gerät einen Kaltstart durchführt, verwenden Sie die unter Fastboot-Tastenkombinationen aufgeführten Tastenkombinationen.

Sie können auch den Befehl adb reboot bootloader verwenden, um direkt im Bootloader neu zu starten. Vollständige Anweisungen finden Sie unter Flashing-Anweisungen .

Entsperren des Bootloaders

Sie können ein benutzerdefiniertes System nur flashen, wenn der Bootloader dies zulässt. Beachten Sie jedoch, dass der Bootloader standardmäßig gesperrt ist. Sie können den Bootloader entsperren, allerdings werden dabei aus Datenschutzgründen Benutzerdaten gelöscht. Nach dem Entsperren werden alle Daten auf dem Gerät gelöscht, also sowohl private App-Daten als auch freigegebene Daten, die über USB zugänglich sind (einschließlich Fotos und Filme). Bevor Sie versuchen, den Bootloader zu entsperren, sichern Sie alle wichtigen Dateien auf dem Gerät.

Sie müssen den Bootloader nur einmal entsperren und können ihn bei Bedarf erneut sperren.

Aktuelle Geräte entsperren

Alle seit 2014 veröffentlichten Nexus- und Pixel-Geräte (beginnend mit Nexus 6 und Nexus 9) verfügen über einen Werksreset-Schutz und erfordern einen mehrstufigen Prozess zum Entsperren des Bootloaders.

  1. So aktivieren Sie die OEM-Entsperrung auf dem Gerät:
    1. Tippen Sie in den Einstellungen auf „Über das Telefon“ und anschließend sieben Mal auf „Build-Nummer“ .
    2. Wenn Sie die Meldung sehen , dass Sie jetzt Entwickler sind! , tippen Sie auf die Zurück- Schaltfläche.
    3. Tippen Sie in den Einstellungen auf „System“ , dann auf „Entwickleroptionen“ und aktivieren Sie die OEM-Entsperrung und das USB-Debugging . (Wenn die OEM-Entsperrung deaktiviert ist, stellen Sie eine Verbindung zum Internet her, damit das Gerät mindestens einmal einchecken kann. Wenn sie deaktiviert bleibt, ist Ihr Gerät möglicherweise von Ihrem Mobilfunkanbieter SIM-gesperrt und der Bootloader kann nicht entsperrt werden.)
  2. Starten Sie den Bootloader neu und entsperren Sie ihn mit fastboot .
    • Für neuere Geräte (2015 und höher):
      fastboot flashing unlock
    • Für ältere Geräte (2014 und niedriger):
      fastboot oem unlock
    Tipp: Wenn vor dem Neustart die Ausgabe „ADB-Geräte“ angezeigt wird, sich Fastboot oder das Flash-Skript jedoch nicht richtig verhalten, liegt möglicherweise ein Problem mit Ihrem USB-Kabel vor. Versuchen Sie es mit einem anderen Anschluss und/oder wechselnden Anschlüssen. Wenn Sie einen USB-C-Anschluss an Ihrem Computer verwenden, versuchen Sie es stattdessen mit einem USB-A-Anschluss.
  3. Bestätigen Sie die Entsperrung auf dem Bildschirm.

Erneutes Sperren des Bootloaders

So sperren Sie den Bootloader erneut:

  • Für neuere Geräte (2015 und höher):
    fastboot flashing lock
  • Für ältere Geräte (2014 und niedriger):
    fastboot oem lock

Verwenden von Flash-Sperrzuständen

Die System-API getFlashLockState() überträgt den Bootloader-Status und die System-API PersistentDataBlockManager.getFlashLockState() gibt den Sperrstatus des Bootloaders auf kompatiblen Geräten zurück.

Rückgabewert Bedingungen
FLASH_LOCK_UNKNOWN Wird nur von Geräten zurückgegeben, die ein Upgrade auf Android 7.x oder höher durchführen und zuvor die zum Erhalten des Flash-Sperrstatus erforderlichen Bootloader-Änderungen nicht unterstützt haben, wenn sie die Flash-Sperr-/Entsperrfunktion unterstützten.
  • Neue Geräte mit Android 7.x oder höher müssen sich entweder im Status FLASH_LOCK_LOCKED oder FLASH_LOCK_UNLOCKED befinden.
  • Geräte, die auf Android 7.x oder höher aktualisiert werden und die Flash-Entsperr-/Sperrfunktion nicht unterstützen, sollten den Status FLASH_LOCK_LOCKED zurückgeben.
FLASH_LOCK_LOCKED Wird von jedem Gerät zurückgegeben, das die blinkende Sperre/Entsperrung nicht unterstützt (d. h. das Gerät ist immer gesperrt), oder von jedem Gerät, das die blinkende Sperre/Entsperrung unterstützt und sich im gesperrten Zustand befindet.
FLASH_LOCK_UNLOCKED Wird von jedem Gerät zurückgegeben, das blinkendes Sperren/Entsperren unterstützt und sich im entsperrten Zustand befindet.

Hersteller sollten die von Geräten mit gesperrten und entsperrten Bootloadern zurückgegebenen Werte testen. Beispielsweise enthält das Android Open Source Project (AOSP) eine Referenzimplementierung, die einen Wert zurückgibt, der auf der Boot-Eigenschaft ro.boot.flash.locked basiert. Beispielcode befindet sich in den folgenden Verzeichnissen:

  • frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
  • frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java

Auswählen eines Gerätebuilds

Die empfohlenen Geräte-Builds sind im lunch verfügbar, auf das Sie zugreifen können, wenn Sie den Befehl lunch ohne Argumente ausführen. Weitere Informationen zum lunch -Befehl finden Sie unter „Ziel auswählen“ . Eine Liste der Build-Ziele finden Sie unter Build-Ziele .

Sie können Factory-Images und Binärdateien für Pixel- und Nexus-Geräte von Developers.google.com herunterladen. Downloads finden Sie unter Geräte-Binärdateien . Einzelheiten und zusätzliche Ressourcen finden Sie unter Erhalten proprietärer Binärdateien .

Gerät Code Name Build-Konfiguration
Pixel 7 Pro Gepard aosp_cheetah-userdebug
Pixel 7 Panther aosp_panther-userdebug
Pixel 6 Pro Rabe aosp_raven-userdebug
Pixel 6 Pirol aosp_oriole-userdebug
Pixel 5 Rotflosse aosp_redfin-userdebug
Pixel 4a 5G Brombeere aosp_bramble-userdebug
Pixel 4a Mondfisch aosp_sunfish-userdebug
Pixel 4 XL Koralle aosp_coral-userdebug
Pixel 4 Flamme aosp_flame-userdebug
Pixel 3a XL Bonito aosp_bonito-userdebug
Pixel 3a Sargo aosp_sargo-userdebug
Pixel 3 XL Kreuzschraffur aosp_crosshatch-userdebug
Pixel 3 blaue Linie aosp_blueline-userdebug
Pixel 2 XL Taimen aosp_taimen-userdebug
Pixel 2 Zander aosp_walleye-userdebug
Pixel XL Marlin aosp_marlin-userdebug
Pixel Segelfisch aosp_sailfish-userdebug
HiKey wandern hikey-userdebug
Nexus 6P Angler aosp_angler-userdebug
Nexus 5X Groppe aosp_bullhead-userdebug
Nexus 6 Shamu aosp_shamu-userdebug
Nexus-Spieler fugu aosp_fugu-userdebug
Nexus 9 Volantis (Flunder) aosp_flounder-userdebug
Nexus 5 (GSM/LTE) Hammerkopf aosp_hammerhead-userdebug
Nexus 7 (WLAN) Rasiermesser (flo) aosp_flo-userdebug
Nexus 7 (mobil) razorg (deb) aosp_deb-userdebug
Nexus 10 Mantaray (Manta) full_manta-userdebug
Nexus 4 occam (mako) full_mako-userdebug
Nexus 7 (WLAN) Nakasi (Zackenbarsch) full_grouper-userdebug
Nexus 7 (mobil) Nakasig (Tilapia) full_tilapia-userdebug
Galaxy Nexus (GSM/HSPA+) Yakju (Maguro) full_maguro-userdebug
Galaxy Nexus (Verizon) Mysid (Toro) √aosp_toro-userdebug
Galaxy Nexus (experimentell) mysidspr (toroplus) aosp_toroplus-userdebug
Motorola Xoom (US-WLAN) Flügelrochen full_wingray-userdebug
Nexus S Soju (Crespo) full_crespo-userdebug
Nexus S 4G Sojus (Crespo4g) full_crespo4g-userdebug

Ein Gerät flashen

Sie können ein ganzes Android-System mit einem einzigen Befehl flashen; Dadurch wird überprüft, ob das zu flashende System mit dem installierten Bootloader und Radio kompatibel ist, die Boot-, Wiederherstellungs- und Systempartitionen werden zusammengeschrieben und anschließend wird das System neu gestartet. Durch das Flashen werden auch alle Benutzerdaten gelöscht, ähnlich wie beim fastboot oem unlock .

So flashen Sie ein Gerät:

  1. Entpacken Sie die Bilddatei in ein eigenes Verzeichnis.
  2. Legen Sie die Umgebungsvariable ANDROID_PRODUCT_OUT so fest, dass sie auf dasselbe Verzeichnis verweist, das in Schritt 1 verwendet wurde.
  3. Versetzen Sie das Gerät in fastboot Modus, indem Sie beim Booten die entsprechende Tastenkombination gedrückt halten oder den folgenden Befehl verwenden:
    adb reboot bootloader
  4. Nachdem sich das Gerät im Fastboot-Modus befindet, führen Sie Folgendes aus:
    fastboot flashall -w
    Die Option -w löscht die /data Partition auf dem Gerät; Dies ist nützlich, wenn Sie ein bestimmtes Gerät zum ersten Mal flashen, ist aber ansonsten unnötig.

Flashende Konfigurationen

Fastboot-Anweisungen werden in einem Artefakt namens fastboot-info.txt dargelegt, das sich in $ANDROID_PRODUCT_OUT/* befindet. Dieses TXT-Dokument enthält eine Liste der Aufgaben, die Fastboot ausführen soll, und kann über m fastboot_info neu generiert werden. Durch Ändern dieser Datei kann eine benutzerdefinierte Blinklogik eingeführt werden

Unterstützte Befehle:

  1. flash %s : Flashen einer bestimmten Partition. Zu den optionalen Argumenten gehören --slot-other, {filename_path}, --apply-vbmeta
  2. update-super : Aktualisiert die Superpartition
  3. if-wipe : Führen Sie bedingt eine andere Funktionalität aus, wenn Wipe angegeben ist
  4. %s löschen : Eine bestimmte Partition löschen (kann nur in Verbindung verwendet werden) mit if-wipe -> z. B. if-wipe erase cache

Geräte auf Werkszustand zurücksetzen

Factory-Images für Google-Geräte sind unter Factory Images für Nexus- und Pixel-Geräte verfügbar. Werksbilder für das Motorola Xoom werden direkt von Motorola vertrieben.

Beheben Sie Fehler, bei denen die Berechtigung verweigert wurde

Auf den meisten Linux-Systemen haben unprivilegierte Benutzer standardmäßig keinen Zugriff auf USB-Anschlüsse. Wenn die Fehlermeldung „Berechtigung verweigert“ angezeigt wird, lesen Sie die Anweisungen von Android Studio zum Einrichten eines Geräts für die Entwicklung .

Wenn ADB bereits ausgeführt wurde und keine Verbindung zum Gerät herstellen kann, können Sie ADB mit adb kill-server stoppen. Dieser Befehl bewirkt, dass ADB mit der neuen Konfiguration neu gestartet wird.