Die Google GmbH hat die Veröffentlichung der Open-Source-Mobilplattform Android 13 bekannt gegeben. Die Quelltexte, die mit der neuen Version verbunden sind, sind im Git-Repository des Projekts (Branch android-13.0.0_r1) verfügbar. Die Firmware-Updates wurden für Geräte der Pixel-Serie vorbereitet. Später sind Firmware-Updates für Smartphones von Samsung, Asus, HMD (Nokia), iQOO, Motorola, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo und Xiaomi geplant. Zusätzlich wurden universelle GSI-Builds (Generic System Images) erstellt, die für verschiedene Geräte auf ARM64- und x86_64-Architekturen geeignet sind.
Hauptneuheiten:
- Ein Satz von vorgefertigten Farbvarianten für die Benutzeroberfläche wurde vorgeschlagen, die es ermöglichen, die Farben innerhalb der gewählten Farbpalette leicht anzupassen. Die Farbvarianten beeinflussen das Erscheinungsbild aller Komponenten des Betriebssystems, einschließlich des Hintergrundbildes.

- Es wurde die Möglichkeit geschaffen, den Hintergrund der Icons beliebiger Anwendungen an das Farbschema des Designs oder die Farbe des Hintergrundbildes anzupassen.

- Im Musiksteuerungsinterface wird die Verwendung von Albumcoverbildern als Hintergrund während der Wiedergabe sichergestellt.


- Die Möglichkeit hinzugefügt, individuellen Spracheinstellungen für Anwendungen zuzuordnen, die von den im System gewählten Spracheinstellungen abweichen.

- Die Leistung auf Geräten mit großen Bildschirmen, wie Tablet-PCs, Chromebooks und Smartphones mit faltbaren Displays, wurde erheblich verbessert. Für große Bildschirme wurde das Layout des Dropdown-Bereichs mit Benachrichtigungen, des Startbildschirms und des Sperrbildschirms optimiert, die nun den gesamten verfügbaren Platz nutzen. Im Block, der bei einer Wischgeste von oben nach unten erscheint, wird auf großen Bildschirmen die Trennung in verschiedene Spalten für die Schnellkonfigurationen und die Liste der Benachrichtigungen sichergestellt. Der Support für den Zwei-Bereichs-Modus im Konfigurator wurde hinzugefügt, bei dem auf großen Bildschirmen die Einstellungsabschnitte nun ständig sichtbar sind.
Die Kompatibilitätsmodi für Anwendungen wurden verbessert. Es wurde eine Implementierung einer Taskleiste vorgeschlagen, die in der unteren Bildschirmhälfte die Symbole der geöffneten Anwendungen anzeigt, einen schnellen Wechsel zwischen Programmen ermöglicht und das Ziehen von Anwendungen per Drag-and-Drop in verschiedene Bereiche des Mehrfenstermodus (Split-Screen) unterstützt, der den Bildschirm in Teile unterteilt, um gleichzeitig mit mehreren Anwendungen zu arbeiten.

- Der Komfort beim Zeichnen und Texteingeben mit einem digitalen Stift wurde erhöht. Ein Schutz gegen das Auftreten falscher Striche durch Berührung des Touchscreens mit den Händen während des Zeichnens mit dem Stylus wurde hinzugefügt.
- Für einige Geräte, wie das Pixel 6, wurde die Unterstützung für vollständige Virtualisierung hinzugefügt, die das Ausführen von Umgebungen mit anderen Betriebssystemen ermöglicht. Die Virtualisierung basiert auf einem Hypervisor. KVM und den crosvm-Tools (VVM, Virtual Machine Manager). Optional steht der pKVM-Modus (Protected KVM) zur Verfügung, der eine strengere Isolation der Umgebungen unter Verwendung von Virtualisierungserweiterungen für die Architektur AArch64 gewährleistet. In der Plattform sollen Virtualisierungstechniken eingesetzt werden, um die Ausführung von Drittanbieter-Systemcode, zum Beispiel geschlossenen ausführbaren Dateien und DRM-Komponenten, besser zu schützen.
- Die Möglichkeit zur selektiven Berechtigung zur Zugriff auf Mediendateien wurde hinzugefügt. Während man vorher für das Lesen von Mediendateien Zugriff auf alle Dateien im lokalen Speicher geben musste, kann der Zugriff jetzt auf Bilder, Audiodateien oder Videos beschränkt werden.

- Eine neue Benutzeroberfläche zur Auswahl von Fotos und Videos wurde implementiert, die es Anwendungen ermöglicht, nur auf die ausgewählten Bilder und Videos zuzugreifen und den Zugriff auf andere Dateien zu blockieren. Früher wurde eine ähnliche Benutzeroberfläche für Dokumente umgesetzt. Sowohl mit lokalen Dateien als auch mit Daten, die in Cloud-Speichern gespeichert sind, kann gearbeitet werden.

- Eine Berechtigungsanfrage für Benachrichtigungen von Anwendungen wurde hinzugefügt. Ohne die vorherige Genehmigung zur Anzeige von Benachrichtigungen wird das Senden von Benachrichtigungen durch die Anwendung blockiert. Für zuvor erstellte Anwendungen, die für die Verwendung mit früheren Versionen von Android ausgelegt sind, werden die Berechtigungen von der Systemsoftware im Namen des Benutzers erteilt.

- Die Anzahl der Anwendungen, die Zugriff auf Informationen über den Standort des Benutzers benötigen, wurde reduziert. Beispielsweise benötigen Anwendungen, die drahtlose Netzwerke scannen, jetzt keine standortbezogenen Berechtigungen mehr.
- Die Möglichkeiten zur Verbesserung der Vertraulichkeit und zur Information des Benutzers über mögliche Risiken wurden erweitert. Neben Warnungen über den Zugriff der Anwendung auf die Zwischenablage wird in dem neuen Update das automatische Löschen des Verlaufs des Einfügens von Daten in die Zwischenablage nach einer bestimmten Zeit der Inaktivität gewährleistet.
- Eine neue einheitliche Seite mit Einstellungen hinzugefügt Sicherheit und Vertraulichkeit, auf der eine anschauliche Farbkennzeichnung des Sicherheitszustands implementiert wurde und Empfehlungen zur Verbesserung des Schutzes angeboten werden.

- Ein neuer Berechtigungstyp für Wi-Fi wurde hinzugefügt, der Apps, die für die Suche nach drahtlosen Netzwerken und die Verbindung zu Hotspots gedacht sind, die Möglichkeit bietet, auf eine Teilmenge der Wi-Fi-Verwaltungs-APIs zuzugreifen, mit Ausnahme von Aufrufen, die mit der Standortbestimmung zusammenhängen (früher erhielten Apps, die sich mit Wi-Fi verbinden, auch Zugriff auf Standortinformationen).
- Eine API wurde hinzugefügt, um Schaltflächen im Schnellzugriffsbereich am oberen Rand der Benachrichtigungsansicht anzuordnen. Mit dieser API kann die App eine Anfrage zur Platzierung ihrer Schaltfläche mit einer Schnellaktion darstellen, die es dem Benutzer ermöglicht, die Schaltfläche hinzuzufügen, ohne die App zu verlassen und separat zu den Einstellungen zu wechseln.

- Die Worttrennung wurde optimiert (Trennung von Wörtern, die nicht in die Zeile passen, mit Hilfe von Bindestrichen). In der neuen Version wurde die Leistung der Trennung um 200 % erhöht und beeinträchtigt nun praktisch nicht die Rendergeschwindigkeit.
- Die Unterstützung für programmierbare Grafik-Shader (RuntimeShader-Objekte), die in der AGSL (Android Graphics Shading Language) definiert sind, wurde hinzugefügt. Diese ist eine Teilmenge der GLSL-Sprache, die für die Verwendung mit der Rendering-Engine der Android-Plattform angepasst wurde. Solche Shader werden bereits in der Android-Plattform selbst verwendet, um verschiedene visuelle Effekte zu realisieren, wie z.B. Pulsieren, Unschärfe und Dehnung beim Scrollen über den Seitenrand. Solche Effekte können jetzt auch in Anwendungen erstellt werden.
- Die grundlegenden Java-Bibliotheken der Plattform und die Entwicklungswerkzeuge wurden auf OpenJDK 11 aktualisiert.
- Im Rahmen des Mainline-Projekts, das es ermöglicht, einzelne Systemkomponenten ohne ein vollständiges Plattform-Update zu aktualisieren, wurden neue aktualisierbare Systemmodule vorbereitet. Die Updates betreffen hardwareunabhängige Komponenten, die über Google Play separat von den OTA-Firmware-Updates des Herstellers heruntergeladen werden. Zu den neuen Modulen, die über Google Play ohne Firmware-Update aktualisiert werden können, gehören Bluetooth und Ultra Wideband. Über Google Play werden auch Module mit dem Photo Picker und OpenJDK 11 verteilt.
- Das Testen und Debuggen neuer Funktionen der Plattform wurde vereinfacht. Änderungen können jetzt selektiv für Anwendungen im Entwicklerbereich oder über das Tool adb aktiviert werden.

- Eine API wurde hinzugefügt, die es der Anwendung ermöglicht, zuvor erhaltene Berechtigungen zurückzugeben. Wenn beispielsweise in der neuen Version der Bedarf an erweiterten Rechten nicht mehr besteht, kann das Programm im Sinne des Datenschutzes die zuvor erhaltenen Rechte widerrufen.
- Die Möglichkeit wurde geschaffen, Handler für nicht-systemweite Broadcast-Operationen (BroadcastReceiver) im Zusammenhang mit dem Kontext ihrer Verwendung zu registrieren. Für die Verwaltung des Exports solcher Handler wurden neue Flags RECEIVER_EXPORTED und RECEIVER_NOT_EXPORTED hinzugefügt, die es ermöglichen, die Verwendung der Handler für das Senden von Broadcast-Nachrichten aus anderen Anwendungen auszuschließen.
- Unterstützung für farbige Vektor-Schriftarten im COLRv1-Format (eine Teilmenge der OpenType-Schriftarten, die neben vektoriellen Glyphen eine Schicht mit Farbinformationen enthält) wurde hinzugefügt. Außerdem wurde ein neues Set mehrfarbiger Emojis, bereitgestellt im COLRv1-Format, hinzugefügt. Das neue Format bietet eine kompakte Speicherform, unterstützt Gradienten, Überlagerungen und Transformationen, sorgt für effiziente Komprimierung und ermöglicht die Wiederverwendung von Konturen, wodurch die Schriftgröße erheblich reduziert werden kann. Zum Beispiel benötigt die Noto Color Emoji-Schrift im Rasterformat 9 MB, während sie im Vektorformat COLRv1 nur 1,85 MB benötigt.

- In der Ausführungsumgebung von Anwendungen wurde ein effizienterer Garbage Collector implementiert, der auf der Verwendung der Linux-Kernel-API userfaultfd basiert, die es ermöglicht, Handler für nicht zugewiesene Speicherseiten (page faults) im Benutzerspeicher zu erstellen. Der neue Garbage Collector sorgt für feste Overhead-Kosten für jedes geladene Objekt, verbraucht weniger Speicher und führt zu einer Reduzierung des kompilierten Codes um etwa 10 %. Die Anwendung des neuen Garbage Collectors ermöglicht auch eine Verlängerung der Akkulaufzeit, die Beseitigung von Hängern während der Garbage Collection und schützt Anwendungen vor einem erzwungenen Beenden bei Speichermangel im System.
In ART wurde die Leistung beim Wechsel zu nativen Code und zurück erheblich verbessert – JNI-Aufrufe werden jetzt bis zu 2,5 Mal schneller ausgeführt. Der Code zur Verarbeitung von Referenzen (reference processing) wird während der Ausführung nun im nicht-blockierenden Modus durchgeführt, um Hänger zu reduzieren. Eine API Reference.refersTo() wurde hinzugefügt, die zur schnelleren Rückgabe von Speicher verwendet werden kann. Im Interpreter wurde die Klassensuche und die Methodensuche beschleunigt. Die Möglichkeit zur Verifizierung von Bytecode wurde auf die Installationsphase anstatt auf die Ausführungsphase ausgeweitet, was die Startzeit von Anwendungen verkürzt.
- Unterstützung für die Bluetooth LE Audio (Low Energy) Technologie wurde hinzugefügt, die den Energieverbrauch beim Übertragen von hochwertigen Audiodatenströmen über Bluetooth reduziert. Anders als bei klassischem Bluetooth ermöglicht die neue Technologie auch das Umschalten zwischen verschiedenen Nutzungsmodi, um ein optimales Verhältnis zwischen Qualität und Energieverbrauch zu erreichen.
- Unterstützung der MIDI 2.0-Spezifikation hinzugefügt, sowie die Möglichkeit, Musikinstrumente und Controller, die MIDI 2.0 unterstützen, über den USB-Anschluss anzuschließen.
- Für Anwendungen, die Schlüssel generieren, bieten die APIs Keystore und KeyMint jetzt detailliertere und genauere Fehlerindikatoren und ermöglichen die Verwendung von Ausnahmen java.security.ProviderException zur Abfangen von Fehlern.
- Im AudioManager wurde eine API zur Audiomarktierung hinzugefügt, die es ermöglicht festzustellen, wie der Audio-Stream verarbeitet werden soll. Die Methode getAudioDevicesForAttributes() wurde hinzugefügt, um eine Liste der Geräte zu erhalten, über die der Ton ausgegeben werden kann, sowie die Methode getDirectProfilesForAttributes(), um die Möglichkeit der direkten Wiedergabe von Audio-Streams zu bestimmen.
Quelle: opennet.ru













