Nexus 7 klebte am Google-Logo, nachdem das Gebäude von AOSP geflasht wurde

Dies ist das erste Mal, dass ich den AOSP-Build auf dem Gerät flashe. Ich habe einfach die Anweisungen von Google befolgt, um den Android-Quellcode herunterzuladen und zu erstellen. Da ich ein Nexus 7 (2013) habe, habe ich das Ziel „aosp_flo-userdebug“ gewählt, bevor ich mit dem Erstellen beginne. Dann habe ich "make" ausgeführt, um zu bauen, und das Bauen war erfolgreich.

Danach habe ich das Gerät neu gestartet und bin in den Bootloader gegangen, habe das Gerät mit dem Befehl geflasht:

$ fastboot -w flashall

Der Blitz ist gelungen. Nachdem das Gerät neu gestartet wurde, blieb es einfach auf dem Logo-Bildschirm von Google hängen und wurde nie fortgesetzt. Wenn ich es auf das Factory-Image zurück flashe, kann es weiter booten. Ich denke also, dass ich vielleicht einige Fehler beim Bauen oder Flashen gemacht habe, die das Problem verursachen. Aber ich weiß nicht wie ich den Fehler finden soll.

Ich habe auch versucht, nur system.img zu flashen durch:

$ fastboot flash system system.img

Aber es ist immer noch das gleiche Ergebnis. Hoffe jemand kann mir ein paar Anregungen geben. Danke.

PS: Die Build-Version ist 5.1

Antworten (2)

Vielen Dank an @Tamoghna Chowdhury für die Verknüpfung mit einer ähnlichen Frage, die ich gepostet hatte. Ich hatte ähnliche Probleme und hatte eine Weile damit zu kämpfen. Sie müssen einige Dinge überprüfen. Hast du die gerätespezifischen Binaries geflasht?

In meinem Fall gab es einen Versionskonflikt mit der gerätespezifischen Binärdatei und dem Gerät. FLO sollte immer FLO-Binärdateien haben. Sonst startet er nicht. Überprüfen Sie diesen Beitrag

https://code.google.com/p/aosp4nexus5/wiki/AOSPforNexus5#Automatic_Installatin_of_GApps

Ich habe das vor langer Zeit gemacht, also erinnere ich mich nicht genau an den Schritt, den ich gemacht habe. Wenn Sie Details darüber posten, was Sie getan haben, werde ich mich vielleicht an etwas erinnern.

BEARBEITEN: Aktualisierung der Antwort basierend auf dem folgenden Kommentar von OP

Verwenden Sie den zweiten von Ihnen erwähnten Link https://developers.google.com/android/nexus/drivers#flolrx22g

Ihr Gerät ist Flo. Das ist der erste Schritt. Jetzt sollte Ihr AOSP-Build mit der Binärversion übereinstimmen. Sie können also 5.1.51 nicht zusammen mit Binärdateien der Version LMY48G verwenden, da dies für 5.1.1 gilt. Checken Sie also AOSP mit derselben Version aus, dh in Ihrem Fall 5.1.1, und erstellen Sie es erneut mit den LMY48G-Binärdateien. Ich erinnere mich, dass ich das gleiche Problem hatte, aber mit Version 5.0.1, dh LRX22G. Es funktionierte, als ich einen älteren Quellcode auscheckte.

Ich weiß nicht, warum das passiert, idealerweise sollte jede neue Version funktionieren. Vielleicht eine andere Macke von Android. Ich habe Android später nicht aktualisiert, als das Tablet korrekt gestartet wurde. Das Risiko ist zu groß :)

Danke für Ihre Antwort. Ich glaube, ich habe die gerätespezifischen Binärdateien beim vorherigen Build verpasst. Also habe ich die Binärdateien für flo (LMY48G) heruntergeladen und erneut ein Gebäude ausgeführt. Funktioniert aber immer noch nicht. Mir ist aufgefallen, dass es bei Google eine Reihe von Binärdateien gibt. developer.google.com/android/nexus/blobs-preview und developer.google.com/android/nexus/drivers#flo , ich glaube, ich habe vielleicht die falsche Version der Binärdateien verwendet. Aber woher weiß ich, welche Version ich verwenden soll? Die Quelle, die ich verwende, ist 5.1.51
Ich habe mein Problem gelöst, indem ich die Binärdateien schließlich von developer.google.com/android/nexus/blobs-preview erhalten habe . Danke noch einmal.
Ich denke, dies ist jetzt auf der offiziellen Website dokumentiert: "AOSP kann nicht nur aus dem reinen Quellcode verwendet werden und erfordert zusätzliche hardwarebezogene proprietäre Bibliotheken, um ausgeführt zu werden, insbesondere für die Hardware-Grafikbeschleunigung." source.android.com/source/…
Dies erklärt auch, warum die Vorschau-Binärdateien benötigt werden: „Um stattdessen den AOSP-Master-Zweig zu erstellen, verwenden Sie die Binaries-Vorschau für Nexus-Geräte.“ Trotzdem danke fürs Teilen :D

Das Herunterladen einer Binärdatei kann dieses Problem lösen, z. B. https://developers.google.com/android/drivers#tilapialmy47d

Laden Sie den gesamten Link herunter, entpacken Sie *.tgz und führen Sie alle Shell-Skripte aus. Erstellen Sie dann den Code neu.