Auf dieser Seite werden die wichtigsten Funktionen in Android 10 zusammengefasst und Links zu weiteren Informationen bereitgestellt. Die Zusammenfassungen der Funktionen sind nach dem Speicherort der Dokumentation auf dieser Website organisiert.
Build
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 Runtime
- Conscrypt
- DNS-Resolver
- DocumentsUI
- ExtServices
- Medien
- ModuleMetadata
- Netzwerk
- PermissionController
- Zeitzonendaten
Hardwareabstraktionsschicht (HAL)
Kernel
ABI
Android 10 unterstützt neue ABI-Monitoring-Tools, 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. Die Prüfung kann veraltete vorkompilierte Binärdateien zur Build-Zeit erkennen, sodass Entwickler von gemeinsam genutzten Bibliotheken wissen, welche vorkompilierten Binärdateien durch ihre Änderung möglicherweise beschädigt werden und welche vorkompilierten Binärdateien 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-Kernels, 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. Es können aber auch andere lange Übertragungen verarbeitet werden.
SystemSuspend-Dienst
In Android 10 wird der Thread in libsuspend, der für das Initiieren des System-Suspend zuständig ist, durch den SystemSuspend-HIDL-Dienst ersetzt. Diese Implementierung bietet die gleiche Funktionalität wie frühere Versionen, nutzt aber 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, die Config File Schema API.
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. So können Sie ein einzelnes Anbieterimage für mehrere Hardware-SKUs verwenden. So können Original Design Manufacturers (ODMs) die Board Support Packages (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 (HALs) implementieren. Sie können auch SoC-Komponenten ersetzen oder anpassen.
Versionsverwaltung für Boot-Image-Header
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 geprü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 (DeviceTree 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.
Display
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 das Rendern von Zawgyi nicht, da die Schriftart 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-qaagin 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 Launcher-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 benutzerdefinierbare Zeitouteinstellungen. 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-Unterlegscheibe 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 zur Interpretation 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 Build-Typ „userdebug“ zum Build-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.
Debugging
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 Klassenladeprogramms angewiesen sein. Daher sollte diese Änderung das Verhalten von Apps nicht beeinträchtigen. Wenn eine App jedoch auf die Verwendung eines einzelnen Klassenladers angewiesen ist, funktioniert das 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. Android 10 bietet Unterstützung für einen neuen Stack für die Gesichtserkennung, mit dem Kamerabilder sicher verarbeitet werden können. So werden Sicherheit und Datenschutz bei der Gesichtserkennung 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.
Test
BoundsSanitizer
In Android 10 wird BoundsSanitizer (BoundSan) in Bluetooth und Codecs eingesetzt. BoundSan verwendet den Bounds-Sanitizer von UBSan. Diese Maßnahme ist auf Modulebene aktiviert. Sie trägt zum Schutz wichtiger Android-Komponenten bei und sollte nicht deaktiviert werden. BoundSan ist in den folgenden Codecs aktiviert:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisideclibaaclibxaac
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:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisidec
Nur ausführbarer Speicher
Standardmäßig sind ausführbare Codeabschnitte für AArch64-Systembinärdateien als „nur ausführen“ (nicht lesbar) gekennzeichnet, um das System vor Angriffen durch die Wiederverwendung von Just-in-Time-Code zu schützen. Code, in dem Daten und Code gemischt werden, und Code, der diese Abschnitte gezielt untersucht (ohne die Speichersegmente zuerst als lesbar neu zuzuordnen), funktioniert nicht mehr. Apps mit einem Ziel-SDK von Android 10 (API-Level 29 oder höher) sind betroffen, wenn die App versucht, Codeabschnitte von XOM-fähigen (Execute-Only Memory) Systembibliotheken im Arbeitsspeicher zu lesen, ohne den Abschnitt zuerst als lesbar zu markieren.
Scudo
Scudo ist ein dynamischer Arbeitsspeicher-Allocator im Nutzermodus, der widerstandsfähiger gegen Heap-bezogene Sicherheitslücken ist. Sie stellt die Standard-C-Primitive für die Zuweisung und Freigabe sowie die C++-Primitive bereit.
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.
AudioSourceAudioFormatAudioChannelMask
Es wurden zusätzliche Anforderungen für die Implementierung von Audio-HAL und ‑Subsystemen hinzugefügt.
Vorverarbeitungseffekte
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 Erfassung
Android 10 verbessert die Nutzerfreundlichkeit der gleichzeitigen Aufnahme, bei der mehr als eine aktive Audioaufnahme gleichzeitig stattfinden muss.
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, ist aber für Audioinhalte.
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 für 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.
Anfrage zur Neukonfiguration der Sitzung
In Android 10 wurde die Funktion Abfrage zur Neukonfiguration der Sitzung eingeführt. Sie ermöglicht eine bessere Leistung durch mehr Kontrolle über die interne Logik zur Neukonfiguration von Sitzungsparametern.
Camera HAL3-APIs für die Pufferverwaltung
In 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 Erfassungsverzögerung zu erzielen.
Dynamischer physischer Kameraschalter in der Kamera HAL
Mit 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 in 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
Unter Android 10 werden Funktionen hinzugefügt, 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 Größ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 Monochrom- und NIR-Farbfilterarrays (Near-Infrared, Nah-Infrarot) sowie DngCreator-Funktionen für Monochromkameras.
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 des Rettungsdienstes 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 diese zu übertragen, 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 mit Mechanismen wie Bluetooth senden können. 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ätekennungen
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 Mobilfunkanbieter-WLAN-Funktion automatisch mit konfigurierten Mobilfunkanbieter-WLANs (Netzwerken 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 sich besser in die Java-Framework-Steuerungsebene zu integrieren. 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: Auf allen Geräten, die mit Android 10 ausgeliefert werden oder auf Android 10 aktualisiert werden, wird DhcpServer standardmäßig verwendet.
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
Unter Android 10 werden die Sicherheitsstandards Wi-Fi Protected Access 3 (WPA3) und Wi-Fi Enhanced Open unterstützt, um den Datenschutz zu verbessern und die Robustheit gegenüber bekannten Angriffen zu erhöhen.
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 unterstützt 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.CreateBeamUrisCallbackNfcAdapter.CreateNdefMessageCallbackNfcAdapter.OnNdefPushCompleteCallback
Methoden:
createBeamUrisinvokeBeamisNdefPushEnabledsetBeamPushUrissetBeamPushUrisCallbacksetNdefPushMessagesetNdefPushMessageCallbacksetOnNdefPushCompleteCallbackcreateNdefMessageCallbackonNdefPushCompleteCallback
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 unterstützt wird.
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 über Gesten 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
- Vendor Extensions
Sensoren
Sensoren HAL 2.0
Sensors HAL 2.0 unterstützt die Verwendung von Fast Message Queues (FMQs), um Sensorereignisse vom 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 Over-the-Air-Mechanismus (OTA) aktualisiert werden können.
Media DRM
Android 10 verbessert die Nützlichkeit und Benutzerfreundlichkeit 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 werden Daten, die sich auf die Kontakthäufigkeit beziehen und von der Contacts Provider-Komponente verwaltet werden, anders als in Android 9 und niedriger aufgerufen. 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 Kontakteanbieters verwenden, müssen Sie diesen 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 Standortupdates von der Klasse FusedLocationProviderClient benötigen, um opportunistische Standortupdates zu erhalten.
Starten von Hintergrund-Apps
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 schädliche Ü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 Rohdaten-Zugriff auf ihre paketspezifischen Pfade.
Verwenden Sie die Richtlinien für die App-Sandbox zum Freigeben 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 zur Benachrichtigung bei Änderungen der Zwischenablage beobachtet werden kann. Dadurch wird der Datenschutz für Nutzer erhöht und verhindert, dass Malvertising-Apps die Zwischenablage ändern.
Unter 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.
MANAGE_DEVICE_ADMINS-Berechtigung
In Android 10 wird die Berechtigung MANAGE_DEVICE_ADMINS von „Signatur oder privilegiert“ in „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 aus der Blacklist entfernt werden, sodass AndroidX sie sicher verwenden kann. Durch diese Änderung kann AndroidX Unterstützung für neue Funktionen auf ä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.
Daemon zum Schließen bei Arbeitsspeichermangel (Low Memory Killer Daemon, lmkd)
Android 10 unterstützt einen neuen lmkd-Modus, in dem PSI-Monitore (Kernel Pressure Stall Information) zur Erkennung von Arbeitsspeicherbelastung verwendet werden.
Stromversorgung
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 der Routine-Akkuschonung kann eine vom OEM ausgewählte App Signale an das System senden, um die Akkuplanung intelligenter zu gestalten. Diese Option erfordert eine Konfiguration und ist optional.
HAL für Leistungsstatistiken
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-Hints bleiben in der Power-HAL und ändern sich nicht.
Wärmeableitung
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, es sei denn, das Gerät wird gedrosselt.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 für Einstellungen, Hintergrundbilder und Systemkomponenten verfügbar ist.
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 zu mounten. 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) auf 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.