Auf dieser Seite werden die wichtigsten Funktionen des Android 10-Release zusammengefasst und Links zu weiteren Informationen bereitgestellt. Diese Funktionszusammenfassungen sind nach dem Dokumentationsort der Funktion auf dieser Website organisiert.
Entwickeln
java_sdk_library
Mit Android 10 wird java_sdk_library
eingeführt, eine neue Build-Regel zur Behebung von Kompatibilitätsproblemen für gemeinsam genutzte Java-Bibliotheken. Gerätehersteller können diesen Mechanismus für ihre eigenen gemeinsam genutzten Java-Bibliotheken verwenden, um die Abwärtskompatibilität ihrer APIs aufrechtzuerhalten.
Architektur
Modulare Systemkomponenten
In Android 10 werden einige Android-Systemkomponenten modularisiert, sodass sie außerhalb des normalen Android-Releasezyklus aktualisiert werden können. Einige Module:
- Android-Laufzeit
- Conscrypt
- DNS-Resolver
- DocumentsUI
- ExtServices
- Medien
- ModuleMetadata
- Networking
- PermissionController
- Zeitzonendaten
Hardwareabstraktionsschicht (HAL)
Unter Android 10 wird die Unterstützung für HALs hinzugefügt, die automatisch heruntergefahren werden, wenn sie keine Clients haben.
Kernel
ABI
Android 10 unterstützt neue ABI-Überprüfungstools, mit denen sich Kernel-ABI-Änderungen, die sich auf die Kompatibilität mit Kernelmodulen auswirken, vergleichen, nachverfolgen und minimieren lassen.
In Android 10 wird auch eine symbolbasierte ABI-Nutzungsprüfung eingeführt. Der Checker kann veraltete vorkompilierte Binärdateien zur Build-Zeit erkennen, sodass Entwickler von freigegebenen Bibliotheken wissen, welche vorkompilierten Binärdateien durch ihre Änderung möglicherweise beschädigt werden und welche neu erstellt werden müssen.
Android Live-Lock-Daemon
Android 10 enthält den Android Live-Lock Daemon (llkd), der Kernel-Deadlocks erkennen und beheben soll.
vDSO32 auf ARM64
Android 10 unterstützt die Verwendung von vDSO32 auf 64‑Bit-Kerneln, was zu einer um 0,4 % längeren Akkulaufzeit und anderen Leistungsverbesserungen führt.
fstab-Einträge für frühzeitig eingebundene Partitionen
Unter Android 10 müssen Geräte fstab
-Einträge für frühzeitig eingebundene Partitionen mithilfe einer fstab
-Datei im Ramdisk der ersten Phase angeben.
HIDL
BroadcastQueue auslagern
Android 10 enthält eine neue Offload-Warteschlange BroadcastQueue
zusätzlich zu den vorhandenen Warteschlangen Hintergrund und Vordergrund. Die Offload-Warteschlange hat dieselbe Priorität und dasselbe Zeitlimitverhalten wie die Hintergrundwarteschlange. Um zu verhindern, dass die Hintergrundwarteschlange blockiert wird, in der interessantere oder für Nutzer sichtbare Broadcasts stattfinden können, wird der BOOT_COMPLETED
-Broadcast in der Offload-Warteschlange verarbeitet. Viele Apps warten auf diesen Broadcast und die Verarbeitung kann lange dauern.
In der Offload-Warteschlange wird derzeit nur die BOOT_COMPLETED
-Übertragung verarbeitet, aber es können möglicherweise auch andere lange Übertragungen verarbeitet werden.
SystemSuspend-Dienst
In Android 10 wird der Thread in libsuspend
, der für das Einleiten des System-Suspend zuständig ist, durch den SystemSuspend-HIDL-Dienst ersetzt. Diese Implementierung bietet die gleiche Funktionalität wie frühere Versionen und nutzt die Vorteile der Android-HIDL-Infrastruktur.
safe_union in HIDL
In Android 10 wird safe_union
, ein explizit getaggter Union-Typ, in HIDL eingeführt.
Konfiguration
ConfigStore HAL
In Android 10 wird der ConfigStore-HAL aufgrund des hohen Arbeitsspeicherverbrauchs und der schwierigen Verwendung eingestellt und durch Systemeigenschaften ersetzt.
Config File Schema API
Die Android-Plattform enthält eine große Anzahl von XML-Dateien zum Speichern von Konfigurationsdaten. Viele der XML-Dateien befinden sich auf der Partition vendor
, werden aber auf der Partition system
gelesen. In diesem Fall dient das Schema der XML-Datei als Schnittstelle zwischen den beiden Partitionen. Daher muss das Schema explizit angegeben werden und sich abwärtskompatibel entwickeln. Vor Android 10 bot die Plattform keine Mechanismen, um die Angabe und Verwendung des XML-Schemas zu erzwingen oder inkompatible Änderungen am Schema zu verhindern. Android 10 bietet diesen Mechanismus, der als Config File Schema API bezeichnet wird.
Systemeigenschaften als APIs
Systemeigenschaften, auf die über Partitionen hinweg zugegriffen wird, werden in sysprop
-Beschreibungsdateien schematisiert. APIs für den Zugriff auf Eigenschaften werden als konkrete Funktionen für C++ und als Klassen für Java generiert.
VINTF-Objekt (Vendor Interface)
VINTF
Änderungen an VINTF in Android 10:
- Einstellung von AVB-Versions-Tags
- Kernelinformationen in OTA-Pakete einfügen
- Offizielles Erstellen von ODM-Manifesten
- Produktkompatibilitätsmatrix hinzufügen
- Manifesteintrag mit einem HAL-Modul im Build-System verknüpfen
Bootloader
Ramdisk
In Android 10 ist das Root-Dateisystem nicht mehr in ramdisk.img
enthalten, sondern wird in system.img
zusammengeführt.
ODM-Partitionen erstellen
Android 10 unterstützt das Erstellen von odm
-Partitionen mit dem Android-Build-System. Sie können eine separate /odm
-Partition für Anpassungen verwenden, sodass Sie ein einzelnes Anbieterimage für mehrere Hardware-SKUs verwenden können. So können Original Design Manufacturers (ODMs) die Board-Support-Pakete (BSPs) von System-on-Chip-Anbietern (SoC) an ihre spezifischen Geräte (ihre Boards) anpassen. Sie können Kernelmodule für boardspezifische Komponenten, boardspezifische Daemons oder eigene Funktionen auf Hardware-Abstraktionsschichten (Hardware Abstraction Layers, HALs) implementieren. Sie können auch SoC-Komponenten ersetzen oder anpassen.
Versionsverwaltung von Boot-Image-Headern
Unter Android 10 wird der Boot-Image-Header auf Version 2 aktualisiert. Diese Version enthält einen Abschnitt zum Speichern des Gerätebaum-Blob-Images (Device Tree Blob, DTB). Mit den VTS-Tests für Android 10 wird überprüft, ob auf allen Geräten, die mit Android 10 auf den Markt kommen, die Boot-Image-Header-Version 2 verwendet wird und ob ein gültiges DTB-Image als Teil der Boot-/Recovery-Images enthalten ist.
Wiederherstellungsimages für Geräte, die keine A/B‑Geräte sind
In Android 9 und höher muss das Wiederherstellungsimage eines Geräts Informationen aus dem Overlay-Image enthalten. Gerätehersteller können DeviceTree oder ACPI (Advanced Configuration and Power Interface) verwenden, um alle nicht erkennbaren Geräte zu beschreiben. Android 10 und höher unterstützt Architekturen, die ACPI anstelle von Gerätebaum-Blobs für Overlays (Device Tree Blob Overlay, DTBO) verwenden.
Stabile AIDL
Mit Android 10 wird die Unterstützung für die stabile Android Interface Definition Language (AIDL) eingeführt. Damit lässt sich die von AIDL-Schnittstellen bereitgestellte API (Application Programming Interface)/ABI (Application Binary Interface) auf neue Weise nachverfolgen.
Fastboot in den Nutzerbereich verschieben
Mit Android 10 wird die Unterstützung für Partitionen mit variabler Größe eingeführt, indem die Fastboot-Implementierung vom Bootloader in den Nutzerbereich verlagert wird.
Anzeige
HDR-Videowiedergabe
Android 10 unterstützt die Wiedergabe von HDR10, VP9 und HDR10+.
Textklassifizierung
Bei der Textklassifizierung werden Machine-Learning-Techniken verwendet, um Entwicklern bei der Klassifizierung von Text zu helfen. In Android 10 werden zwei Methoden für die TextClassifier API eingeführt: suggestConversationActions
und detectLanguage
.
Die Methode suggestConversationActions
generiert vorgeschlagene Antworten und Aktionen aus einer bestimmten Unterhaltung und die Methode detectLanguage
erkennt die Sprache des Textes.
Unterstützung für das Rendern von Zawgyi-Schriftarten
Zawgyi ist die beliebteste Schriftart in Myanmar. Android 9 und niedriger unterstützten die Darstellung von Zawgyi nicht, da sie nicht Unicode-kompatibel ist. In Android 10 wird dieses Problem durch die Einbindung einer Unicode-Schriftart behoben, mit der sowohl Unicode-Burmesisch als auch Zawgyi gerendert werden können. Für die Unterstützung der Zawgyi-Schriftart auf Geräten, die mit Android 10 auf den Markt kommen, sind keine Implementierungsarbeiten erforderlich. Wenn auf Ihren Geräten eine benutzerdefinierte Implementierung zur Unterstützung von Zawgyi vorhanden ist, haben Sie folgende Möglichkeiten:
- Machen Sie diese Änderungen rückgängig und verwenden Sie die von der Plattform unterstützte Methode.
- Behalten Sie die gängige Zawgyi-Schriftart in Ihrem System bei und verwenden Sie den Gebietsschema-Code
my-qaag
in Ihremfonts.xml
. Weitere Informationen finden Sie in den Unicode-CLDR-Versionshinweisen zu Zawgyi (Qaag).
Einschränkungen beim Ausblenden von App-Symbolen
Unter Android 10 ist es für Apps nicht mehr möglich, ihre App-Symbole auszublenden. Wenn für eine App keine Launcher-Aktivität aktiviert ist, zeigt das System im Launcher eine synthetisierte Aktivität an. Diese synthetisierte Aktivität stellt die Detailseite der App in den Systemeinstellungen dar.
Weitere Informationen zur Logik, die zum Anzeigen von App-Symbolen verwendet wird, einschließlich der Arten von Apps, deren App-Symbole nicht angezeigt werden, finden Sie in der API-Referenz in der Dokumentation zu getActivityList()
.
Einstellungen
Um die Barrierefreiheit zu verbessern, bietet Android 10 nutzerdefinierte Zeitüberschreitungseinstellungen. Die API- und Einstellungsänderungen werden mit Android 10 eingeführt. Wenn Sie die Einstellungen anpassen, achten Sie darauf, dass diese Funktion unterstützt wird. Wenn auf Ihrem Gerät UI-Elemente ein Zeitlimit überschreiten, verwenden Sie dafür die Timeouts API. Weitere Informationen finden Sie in den Richtlinien zur Barrierefreiheit für Android-Entwickler.
Kompatibilität
Android Compatibility Definition Document (CDD)
Das Compatibility Definition Document für Android 10 baut auf früheren Versionen auf und enthält Updates für neue Funktionen und Änderungen an den Anforderungen für zuvor veröffentlichte Funktionen.
Tests
Compatibility Test Suite (CTS)
Das Android CTS hat eine separate Seite mit Versionshinweisen, auf der viele wichtige Änderungen für Android 10 aufgeführt sind.
CTS-Downloads
CTS-Pakete, die Android 10 unterstützen, sind auf der Seite CTS-Downloads verfügbar. Der Quellcode für die enthaltenen Tests kann mit dem Tag android-cts-10_r1
im Open-Source-Baum synchronisiert werden.
CTS-Shim APEX
Mit Android 10 wird ein Paket namens CtsShimApex
eingeführt, das auf einem Gerät vorinstalliert sein muss, um CTS-Tests für die APEX-Verwaltung zu schreiben.
Test-Harnischmodus
Der CTS-Testharness-Modus hilft Entwicklern, Tests für ein Gerät oder eine Geräteflotte zu automatisieren.
Instant Apps-Modus
Ab Android 10 wird CTS im Instant Apps-Modus ausgeführt. Das bedeutet, dass das Test-APK als Instant App installiert und die Tests ausgeführt werden.
Zusätzlich zum CTS-Modus für Instant Apps enthält Android 10 den CTS-Verifier für Instant Apps.
CTS‑Prüfung für Pro Audio
Unter Android 10 wird ein CTS Verifier-Test für die Pro Audio-Compliance eingeführt.
CTS‑Prüfung – MIDI-Tests
In Android 10 wird mit dem CTS Verifier-MIDI-Test die MIDI-Funktionalität mit USB-MIDI-Schnittstellen, Bluetooth-MIDI-Schnittstellen und einem virtuellen MIDI-Gerätepfad getestet.
CTS-Testergebnisse interpretieren
In Android 10 wurde der Mechanismus zum Interpretieren von CTS-Ergebnissen aktualisiert.
Vendor Test Suite (VTS)
VTS-Tests mit Debug-Ramdisk
In Android 10 ändert sich das generische Systemimage (GSI), das zum Ausführen von CTS‑on‑GSI-/VTS-Konformitätstests verwendet wird, vom Typ „userdebug“ zum Typ „user“, da das GSI release-signiert ist. Der Befehl adb root
, mit dem ein Host Root-Berechtigungen für das zu testende Android-Gerät erhält, ist jedoch in einem User-Build nicht verfügbar. Das ist ein Problem, da für VTS adb root
erforderlich ist.
Die Debug-Ramdisk wurde eingeführt, um adb root
zu ermöglichen, wenn das Gerät entsperrt ist. Dadurch wird der Testablauf vereinfacht, da derselbe Nutzer-Build system.img
(entweder GSI oder system.img
des OEM) wiederverwendet wird.
Hardware-Composer-Validierung
Unter Android 10 wird eine neue VTS-Testklasse für die Hardware Composer-Validierung über die readback
-Schnittstelle in IComposerClient.hal
hinzugefügt.
Wenn Anbieter readback
nicht implementieren, werden die Tests automatisch bestanden.
Fehlerbehebung
Gemeinsam genutzte Bibliotheken mit verschiedenen Klassenladern laden
In Android 9 und niedriger haben Apps ihre verknüpften gemeinsam genutzten Java-Bibliotheken in den Klassenlader der App geladen. In Android 10 verwendet das Framework einen anderen Klassenlader als den Klassenlader der App, um Java-Shared Libraries zu laden, die über uses-library
oder uses-static-library
verknüpft sind.
Im Allgemeinen sollten Apps nicht auf die Verwendung eines bestimmten Klassenladers angewiesen sein. Daher sollte diese Änderung das App-Verhalten nicht beeinträchtigen. Wenn eine App jedoch auf die Verwendung eines einzelnen Klassenladers angewiesen ist, funktioniert dieses Verhalten nicht mehr. Außerdem wird die Paket-private Sichtbarkeit von Klassen im selben Paket weiterhin unterstützt, aber nicht in gemeinsam genutzten Bibliotheken.
Gerätehersteller stellen möglicherweise App-Kompatibilitätsprobleme fest, wenn sie ihre Geräte mit Android 10 testen.
Sicherheitsfunktionen
Eine ausführlichere Liste der Verbesserungen in Bezug auf Sicherheit und Datenschutz finden Sie auf der Seite Sicherheits- und Datenschutzverbesserungen in Android 10.
Gesichtserkennung
Mit der Gesichtserkennung können Nutzer ihr Gerät entsperren, indem sie einfach auf die Vorderseite des Geräts schauen. Unter Android 10 wird ein neuer Stack für die Gesichtsauthentifizierung unterstützt, mit dem Kamerabilder sicher verarbeitet werden können. So werden Sicherheit und Datenschutz bei der Gesichtsauthentifizierung auf unterstützter Hardware gewährleistet. Android 10 bietet außerdem eine einfache Möglichkeit für sicherheitskonforme Implementierungen, die App-Integration für Transaktionen wie Onlinebanking oder andere Dienste zu aktivieren.
Erweiterter Zugriff
Trust Agents, der zugrunde liegende Mechanismus, der von tertiären Authentifizierungsmechanismen wie Smart Lock verwendet wird, können die Entsperrung in Android 10 nur verlängern. Trust Agents können gesperrte Geräte nicht mehr entsperren und ein Gerät nur noch maximal vier Stunden lang entsperrt halten.
Verschlüsselung
OEMCrypto
Android 10 verwendet die OEMCrypto API-Version 15.
Testen
BoundsSanitizer
In Android 10 wird BoundsSanitizer (BoundSan) in Bluetooth und Codecs eingesetzt. BoundSan verwendet den Bounds-Sanitizer von UBSan. Diese Maßnahme wird auf Modulebene aktiviert. Sie trägt dazu bei, wichtige Komponenten von Android zu schützen, und sollte nicht deaktiviert werden. BoundSan ist in den folgenden Codecs aktiviert:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
libaac
libxaac
Bereinigung von Ganzzahlüberläufen
In Android 10 wird Integer Overflow Sanitization (IntSan) in Software-Codecs aktiviert. Achten Sie darauf, dass die Wiedergabeleistung für alle Codecs akzeptabel ist, die von der Gerätehardware nicht unterstützt werden. IntSan ist in den folgenden Codecs aktiviert:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
Nur ausführbarer Speicher
Standardmäßig sind ausführbare Codeabschnitte für AArch64-Systembinärdateien als „nur ausführen“ (nicht lesbar) gekennzeichnet, um das Risiko von Just-in-Time-Code-Wiederverwendungsangriffen zu verringern. Code, in dem Daten und Code vermischt werden, und Code, der diese Abschnitte gezielt untersucht (ohne die Speichersegmente zuerst als lesbar neu zuzuordnen), funktioniert nicht mehr. Apps mit einem Ziel-SDK für Android 10 (API-Level 29 oder höher) sind betroffen, wenn die App versucht, Codeabschnitte von Systembibliotheken mit aktiviertem Execute-Only Memory (XOM) im Arbeitsspeicher zu lesen, ohne den Abschnitt zuerst als lesbar zu markieren.
Scudo
Scudo ist ein dynamischer User-Mode-Prozess für die Arbeitsspeicherzuweisung, der widerstandsfähiger gegen Heap-bezogene Sicherheitslücken ist. Sie bietet die Standard-C-Zuweisungs- und ‑Freigabe-Primitive sowie die C++-Primitive.
ShadowCallStack
ShadowCallStack
(SCS) ist ein LLVM-Instrumentierungsmodus, der vor dem Überschreiben von Rücksprungadressen (z. B. durch Stack-Pufferüberläufe) schützt, indem die Rücksprungadresse einer Funktion im Funktionsprolog von Nicht-Leaf-Funktionen in einer separat zugewiesenen ShadowCallStack
-Instanz gespeichert und im Funktions-Epilog aus der ShadowCallStack
-Instanz geladen wird.
Audio
Audio-HAL
Android 10 bietet die folgenden neuen Funktionen für den Audio-HAL.
AudioSource
AudioFormat
AudioChannelMask
Es wurden zusätzliche Anforderungen für die Implementierung von Audio-HAL und ‑Subsystemen hinzugefügt.
Effekte der Vorverarbeitung
Android bietet Vorverarbeitungseffekte wie akustische Echounterdrückung, automatische Verstärkungsregelung und Rauschunterdrückung.
Android 10 enthält neue Anforderungen für die Aufnahme mit VOICE_COMMUNICATION
.
Audio-Richtlinienmanager
In Android 10 wurde der Audio Policy Manager grundlegend überarbeitet, um mehr Flexibilität für komplexe Automotive-Anwendungsfälle zu bieten.
Audio mit hoher Auflösung
Android 10 bietet die folgenden Verbesserungen für Audioinhalte mit hoher Auflösung.
- Unterstützung von Gleitkommazahlen
- Unterstützung von 192 kHz
- Unterstützung von acht Kanälen
- Einbeziehung von Zeitinformationen
Gleichzeitige Aufnahme
Unter Android 10 wurde die Nutzerfreundlichkeit der gleichzeitigen Aufnahme verbessert, bei der mehr als eine aktive Audioaufnahme gleichzeitig stattfindet.
AudioPlaybackCapture
Android 10 enthält eine neue API namens AudioPlaybackCapture
, mit der Apps die von anderen Apps wiedergegebenen Audioinhalte kopieren können. Diese Funktion ähnelt der Bildschirmaufnahme, aber für Audio.
Der primäre Anwendungsfall besteht darin, Streaming-Apps zu ermöglichen, Audio aufzunehmen, das von Spielen wiedergegeben wird.
Die Capture API hat keine Auswirkungen auf die Latenz der App, deren Audio aufgenommen wird.
MIDI
Mit Android 10 ist es einfacher, professionelle Audio-Apps mit MIDI mithilfe der AMidi
NDK API auf die Android-Plattform zu portieren.
Kamera
Eine Zusammenfassung der Änderungen an der Kamera-API, der Kamera-HAL und dem Kameramodul, die in Android 10 eingeführt wurden, finden Sie unter Kamera-Updates in Android 10.
Verbesserungen des Datenschutzes im Kamerasystem
In Android 10 wurden die Datenschutzfunktionen des Kamera-Frameworks verbessert. Um zu vermeiden, dass potenziell vertrauliche statische Kamerainformationen in CameraCharacteristics
ohne Einwilligung des Nutzers offengelegt werden, müssen Apps die Berechtigung CAMERA
einholen, um statische Metadaten mit einem datenschutzsensiblen Tag über die Methode getCameraCharacteristics
abzurufen.
Wenn Sie eine Liste der Schlüssel für Kameraeigenschaften abrufen möchten, für die die Berechtigung CAMERA
erforderlich ist, rufen Sie die Methode getKeysNeedingPermission
auf.
Sitzung – Anfrage zur Neukonfiguration
In Android 10 wurde die Funktion Abfrage zur Neukonfiguration der Sitzung eingeführt, die eine bessere Leistung durch mehr Kontrolle über die interne Logik zur Neukonfiguration von Sitzungsparametern ermöglicht.
Camera HAL3-APIs für die Pufferverwaltung
Mit Android 10 werden optionale Camera HAL3-APIs für die Pufferverwaltung eingeführt, mit denen Sie die Logik für die Pufferverwaltung implementieren können, um in Camera HAL-Implementierungen unterschiedliche Kompromisse zwischen Arbeitsspeicher und Erfassungslatenz zu erzielen.
Dynamischer physischer Kameraschalter in der Kamera HAL
In Android 10 wird das dynamische Metadaten-Tag ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID
eingeführt, das die aktive zugrunde liegende physische Kamera eines logischen Kamerageräts angibt. Weitere Informationen finden Sie unter Unterstützung mehrerer Kameras.
Unterstützung für das Ausblenden physischer Kameras
In Android 10 kann die Kamera-HAL die Anzahl der physischen Kameras reduzieren, die direkt von einer App geöffnet werden können. Weitere Informationen finden Sie unter Unterstützung mehrerer Kameras.
Camera2 VNDK API
In Android 10 können Herstellermodule über zwei neue Standard-HIDL-Schnittstellen, android.frameworks.cameraservice.service@2.0
und android.frameworks.cameraservice.device@2.0
, auf Kamerageräte zugreifen und sie steuern. Um die Verwendung der HIDL-Schnittstellen zu vereinfachen, wird mit Android 10 auch eine vom Anbieter verfügbare Bibliothek eingeführt: libcamera2_vendor
. Diese Bibliothek ähnelt der Camera NDK library, weist aber einige geringfügige Änderungen auf.
Streamkonfigurationen
Mit Android 10 werden Funktionen eingeführt, mit denen Kameraanbieter empfohlene Kamerastreams für Kameraclienten bewerben und eine API zum Abfragen von Streamkombinationen unterstützen können.
Anforderungen an die Kombination von Kamerastreams
Geräte mit Android 10 müssen keine Streamkombinationen mit physischen Unterkamerastreams mehr unterstützen. Geräte mit Android 10 und der Kamera-HAL-Geräteversion 3.5 müssen jedoch isStreamCombinationSupported()
unterstützen, damit Apps abfragen können, ob eine Streamkombination mit physischen Streams unterstützt wird.
Weitere Informationen finden Sie unter Unterstützung mehrerer Kameras.
HEIF-Bildverarbeitung
Android 10 bietet native Kameraunterstützung für HEIF-Bilder (High Efficiency Image File Format), die im Vergleich zu JPEG-Bildern eine bessere Bildqualität und kleinere Dateigrößen bieten. Geräte müssen einen HEIC- oder HEVC-Encoder haben, um HEIF-Bilder zu unterstützen.
Monochrome Kameras
Android 10 bietet zusätzliche Unterstützung für das Y8-Streamformat, statische Metadaten für monochrome und NIR-Farbfilterarrays (Near-Infrared, Nah-Infrarot) sowie DngCreator
-Funktionen für monochrome Kameras.
Konnektivität
Anrufe und Nachrichten
Notrufnummern und Notrufe
Android 10 bietet eine verbesserte Unterstützung für Notrufe. Im Notfall können Geräte mit Unterstützung für IRadio HAL v1.4 einen Notruf über Notrufnummern starten, die aus einer Quelle wie einer SIM-Karte, dem Netzwerksignal oder der Android-Datenbank abgerufen werden. Nummern können nach Kategorien für Rettungsdienste wie Polizei, Feuerwehr und Krankenwagen kategorisiert werden.
APIs für Gruppenanrufe
Die Group Call APIs sind eine Erweiterung der eMBMS-APIs, die in Android 9 hinzugefügt wurden. Die neuen APIs definieren einen Standard für Apps, um an Cell Broadcast-Gruppenanrufen teilzunehmen und dort zu senden, indem sie mit eMBMS-Middleware-Paketen interagieren. Gruppenanrufe erfordern die Unterstützung durch den Chiphersteller, den Middleware-Anbieter und den Mobilfunkanbieter, um ordnungsgemäß zu funktionieren. Die Entwicklerdokumentation finden Sie unter developer.google.com.
Remote-SIM-Funktionen
Mit Android 10 werden Remote-SIM-Funktionen eingeführt, mit denen Messaging-Apps auf einem Android-Hostgerät SMS über Smartphones senden können, die Mechanismen wie Bluetooth verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Methode getSubscriptionType
und zur Konstante SUBSCRIPTION_TYPE_REMOTE_SIM
.
Mehrere eSIMs
In Android 10 unterstützt die Klasse EuiccManager
Geräte mit mehreren eingebetteten SIMs (eSIMs) oder eUICCs.
eSIM-Updates
Für Geräte mit Android 10, die eSIMs unterstützen, muss ein Array mit nicht entfernbarer eUICC-Slot-ID definiert werden. Geräte müssen außerdem die IRadio HAL v1.4 und die IRadioConfig HAL v1.2 unterstützen. Weitere Informationen finden Sie unter eSIM implementieren und HAL-Anforderungen.
5G Non-Standalone (NSA)
Android 10 bietet Unterstützung für 5G NSA. 5G NSA ist eine Lösung für 5G-Netzwerke, bei denen das Netzwerk von einer vorhandenen 4G-Infrastruktur unterstützt wird. Unter Android 10 kann auf Geräten ein 5G-Symbol in der Statusleiste angezeigt werden, wenn eine Verbindung zu einem 5G-Netzwerk besteht.
Vorschlag für Telefonkonto
Mit Android 10 wird der Dienst für Vorschläge für Telefonkonten eingeführt, mit dem Nutzern beim Telefonieren Vorschläge für Telefonkonten angezeigt werden können.
Mobilfunkanbieter
Einstellungen für Mobilfunknetze migrieren
In Android 10 wurde der UI-Code für die Mobilfunknetzwerkeinstellungen neu strukturiert und vom Telefonie-Stack in den Einstellungs-Stack verschoben. Um den migrierten Code zu unterstützen, ändern Sie die folgenden Konfigurationswerte für die Einstellungen für Mobilfunknetze von Android-Ressourcen zu CarrierConfig
-Ressourcen:
config_world_mode
->
CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL
config_support_tdscdma
->
CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL
config_support_tdscdma_roaming_on_networks
->
CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY
config_enabled_lte
->
CarrierConfigManager#KEY_LTE_ENABLED_BOOL
Geräte-IDs
Gleichbleibende Geräte-IDs (IMEI/MEID, IMSI und Build-Seriennummer) sind durch eine Berechtigung mit privilegiertem Zugriff geschützt. Der Zugriff wird auch Apps für Geräte- und Profilinhaber gewährt. Da die IMSI und die SIM-Seriennummer vom Mobilfunkanbieter bereitgestellt werden, wird der Zugriff auf diese Kennungen Paketen mit Mobilfunkanbieterberechtigungen gewährt.
WLAN
Netzwerkauswahl
Android bewertet kontinuierlich die Qualität des verbundenen Netzwerks und die Qualität der verfügbaren Netzwerke. In Android 10 wurden die Algorithmen und Verfahren zum Auswählen und Wechseln zwischen WLANs aktualisiert.
WLAN-Suche zur Entlastung des bevorzugten Netzwerks
In Android 10 wird eine optionale API-Methode namens setDeviceMobilityState()
in WifiManager
eingeführt, die das Intervall zwischen PNO-Scans (Preferred Network Offload) erhöht, wenn das Gerät nicht bewegt wird, um den Stromverbrauch zu senken.
WLAN eines Mobilfunkanbieters
In Android 10 verbinden sich Geräte mit der WLAN-Funktion des Mobilfunkanbieters automatisch mit konfigurierten WLANs des Mobilfunkanbieters (Netzwerke mit Zertifikaten für öffentliche Schlüssel).
Wi‑Fi Easy Connect
In Android 10 können Geräte Wi‑Fi Easy Connect verwenden, das auf dem von der Wi‑Fi Alliance (WFA) eingeführten Device Provisioning Protocol (DPP) basiert, um WLAN-Geräte bereitzustellen und zu konfigurieren.
WLAN-Modus für geringe Latenzzeit
Mit Android 10 wird ein WLAN-Modus mit geringer Latenz eingeführt, der den WLAN-Chip so konfiguriert, dass die Latenz reduziert wird.
DHCP-Server aktualisiert
Im Rahmen der Bildung eines „IP-Server“-Dienstes wird dnsmasq
gelöscht. In Android 10 wird die Funktion des DHCPv4-Servers durch eine separate Komponente ersetzt, die hauptsächlich in Java geschrieben ist, um eine bessere Integration in die Java-Framework-Steuerungsebene zu ermöglichen. Dadurch werden die Sicherheit und die Aktualisierbarkeit des DHCP-Servers verbessert. Weitere Informationen finden Sie unter packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java
.
Sie müssen nichts unternehmen, um diese Änderung zu implementieren: Alle Geräte, die mit Android 10 ausgeliefert werden oder auf Android 10 aktualisiert werden, verwenden standardmäßig DhcpServer
.
Wenn Sie den DHCP-Server angepasst haben, können Sie zum Verhalten von Android 9 zurückkehren, indem Sie die globale Einstellung tether_enable_legacy_dhcp_server=1
festlegen.
Die neue DhcpServer
ist im Modul für Netzwerkkomponenten enthalten. Alle Anpassungen der DHCP-Serverfunktionen sollten daher upstream erfolgen.
WPA3 und Wi‑Fi Enhanced Open
Android 10 bietet Unterstützung für die Sicherheitsstandards Wi-Fi Protected Access 3 (WPA3) und Wi-Fi Enhanced Open, um für mehr Datenschutz und Robustheit gegenüber bekannten Angriffen zu sorgen.
Wi-Fi Direct
Wi‑Fi Direct, auch bekannt als Wi‑Fi P2P, ermöglicht es unterstützten Geräten, sich gegenseitig zu erkennen und direkt über das Wi‑Fi Direct-Protokoll zu verbinden, ohne dass ein Internet- oder Mobilfunknetzwerkzugriff erforderlich ist.
Verbesserungen bei der MAC‑Randomisierung
Ab Android 10 ist die MAC-Adressrandomisierung standardmäßig für den Clientmodus, SoftAP und Wi‑Fi Direct aktiviert. Geräte müssen in der System-UI eine Option zum Aktivieren oder Deaktivieren der MAC-Adressen-Anonymisierung für jede SSID bieten.
Passpoint R2
Android 10 bietet Unterstützung für Passpoint R2-Funktionen. Passpoint R2 implementiert die Online-Registrierung (Online Sign Up, OSU), eine Standardmethode zum Bereitstellen neuer Passpoint-Profile. Android 10 unterstützt die Bereitstellung von EAP-TTLS-Profilen mit SOAP-XML.
NFC
NFC sichern
Mit Sicheres NFC kann die Off-Host-NFC-Kartensimulation nur aktiviert werden, wenn das Display des Geräts entsperrt ist. Durch die Implementierung dieser Funktion haben Nutzer die Möglichkeit, Secure NFC zu aktivieren, um die Sicherheit zu verbessern.
Android Beam eingestellt
In Android 10 ist Android Beam nicht mehr erforderlich und die folgenden Schnittstellen und Methoden wurden eingestellt.
Schnittstellen:
NfcAdapter.CreateBeamUrisCallback
NfcAdapter.CreateNdefMessageCallback
NfcAdapter.OnNdefPushCompleteCallback
Methoden:
createBeamUris
invokeBeam
isNdefPushEnabled
setBeamPushUris
setBeamPushUrisCallback
setNdefPushMessage
setNdefPushMessageCallback
setOnNdefPushCompleteCallback
createNdefMessageCallback
onNdefPushCompleteCallback
Wenn Sie Android Beam verwenden möchten, melden Sie die Feature-Konstante android.sofware.nfc.beam
.
Grafik
ASurfaceControl
In Android 10 wird ASurfaceControl
eingeführt, eine neue Methode für SurfaceFlinger
zum Akzeptieren von Puffern.
Grafikimplementierung
OpenGL ES-Ebenen
Mit Android 10 wird ein Layering-System für GLES eingeführt.
EGL 1.5
In Android 10 wird die EGL 1.5-Schnittstelle implementiert. Informationen zu neuen Funktionen in EGL 1.5 finden Sie unter Khronos Releases EGL 1.5 Specification.
Vulkan
Android 10 unterstützt Vulkan 1.1-Grafik.
Die Plattform unterstützt auch VK_KHR_swapchain
v70, sodass die Vulkan-App ein VkImage
erstellen kann, das durch Swapchain-Speicher gesichert ist.
Aktualisierungsrate für die Leistung
In Android 10 wird eine Aktualisierungsrate für die Leistung unterstützt. Diese Funktion ist standardmäßig deaktiviert.
Interaktion
Automobil
Audio im Auto
In Android 10 wird der Audio-HAL-Kontext AudioAttributes.usage
zugeordnet, um Geräusche zu identifizieren. Android unterstützt eine AUDIO_DEVICE_OUT_BUS
-Instanz pro Kontext. IAudioControl
Die HAL bietet fahrzeugspezifische Erweiterungen der Audio-HAL.
Bedienung über Gesten
Mit Android 10 wird eine Option für die Systemsteuerung per Geste eingeführt. Informationen dazu, wie Sie Apps für die Verwendung dieser Funktion vorbereiten, finden Sie auf der Seite Gestural navigation (Gestensteuerung) auf der Android-Entwicklerwebsite.
Neuronale Netzwerke
Mit Android 10 werden die Neural Networks API und der Neural Networks HAL aktualisiert. Eine Zusammenfassung der Änderungen finden Sie unter Neuronale Netzwerke.
Neue und aktualisierte Dokumentation zu neuronalen Netzwerken für Android 10:
- Übersicht
- AHardwareBuffer
- Burst-Ausführungen und schnelle Nachrichtenwarteschlangen
- Caching der Kompilierung
- Geräteerkennung und ‑zuweisung
- Anbieterextensions
Sensoren
Sensors HAL 2.0
Sensors HAL 2.0 unterstützt die Verwendung von Fast Message Queues (FMQs), um Sensorereignisse aus der HAL in das Android Sensors Framework zu senden.
Sensoren aus
Android 10 enthält eine Entwicklereinstellung zum Deaktivieren aller Sensoren auf einem Gerät. Mit dieser Funktion können Entwickler die Funktionalität ihrer App in Situationen testen, in denen diese Sensoren nicht verfügbar sind. Außerdem haben Nutzer so die Möglichkeit, die Sensoren auf ihrem Gerät zu steuern.
Wenn auf Ihren Geräten die Standardimplementierung von SensorService
, CameraService
und AudioPolicyService
verwendet wird, ist keine zusätzliche Anpassung des Referenzdesigns erforderlich. Wenn du andere Sensoren hast, findest du unter Anpassung weitere Informationen zur Unterstützung dieser Funktion.
Medien
Aktualisierbare Medienkomponenten
Android 10 bietet aktualisierbare Media-Komponenten, mit denen mediabezogene modulare Systemkomponenten über die Google Play Store-Infrastruktur oder über einen vom Partner bereitgestellten OTA-Mechanismus (Over-the-Air) aktualisiert werden können.
Media DRM
Android 10 verbessert die Nützlichkeit und Nutzerfreundlichkeit der MediaDrm
Java- und NDK-APIs.
Dekodierung
Android 10 unterstützt die AV1-Softwaredecodierung.
Berechtigungen
Android 10 bietet zusätzliche Berechtigungskonfigurationen für Transparenz und Datenschutz.
Contacts Provider und Informationen zu Affinitäten
Ab Android 10 wird auf Daten, die sich auf die Kontakthäufigkeit beziehen und von der Contacts Provider-Komponente verwaltet werden, anders zugegriffen als in Android 9 und niedrigeren Versionen. Diese Änderungen in Bezug auf die Datenzugänglichkeit verbessern den Datenschutz für Nutzer auf allen Android 10-Geräten, auf denen die Komponente „Contacts Provider“ verwendet wird. Die zugrunde liegende Datenbank enthält keine Daten zu Kontakt-Affinitäten mehr. Daher können Apps nicht darauf schreiben oder daraus lesen.
Die Änderungen in Android 10 werden sich voraussichtlich stark auf APIs auswirken. Wenn Ihre Apps auf den eingestellten Funktionen basieren, die unter „Contacts Provider and Affinities Information“ (Contacts Provider und Informationen zu Affinitäten) aufgeführt sind, sollten Sie Ihre Apps aktualisieren, um alle Änderungen zu berücksichtigen. Wenn Sie eine abgeleitete Version des Contacts Provider verwenden, müssen Sie diesen außerdem aktualisieren.
Berechtigungen zur Standortermittlung mit drei Status
Mit den dreistufigen Standortberechtigungen in Android 10 haben Nutzer mehr Kontrolle darüber, wie Apps auf die Standorte ihrer Geräte zugreifen.
Erinnerung an den Zugriff auf die Standortermittlung im Hintergrund
Android 10 bietet eine Erinnerung an den Standortzugriff im Hintergrund, die die Transparenz hinsichtlich des Zugriffs von Apps auf den Standort eines Geräts erhöht und Nutzern hilft, die Kontrolle über diesen Zugriff zu behalten.
Opportunistische Standorte einschränken
Wenn eine App den Standort eines Geräts anfordert, kann sie entweder auf die Antwort auf die Anfrage warten oder durch die Verwendung aktiver Standortlistener eine opportunistische Standortaktualisierung erhalten. Ab Android 10 müssen Entwickler angeben, dass sie passive Standortaktualisierungen von der Klasse FusedLocationProviderClient
benötigen, um opportunistische Standortaktualisierungen zu erhalten.
Starten von Apps im Hintergrund
In Android 10 können nicht privilegierte Apps ohne sichtbares Fenster nicht automatisch im Vordergrund gestartet werden. Durch diese Änderung werden Pop-up-Anzeigen und böswillige Übernahmen unterdrückt. Sie müssen nichts weiter tun.
App-Sandboxing
In Android 10 haben Apps eine eingeschränkte Rohansicht des Dateisystems und keinen direkten Zugriff auf Pfade wie /sdcard/DCIM
. Apps behalten jedoch den vollständigen Rohzugriff auf ihre paketspezifischen Pfade bei, die von allen anwendbaren Methoden wie Context.getExternalFilesDir()
zurückgegeben werden.
Apps haben weiterhin uneingeschränkten Rohzugriff auf ihre paketspezifischen Pfade.
Verwenden Sie die Richtlinien für die App-Sandbox zum Teilen von Dateien, um eine angemessene Granularität für die Datenfreigabe zu gewährleisten.
Zugriff von Apps auf die Zwischenablage einschränken
In Android 10 wurde der Zugriff auf die Zwischenablage so geändert, dass der Inhalt der Zwischenablage nicht durch Aufrufen von ClipboardManager.getPrimaryClip
oder durch Hinzufügen eines onPrimaryClipChangedListener
-Listeners für Benachrichtigungen bei Änderungen der Zwischenablage beobachtet werden kann. Dadurch wird der Datenschutz für Nutzer erhöht und verhindert, dass Malvertising-Apps die Zwischenablage ändern.
In Android 10 ist der Lesezugriff nur für die aktuelle App mit Eingabefokus oder für die aktuelle Tastatur zulässig. Der Listener-Aufruf ClipboardManager.onPrimaryClipChanged()
wird jetzt nur noch für Apps ausgelöst, die diese Einschränkungen erfüllen.
ClipboardManager.getPrimaryClip
und ClipboardManager.getPrimaryClipDescription
geben null
zurück, wenn die anfragende App entweder nicht der Standard-IME (Input Method Editor) ist oder keinen Eingabefokus hat.
Laufzeitberechtigungen umfassen die Aktivitätserkennung
Nutzer sehen jetzt ein Dialogfeld zur Aktivitätserkennung, wenn eine App im Hintergrund auf den Gerätestandort zugreift. Laufzeitberechtigungen mit harten Einschränkungen müssen in Android 10 ordnungsgemäß auf die Zulassungsliste gesetzt werden.
Berechtigung MANAGE_DEVICE_ADMINS
In Android 10 wird die Berechtigung MANAGE_DEVICE_ADMINS
von „Signatur oder privilegiert“ zu „Nur Signatur“ geändert. Das bedeutet, dass nur plattformsignierte Apps andere Apps als Geräteadministrator festlegen können.
Verbesserungen bei der Sharing API
Android 10 bietet eine Reihe von neuen Android Platform API-Funktionen für das Teilen. Wenn Sie den Code für das Freigabeblatt in Ihrer Implementierung geändert haben, müssen Sie dafür sorgen, dass Ihre Implementierung diese neuen Funktionen unterstützt. Wenn Sie den Share Sheet-Code in Ihrer Implementierung nicht geändert haben, müssen Sie nichts tun, um diese neuen Funktionen zu unterstützen.
Android Runtime ("ART")
Signierte Konfiguration
Mit der Funktion Signierte Konfiguration können Sie die Konfiguration von Einschränkungen für Nicht-SDK-Schnittstellen in APKs einbetten. Dadurch können bestimmte Nicht-SDK-Schnittstellen von der Blacklist entfernt werden, sodass AndroidX sie sicher verwenden kann. Durch diese Änderung kann AndroidX Unterstützung für neue Funktionen in älteren Android-Versionen hinzufügen.
Leistung
Cgroup-Abstraktionsebene
Android 10 enthält eine cgroup-Abstraktionsschicht und Aufgabenprofile, mit denen Entwickler eine Reihe von Einschränkungen beschreiben können, die auf einen Thread oder Prozess angewendet werden sollen.
Low Memory Killer-Daemon (lmkd)
Android 10 unterstützt einen neuen lmkd
-Modus, der PSI-Monitore (Pressure Stall Information) des Kernels zur Erkennung von Arbeitsspeicherbelastung verwendet.
Leistung
Plattform-Energiesparmodus
In Android 10 kann der Stromsparmodus sowohl auf Geräten mit Always-on-Display als auch auf akkubetriebenen Geräten aktiviert werden.
Energiesparmodus für Routinen
In Android 10 wird eine neue Option für den Energiesparmodus eingeführt: Basierend auf Routine. Mit Routine battery saver kann eine vom OEM ausgewählte App Signale an das System senden, um den Energiesparmodus intelligenter zu planen. Diese Option erfordert eine Konfiguration und ist optional.
HAL für Statistiken zur Stromversorgung
In Android 10 ersetzt IPowerStats.hal
die APIs zum Erfassen von Statistiken zum Stromverbrauch in IPower.hal
.
Die APIs werden zwar weiterhin vom Power-HAL unterstützt, werden aber in Zukunft ausschließlich zum Power-Statistik-HAL migriert.
Das Power Stats HAL enthält neue APIs, um die Erfassung von Daten aus der Strommessung auf dem Gerät für unterstützte Geräte zu ermöglichen. Die vorhandenen APIs zum Erfassen von Leistungsstatistiken wurden ebenfalls aktualisiert, um die Flexibilität zu verbessern. Die APIs für Power Hinting bleiben im Power HAL und ändern sich nicht.
Maßnahmen zur Reduzierung der Wärmeentwicklung
Das Thermal Framework in Android 10 abstrahiert Geräteschnittstellen für den Temperatursensor des thermischen Subsystems, einschließlich CPU, GPU, Akku, Haut und Kühlgerät. Das Framework führt eine Polling-Schnittstelle ein, um den thermischen Status abzufragen und die Drosselung zu initiieren, sowie eine Callback-Schnittstelle, um dem Nutzer eine Nachricht zu senden, wenn ein Grenzwert überschritten wird.
Android 10 bietet die neuen Datentypen über die IThermalService
-Schnittstelle mit diesen drei neuen Methoden:
getCurrentThermalStatus()
gibt den aktuellen thermischen Status des Geräts als Ganzzahl zurück, sofern das Gerät nicht gedrosselt wird.addThermalStatusListener()
fügt einen Listener hinzu.removeThermalStatusListener()
entfernt einen zuvor hinzugefügten Listener.
Apps fügen Listener hinzu und entfernen sie und greifen in der Klasse PowerManager
auf den Temperaturstatus zu. Nur ein vertrauenswürdiger Systemdienst wie eine Android-API oder eine API des Geräteherstellers kann auf Informationen zu zugehörigen kausalen Ereignissen zugreifen. Gerätehersteller oder SoC-Hersteller müssen thermal HAL 2.0
implementieren, um die volle Funktionalität des neuen thermischen Frameworks zu ermöglichen.
Ein Beispiel für die Implementierung der thermischen Eindämmung finden Sie in der Referenzimplementierung.
Updates
APEX-Dateiformat
Android Pony EXpress (APEX) ist ein neues Containerformat, das im Installationsablauf für modulare Systemkomponenten verwendet wird.
Dynamische Partitionen
Mit dynamischen Partitionen wird ein Partitionierungssystem für den Nutzerbereich in Android eingeführt, mit dem Partitionen während OTA-Updates erstellt, in der Größe angepasst oder gelöscht werden können. Gerätehersteller müssen sich keine Gedanken über die einzelnen Größen von Partitionen wie system
, vendor
und product
machen. Stattdessen wird eine große super
-Partition zugewiesen, in der die Größe von Unterpartitionen dynamisch angepasst werden kann.
Dynamische Systemupdates
Mit dynamischen Systemupdates (Dynamic System Updates, DSU) können Sie ein Android-System-Image erstellen, das Nutzer aus dem Internet herunterladen und ausprobieren können, ohne das aktuelle System-Image zu beschädigen.
Sichern und Wiederherstellen für mehrere Nutzer
Android 10 unterstützt die Sicherungs- und Wiederherstellungsfunktion für alle Nutzer auf einem Gerät. Bisher war „Sichern und Wiederherstellen“ nur für den Systemnutzer verfügbar. Die Sicherung und Wiederherstellung für Nutzer, die keine Systemnutzer sind, ist standardmäßig deaktiviert, da sie nur teilweise Einstellungen, Hintergrundbilder und Systemkomponenten abdeckt.
Overlayfs
Nutzer, die mit userdebug
- oder eng
-Builds arbeiten, erwarten, dass sie die Systempartition effizient als Lese-/Schreibzugriff neu bereitstellen und dann beliebig viele Dateien hinzufügen oder ändern können, ohne das System-Image neu flashen zu müssen. Sie können Overlayfs
verwenden, um automatisch einen Sicherungsspeicher für ein beschreibbares Dateisystem als obere Referenz einzurichten und über dem unteren Speicher bereitzustellen. Diese Aktionen erfolgen in den Anfragen adb disable-verity
und adb remount
. Weitere Informationen finden Sie in der Overlayfs-README-Datei in AOSP.
Unterstützung der gemeinsam genutzten Mediathek im Wiederherstellungsmodus
In Android 10 sind freigegebene Bibliotheken in der Wiederherstellungspartition verfügbar. Daher müssen nicht alle ausführbaren Dateien im Wiederherstellungsmodus statisch sein. Die gemeinsam genutzten Bibliotheken befinden sich im Verzeichnis /system/lib
(oder /system/lib64
für 64‑Bit-Geräte) in der Partition.
Wenn Sie der Wiederherstellungspartition eine neue gemeinsam genutzte Bibliothek hinzufügen möchten, fügen Sie recovery_available: true
oder recovery: true
zu Android.bp
der gemeinsam genutzten Bibliothek hinzu. Bei der ersten Option wird die Bibliothek sowohl auf der System- als auch auf der Wiederherstellungspartition installiert, bei der zweiten Option nur auf der Wiederherstellungspartition.
Die Unterstützung gemeinsam genutzter Bibliotheken kann nicht mit dem Make-basierten Build-System von Android erstellt werden.
Wenn Sie eine vorhandene statische ausführbare Datei für den Wiederherstellungsmodus in eine dynamische Datei umwandeln möchten, entfernen Sie LOCAL_FORCE_STATIC_EXECUTABLE := true
in Android.mk
oder static_executable: true
(in Android.bp
).
Nutzerdaten-Prüfpunkt (UDC)
Mit Android 10 wird die Funktion „Nutzerdaten-Prüfpunkt“ (User Data Checkpoint, UDC) eingeführt, mit der Android bei einem fehlgeschlagenen Over-the-Air-Update (OTA) auf den vorherigen Zustand zurückgesetzt werden kann.