Das Unternehmen Google hat das zweite Quartals-Release der Open-Source-Mobilplattform Android 16 (QPR2) vorgestellt. Der Quellcode, der mit der neuen Veröffentlichung verbunden ist, wurde im Git-Repository des Projekts (Branch android-16.0.0_r4) veröffentlicht. Firmware-Builds wurden für die Geräte Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold und Pixel Tablet vorbereitet. In den kommenden Monaten werden Firmware-Updates mit der neuen Version für Smartphones von Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo und Xiaomi erwartet. Zusätzlich werden universelle GSI-Builds (Generic System Images) erstellt, die für verschiedene Geräten auf Basis der Architekturen ARM64 und x86_64 geeignet sind.
Das Android 16 QPR2-Release wurde im Rahmen eines neuen Entwicklungsplans erstellt, bei dem jedes Jahr nicht nur ein bedeutendes Android-Release, sondern zwei Releases erstellt werden – das erste im zweiten Quartal (QPR1) und das zweite im vierten Quartal (QPR2). Die Sommerversion umfasst bedeutende Neuerungen, Verhaltensänderungen im SDK und neue APIs. Die Winterversion enthält Verbesserungen, neue APIs und Änderungen, die die Kompatibilität mit Anwendungen nicht beeinträchtigen.
Die Hauptneuerungen von Android 16 QPR2:
- Die Möglichkeit, grafische Anwendungen, die für Linux erstellt wurden, auszuführen, wurde hinzugefügt. Die Ausführung erfolgt über die Anwendung Linux Terminal, die es erlaubt, in einer Android-Umgebung eine virtuelle Maschine mit Debian GNU/Linux zu starten, in der gängige Linux-Anwendungen ausgeführt werden können. Für den Start der grafischen Umgebung wurde der Knopf „Display“ zur Anwendung Linux Terminal hinzugefügt, der die Grafikweiterleitung über Komponenten in der Hauptumgebung von Android aktiviert. Nach Aktivierung des Knopfes „Display“ im Terminal kann der Kompositor-Server Weston gestartet werden, der eine minimalistische Fenstersitzung bereitstellt und anschließend verwendet werden kann, um beliebige grafische Anwendungen zu starten, beispielsweise den Start des Grafikeditors GIMP wurde demonstriert.

Die Funktionalität der virtuellen Maschine mit Linux entwickelt sich im Rahmen des Projekts Ferrochrome. Im Gastumfeld wird Debian GNU/Linux gestartet. Für die Virtualisierung wird das Framework AVF (Android Virtualization Framework) verwendet, das auf einem Hypervisor basiert. KVM und dem crosvm-Toolkit. Die grafische Umgebung verwendet das Wayland-Protokoll und basiert auf dem Kompositsystem. Server Weston. Für die Hardwarebeschleunigung der Grafik wird VirGL – die virtuelle GPU Virgil3D – verwendet. Anwendungen, die für X11 erstellt wurden, werden mit Hilfe der DDX-Komponente XWayland gestartet.
- Ein erweitertes Dunkelthema (Expanded Dark Theme) wurde implementiert, das die Farben in Anwendungen ohne Dunkelmodus automatisch invertiert. Die Notwendigkeit der Invertierung wird für jede Anwendung basierend auf dem Attribut isLightTheme getrennt bestimmt. Die Invertierung erfolgt bei Benutzeroberflächenelementen auf Basis von Android Views, Composables und WebViews, wird jedoch nicht für Anwendungen mit eigenen Rendering-Engines, wie solchen, die auf dem Flutter-Framework basieren, verwendet.

- Es besteht die Möglichkeit, spezifische Formen von Icons auszuwählen, die auf alle angezeigten Icons und Verzeichnisverknüpfungen angewendet werden.


- Für Anwendungen, die keine separaten Icon-Varianten für Designs bereitstellen, wurde die Möglichkeit zur automatischen Generierung von Icons im Stil der Designs implementiert. Bei der Generierung wird ein Farbfilter auf das vorhandene App-Icon angewendet.

- Es besteht die Möglichkeit, interaktive Interaktionen mit der Anwendung fortzusetzen, nachdem der Systemdialog "Teilen" (Share) geöffnet wurde, und den Inhalt der Benutzeroberfläche der Anwendung während der Auswahl des Datenaustauschverfahrens zu aktualisieren.
- Im Android Runtime (ART) wurde ein generativer Garbage Collector (Generational Concurrent Mark-Compact Garbage Collector) hinzugefügt, der eine separate Verarbeitung von "alten" und "jungen" Objekten nutzt, was die Effizienz der Bereinigung kürzlich erstellter Objekte mit kurzer Lebensdauer erhöht. Der Einsatz des generativen Garbage Collectors verringert das Risiko von Pausen während der Ressourcenzuteilung und reduziert die CPU-Belastung, was die Energieeffizienz verbessert.
- Die Mittel zur Analyse der Interaktion der Benutzer mit Widgets wurden erweitert – die Anwendung kann nun Metriken über Interaktionsereignisse wie Klicks, Scrolls und Anzeigen (impression) erhalten.
- Es wurde eine Warnung implementiert, die anzeigt, dass im debuggeden Anwendung keine Speicheranpassung an Seitenränder mit 16 KB erfolgt. In Zukunft wird für bestimmte Architekturen ein Übergang zur Verwendung von 16 KB Seiten anstelle von 4 KB erwartet, was die Leistung von speicherintensiven Programmen erhöhen wird.

- Ein softwarebasierter Decoder für das Audioformat IAMF (Immersive Audio Model and Formats) wurde hinzugefügt, das zur Verbreitung von räumlichem Klang verwendet wird (berücksichtigt die Verbreitung von Klangsignalen im dreidimensionalen Raum, um einen Klang zu reproduzieren, der dem Natürlichen möglichst nahekommt).
- Im Schnittstellenauswahlgerät (Output Switcher) wurde die Möglichkeit integriert, den Ton über Bluetooth LE bereitzustellen, die keine separate Änderung der Bluetooth-Einstellungen erfordert.

- Das System Health Connect unterstützt jetzt die automatische Verfolgung der zurückgelegten Schritte unter Verwendung verfügbarer Sensoren. Der Zugang zu Schrittzahlen wird Anwendungen gewährt, die über die Berechtigung READ_STEPS verfügen. Die neue Methode vereinfacht den Code in Anwendungen und reduziert den Energieverbrauch beim Schritttracking. Health Connect bietet eine zentralisierte Speicherung von Daten von Fitnessarmbändern und anderen Benutzergesundheitsgeräten und organisiert den gemeinsamen Zugriff verschiedener Anwendungen auf Gesundheitsdaten.
- Ein neuer API-Datenübertragungsdienst wurde hinzugefügt, um die Zuverlässigkeit der Datenmigration zwischen Android- und iOS-Geräten zu verbessern.
- Ein API zur Verifizierung von Entwicklern während der Installation von APK-Paketen wurde hinzugefügt. Das ADB-Tool hat Befehle zur Simulation der Verifizierung erhalten (die Möglichkeit, Anwendungen ohne Verfizierung über ADB zu installieren, bleibt unverändert).
- Der Schutz von SMS mit Einmal-Passwörtern (OTP) wurde gewährleistet. Um das Abfangen von Einmal-Passwörtern durch bösartige Anwendungen zu verhindern, wird die Zustellung von SMS mit einem Hash für den SMS-Retriever-Dienst für die meisten Anwendungen um drei Stunden verzögert. Vor Ablauf dieser Zeit wird die Broadcast-Benachrichtigung des Ereignisses RECEIVE_SMS blockiert, und die Datenbankabfragen mit SMS werden gefiltert.
- Ein neuer Systemzustand "Secure Lock Device" wurde hinzugefügt. Bei Aktivierung (z. B. über den Dienst zum Auffinden verlorener Geräte "Find My Device") wird das Gerät sofort gesperrt und erfordert die Eingabe einer PIN oder eines Passworts zur Entsperrung. Benachrichtigungen und Erinnerungen werden im Sperrbildschirm verborgen, und die biometrische Entsperrung ist vorübergehend deaktiviert.
Quelle: opennet.ru







