Diese Seite fasst die wichtigsten Funktionen der Android 10-Version zusammen und bietet Links zu zusätzlichen Informationen. Diese Funktionszusammenfassungen sind nach dem Dokumentationsort der Funktion auf dieser Website geordnet.
Bauen
java_sdk_library
Android 10 führt java_sdk_library
ein, 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 nutzen, um die Abwärtskompatibilität ihrer APIs aufrechtzuerhalten.
Die Architektur
Modulare Systemkomponenten
Android 10 modularisiert einige Android-Systemkomponenten und ermöglicht deren Aktualisierung außerhalb des normalen Android-Release-Zyklus. Einige Module umfassen:
- Android-Runtime
- Verschlüsseln
- DNS-Resolver
- DocumentsUI
- ExtServices
- Medien
- Modulmetadaten
- Vernetzung
- PermissionController
- Zeitzonendaten
Hardware-Abstraktionsschicht (HAL)
Android 10 bietet Unterstützung für das automatische Herunterfahren von HALs, wenn sie keine Clients haben.
Kernel
ABI
Android 10 bietet Unterstützung für neue ABI-Überwachungsdienstprogramme, die beim Vergleichen, Verfolgen und Entschärfen von Kernel-ABI-Änderungen, die sich auf die Kompatibilität mit Kernelmodulen auswirken, helfen.
Android 10 führt außerdem einen symbolbasierten ABI-Nutzungsprüfer ein. Der Prüfer kann veraltete vorgefertigte Binärdateien zum Zeitpunkt der Erstellung erkennen, sodass Entwickler von gemeinsam genutzten Bibliotheken wissen können, welche vorgefertigten Binärdateien durch ihre Änderung beschädigt werden könnten und welche vorgefertigten Binärdateien neu erstellt werden müssen.
Android Live-Lock-Daemon
Android 10 enthält den Android Live-Lock Daemon (llkd) , der Kernel-Deadlocks abfangen und entschärfen soll.
vDSO32 auf ARM64
Android 10 unterstützt die Verwendung von vDSO32 auf 64-Bit-Kerneln , was zu einer Verlängerung der Akkulaufzeit um 0,4 Prozent und anderen Leistungsverbesserungen führt.
fstab-Einträge für früh gemountete Partitionen
Android 10 erfordert, dass Geräte fstab
Einträge für früh gemountete Partitionen mithilfe einer fstab
Datei in der Ramdisk der ersten Stufe angeben.
HIDL
BroadcastQueue auslagern
Android 10 enthält eine neue Offload BroadcastQueue
für die vorhandenen Hintergrund- und Vordergrundwarteschlangen . Die Offload-Warteschlange hat die gleiche Priorität und das gleiche Timeout-Verhalten wie die Hintergrundwarteschlange. Um ein Blockieren der Hintergrundwarteschlange zu verhindern, in der interessantere oder für den Benutzer sichtbare Übertragungen stattfinden können, verarbeitet die Offload-Warteschlange die BOOT_COMPLETED
-Übertragung, die von vielen Apps abgehört wird und deren Abschluss lange dauern kann. Die Offload-Warteschlange verarbeitet derzeit nur den BOOT_COMPLETED
Broadcast, kann aber möglicherweise auch andere lange Broadcasts verarbeiten.
SystemSuspend-Dienst
Android 10 ersetzt den Thread in libsuspend
der für die Initiierung der Systemunterbrechung verantwortlich ist, durch den SystemSuspend HIDL-Dienst . Diese Implementierung bietet die gleiche Funktionalität wie frühere Versionen und nutzt gleichzeitig die Vorteile der Android HIDL-Infrastruktur.
safe_union in HIDL
Android 10 führt in HIDL safe_union
ein, einen explizit markierten Union-Typ.
Aufbau
ConfigStore HAL
Android 10 veraltet die ConfigStore-HAL aufgrund des hohen Speicherverbrauchs und der schwierigen Nutzung und ersetzt die HAL durch Systemeigenschaften .
Konfigurationsdateischema-API
Die Android-Plattform enthält eine große Anzahl von XML-Dateien zum Speichern von Konfigurationsdaten. Viele der XML-Dateien befinden sich in der vendor
, werden jedoch in der 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 auf abwärtskompatible Weise weiterentwickeln. Vor Android 10 bot die Plattform keine Mechanismen, um die Angabe und Verwendung des XML-Schemas zu erfordern oder inkompatible Änderungen im Schema zu verhindern. Android 10 bietet diesen Mechanismus namens Config File Schema API .
Systemeigenschaften als APIs
Systemeigenschaften, auf die über Partitionen hinweg zugegriffen wird, werden in sysprop
Beschreibungsdateien schematisiert, und APIs für den Zugriff auf Eigenschaften werden als konkrete Funktionen für C++ und Klassen für Java generiert.
Anbieterschnittstellenobjekt (VINTF).
VINTF
Zu den Änderungen an VINTF in Android 10 gehören:
- AVB-Versions-Tags werden abgelehnt
- Hinzufügen von Kernel-Informationen in OTA-Paketen
- ODM wird offiziell erstellt
- Hinzufügen einer Produktkompatibilitätsmatrix
- Verknüpfen eines Manifesteintrags mit einem HAL-Modul im Build-System
Bootloader
Ramdisk
In Android 10 ist das Root-Dateisystem nicht mehr in ramdisk.img
enthalten und wird stattdessen in system.img
zusammengeführt.
Erstellen Sie ODM-Partitionen
Android 10 bietet Unterstützung für die Erstellung odm
Partitionen mithilfe des Android-Build-Systems. Sie können eine separate /odm
Partition für Anpassungen verwenden, wodurch Sie ein einzelnes Anbieter-Image für mehrere Hardware-SKUs verwenden können. Dadurch können Original-Design-Hersteller (ODMs) System-on-Chip (SoC)-Anbieter-Board-Support-Pakete (BSPs) an ihre spezifischen Geräte (ihre Boards) anpassen. Sie können Kernelmodule für platinenspezifische Komponenten, platinenspezifische Daemons oder ihre eigenen Funktionen auf Hardware-Abstraktionsschichten (HALs) implementieren. Sie können auch SoC-Komponenten ersetzen oder anpassen.
Versionierung des Boot-Image-Headers
Android 10 aktualisiert den Boot-Image-Header auf Version 2, die einen Abschnitt zum Speichern des Device Tree Blob (DTB)-Image enthält. Android 10 VTS-Tests stellen sicher, dass alle Geräte, die mit Android 10 gestartet werden, den Boot-Image-Header Version 2 verwenden und ein gültiges DTB-Image als Teil der Boot-/Wiederherstellungs-Images enthalten.
Wiederherstellungsimages für Nicht-A/B-Geräte
In Android 9 und höher muss das Wiederherstellungsimage eines Geräts Informationen aus dem Overlay-Image enthalten . Gerätehersteller können DeviceTree oder Advanced Configuration and Power Interface (ACPI) verwenden, um alle nicht erkennbaren Geräte zu beschreiben. Android 10 und höher bietet Unterstützung für Architekturen, die ACPI anstelle von DeviceTree Blob for Overlay (DTBO) verwenden.
Stabiles AIDL
Android 10 bietet Unterstützung für die stabile Android Interface Definition Language (AIDL) , eine neue Möglichkeit, den Überblick über die von AIDL-Schnittstellen bereitgestellte Anwendungsprogrammschnittstelle (API)/Anwendungsbinärschnittstelle (ABI) zu behalten.
Verschieben Sie Fastboot in den Benutzerbereich
Android 10 bietet Unterstützung für veränderbare Partitionen, indem die Fastboot-Implementierung vom Bootloader in den Benutzerbereich verlagert wird.
Anzeige
HDR-Videowiedergabe
Android 10 unterstützt die Wiedergabe von HDR10, VP9 und HDR10+ .
Textklassifizierung
Die Textklassifizierung nutzt Techniken des maschinellen Lernens, um Entwicklern bei der Klassifizierung von Text zu helfen. Android 10 führt zwei Methoden in die TextClassifier-API ein: suggestConversationActions
und detectLanguage
. Die Methode suggestConversationActions
generiert vorgeschlagene Antworten und Aktionen aus einer bestimmten Konversation und die Methode detectLanguage
erkennt die Sprache des Textes.
Unterstützung für die Wiedergabe von Zawgyi-Schriftarten
Zawgyi ist die beliebteste Schriftart in Myanmar. Android 9 und niedriger unterstützten das Rendern von Zawgyi nicht, da es nicht Unicode-kompatibel ist . Android 10 behebt dieses Problem, indem es eine Unicode-Schriftart enthält, die sowohl Unicode-Burmesisch als auch Zawgyi zusammen darstellen kann. Für die Unterstützung der Zawgyi-Schriftartwiedergabe auf Geräten, die mit Android 10 starten, sind keine Implementierungsarbeiten erforderlich. Wenn Ihre Geräte über eine benutzerdefinierte Implementierung zur Unterstützung von Zawgyi verfügen, können Sie:
- 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 Gebietsschemacode
my-qaag
in Ihrerfonts.xml
. Weitere Informationen finden Sie in den Versionshinweisen zu Unicode CLDR zu Zawgyi (Qaag) .
Einschränkungen beim Ausblenden von App-Symbolen
Android 10 schränkt die Möglichkeit für Apps ein, ihre Startsymbole auszublenden. Wenn für eine App keine Launcher-Aktivität aktiviert ist, zeigt das System eine synthetisierte Aktivität im Launcher an; Diese synthetisierte Aktivität stellt die Detailseite der App in den Systemeinstellungen dar.
Weitere Informationen zur Logik zum Anzeigen von App-Symbolen, einschließlich der Arten von Apps, deren App-Symbole nicht angezeigt werden, finden Sie in der Dokumentation zu getActivityList()
in der API-Referenz.
Einstellungen
Um die Barrierefreiheit zu verbessern, enthält Android 10 vom Benutzer anpassbare Timeout-Einstellungen. Die API- und Einstellungsänderungen kommen mit Android 10. Wenn Sie Ihre Einstellungen anpassen, stellen Sie sicher, dass diese Funktion unterstützt wird. Wenn auf Ihrem Gerät UI-Elemente vorhanden sind, bei denen eine Zeitüberschreitung auftritt, verwenden Sie für diese die Zeitüberschreitungs-API . Weitere Informationen finden Sie in den Barrierefreiheitsrichtlinien für Android-Entwickler .
Kompatibilität
Android-Kompatibilitätsdefinitionsdokument (CDD)
Das Android 10-Kompatibilitätsdefinitionsdokument basiert auf früheren Versionen und enthält Aktualisierungen für neue Funktionen und Änderungen an den Anforderungen für zuvor veröffentlichte Funktionen.
Tests
Kompatibilitätstest-Suite (CTS)
Android CTS verfügt über 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 CTS-Downloadseite 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 werden muss, um CTS-Tests für die APEX-Verwaltung zu schreiben.
Testen Sie den Kabelbaummodus
Der CTS-Test-Harness-Modus hilft Entwicklern, Tests für ein Gerät oder eine Geräteflotte zu automatisieren.
Instant Apps-Modus
Ab Android 10 läuft CTS im Instant Apps-Modus , was bedeutet, dass das Test-APK als Instant App installiert und die Tests ausgeführt werden.
Neben einem CTS-Modus für Instant Apps enthält Android 10 CTS Verifier für Instant Apps
CTS Verifier Pro-Audiotest
Android 10 fügt einen CTS-Verifier-Test zur Pro-Audio-Konformität hinzu.
CTS Verifier MIDI-Tests
In Android 10 testet der CTS Verifier MIDI-Test die MIDI-Funktionalität mit USB-MIDI-Schnittstellen, Bluetooth-MIDI-Schnittstellen und einem virtuellen MIDI-Gerätepfad.
Interpretation des CTS-Tests
Android 10 aktualisiert den Mechanismus zur Interpretation von CTS-Ergebnissen .
Vendor Test Suite (VTS)
VTS-Test mit Debug-Ramdisk
In Android 10 ändert sich das generische Systemabbild (GSI), das zum Ausführen von CTS-on-GSI/VTS-Konformitätstests verwendet wird, von „userdebug“ in „user build type“, da GSI eine Release-Signatur aufweist. Allerdings ist der Befehl adb root
, der einem Host Root-Berechtigungen für das zu testende Android-Gerät erteilt, in einem Benutzer-Build nicht verfügbar. Dies ist ein Problem, da für die Ausführung von VTS adb root
erforderlich ist.
Die Debug-Ramdisk wird eingeführt, um adb root
zu ermöglichen, wenn das Gerät entsperrt ist. Dies vereinfacht den Testablauf durch die Wiederverwendung desselben Benutzer-Builds system.img
(entweder GSI oder system.img
des OEM).
Hardware Composer-Validierung
Android 10 fügt eine neue VTS-Testklasse für die Hardware Composer-Validierung über die readback
Schnittstelle in IComposerClient.hal
hinzu. Wenn Anbieter readback
nicht implementieren, werden die Tests automatisch bestanden.
Debuggen
Laden Sie gemeinsam genutzte Bibliotheken mit verschiedenen Klassenladern
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 der Klassenlader der App, um gemeinsam genutzte Java-Bibliotheken 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, ist dieses Verhalten fehlerhaft. Darüber hinaus wird die paketprivate Sichtbarkeit von Klassen im selben Paket weiterhin unterstützt, in gemeinsam genutzten Bibliotheken jedoch nicht.
Gerätehersteller können Probleme mit der App-Kompatibilität feststellen, wenn sie ihre Geräte mit Android 10 testen.
Sicherheitsfunktionen
Eine vollständigere Liste der Verbesserungen, die sich nur auf Sicherheit und Datenschutz beziehen, finden Sie auf der Seite „Sicherheits- und Datenschutzverbesserungen“ für Android 10 .
Gesichtsauthentifizierung
Mit der Gesichtsauthentifizierung können Benutzer ihr Gerät entsperren, indem sie einfach auf die Vorderseite des Geräts schauen. Android 10 bietet Unterstützung für einen neuen Gesichtsauthentifizierungsstapel, der Kamerabilder sicher verarbeiten kann und so 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, um die App-Integration für Transaktionen wie Online-Banking oder andere Dienste zu ermöglichen.
Erweiterter Zugriff
Trust Agents, der zugrunde liegende Mechanismus, der tertiären Authentifizierungsmechanismen wie Smart Lock verwendet wird, können die Entsperrung in Android 10 nur verlängern. Trust Agents können ein gesperrtes Gerät nicht mehr entsperren und können ein Gerät nur maximal vier Stunden lang entsperrt halten.
Verschlüsselung
OEMCrypto
Android 10 verwendet OEMCrypto API Version 15.
Testen
BoundsDesinfektionsmittel
Android 10 stellt BoundsSanitizer (BoundSan) in Bluetooth und Codecs bereit. BoundSan verwendet den Grenzdesinfektionsmittel von UBSan. Diese Schadensbegrenzung wird auf Modulebene aktiviert. Es trägt dazu bei, wichtige Android-Komponenten 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
Android 10 ermöglicht Integer Overflow Sanitization (IntSan) in Software-Codecs. Stellen Sie sicher, dass die Wiedergabeleistung für alle Codecs akzeptabel ist, die von der Hardware des Geräts 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ührbar“ (nicht lesbar) markiert, um eine Absicherung gegen Just-in-Time-Angriffe zur Wiederverwendung von Code zu gewährleisten. Code, der Daten und Code miteinander vermischt, und Code, der diese Abschnitte gezielt überprüft (ohne die Speichersegmente zunächst als lesbar 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 Systembibliotheken (Execute-Only Memory) im Speicher zu lesen, ohne den Abschnitt zuvor als lesbar zu markieren.
Scudo
Scudo ist ein dynamischer Speicherzuweiser im Benutzermodus, der widerstandsfähiger gegen Heap-bezogene Schwachstellen ist. Es stellt die standardmäßigen C-Zuweisungs- und Freigabeprimitive sowie die C++-Primitive bereit.
ShadowCallStack
ShadowCallStack
(SCS) ist ein LLVM-Instrumentierungsmodus , der vor Überschreibungen von Rücksprungadressen (wie Stapelpufferüberläufen) schützt, indem er die Rücksprungadresse einer Funktion in einer separat zugewiesenen ShadowCallStack
Instanz im Funktionsprolog von Nichtleaf-Funktionen speichert und die Rücksprungadresse von der ShadowCallStack
Instanz in lädt der Funktionsepilog.
Audio
Audio-HAL
Android 10 enthält die folgenden neuen Funktionen für Audio-HAL .
-
AudioSource
-
AudioFormat
-
AudioChannelMask
Für die Audio-HAL- und Subsystem-Implementierung werden zusätzliche Anforderungen 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
.
Audiorichtlinien-Manager
Android 10 beinhaltet eine erhebliche Umgestaltung des Audio-Richtlinien-Managers , um mehr Flexibilität bei der Unterstützung komplexer Anwendungsfälle im Automobilbereich zu bieten.
Hochauflösendes Audio
Android 10 enthält die folgenden Verbesserungen für hochauflösendes Audio .
- Float-Unterstützung
- 192-kHz-Frequenzunterstützung
- Acht-Kanal-Unterstützung
- Einbeziehung von Timing-Informationen
Gleichzeitige Erfassung
Android 10 verbessert das Benutzererlebnis bei gleichzeitiger Aufnahme , bei der mehr als eine aktive Audioaufnahme gleichzeitig erfolgen muss.
AudioPlaybackCapture
Android 10 enthält eine neue API namens AudioPlaybackCapture
, die Apps die Möglichkeit gibt, die von anderen Apps abgespielten Audiodaten zu kopieren. Diese Funktion ähnelt der Bildschirmaufnahme, jedoch für Audio. Der Hauptanwendungsfall besteht darin, Streaming-Apps die Aufnahme des von Spielen abgespielten Audios zu ermöglichen.
Die Aufnahme-API hat keinen Einfluss auf die Latenz der App, deren Audio aufgenommen wird.
MIDI
Android 10 erleichtert die Portierung professioneller Audio-Apps mit MIDI auf die Android-Plattform mithilfe der AMidi
NDK-API .
Kamera
Eine Zusammenfassung der in Android 10 eingeführten Änderungen an der Kamera-API, dem Kamera-HAL und dem Kameramodul finden Sie unter Kamera-Updates für Android 10 .
Verbesserungen des Datenschutzes des Kamera-Frameworks
Android 10 führt Datenschutzverbesserungen im Kamera-Framework ein. Um zu vermeiden, dass potenziell vertrauliche statische Kamerainformationen in CameraCharacteristics
ohne Zustimmung des Benutzers offengelegt werden, müssen Apps die CAMERA
Berechtigung zum Abrufen statischer Metadaten mit einem datenschutzrelevanten Tag mithilfe der Methode getCameraCharacteristics
erhalten.
Um eine Liste der Kameramerkmalsschlüssel zu erhalten, die die CAMERA
Berechtigung erfordern, rufen Sie die Methode getKeysNeedingPermission
auf.
Abfrage zur Sitzungsneukonfiguration
Android 10 fügt eine Abfragefunktion zur Sitzungsneukonfiguration hinzu, die eine verbesserte Leistung durch mehr Kontrolle über die interne Sitzungsparameter-Neukonfigurationslogik ermöglicht.
Kamera-HAL3-Pufferverwaltungs-APIs
Android 10 führt optionale Kamera-HAL3-Pufferverwaltungs-APIs ein, die es Ihnen ermöglichen, Pufferverwaltungslogik zu implementieren, um unterschiedliche Speicher- und Erfassungslatenz-Kompromisse in Kamera-HAL-Implementierungen zu erreichen.
Kamera HAL dynamischer physischer Kameraschalter
Android 10 führt ein dynamisches Metadaten-Tag ein, ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID
, das die aktive zugrunde liegende physische Kamera eines logischen Kamerageräts angibt. Weitere Informationen finden Sie unter Multi-Kamera-Unterstützung .
Unterstützung für das Ausblenden physischer Kameras
In Android 10 kann der Kamera-HAL die Anzahl der physischen Kameras reduzieren, die direkt von einer App geöffnet werden können. Weitere Einzelheiten finden Sie unter Multi-Kamera-Unterstützung .
Camera2 VNDK-API
In Android 10 können Anbietermodule über zwei neue Standard-HIDL-Schnittstellen, android.frameworks.cameraservice.service@2.0
und android.frameworks.cameraservice.device@2.0
, auf Kamerageräte zugreifen und diese steuern. Um die Nutzung der HIDL-Schnittstellen komfortabler zu gestalten, führt Android 10 außerdem eine vom Hersteller verfügbare Bibliothek ein, libcamera2_vendor
. Diese Bibliothek ähnelt mit einigen geringfügigen Änderungen der Camera NDK-Bibliothek .
Stream-Konfigurationen
Android 10 fügt Funktionen hinzu, die es Kameraherstellern ermöglichen, Kamera-Clients empfohlene Kamera-Streams anzukündigen und eine API zum Abfragen von Stream-Kombinationen zu unterstützen.
Anforderungen an die Kamera-Stream-Kombination
Geräte mit Android 10 müssen Stream-Kombinationen mit physischen Subkamera-Streams nicht mehr unterstützen. Allerdings müssen Geräte, auf denen Android 10 mit der Kamera-HAL-Geräteversion 3.5 ausgeführt wird isStreamCombinationSupported()
unterstützen, damit Apps abfragen können, ob eine Stream-Kombination mit physischen Streams unterstützt wird.
Weitere Informationen finden Sie unter Multi-Kamera-Unterstützung .
HEIF-Bildgebung
Android 10 bietet native Kameraunterstützung für Bilder im High Efficiency Image File Format (HEIF) , die gegenüber JPEG-Bildern eine verbesserte Bildqualität und kleinere Größen bieten. Geräte müssen über einen HEIC- oder HEVC-Encoder verfügen, um HEIF-Bilder zu unterstützen.
Monochrome Kameras
Android 10 bietet zusätzliche Unterstützung für das Y8-Stream-Format, statische Metadaten für Monochrom- und Nahinfrarot-Farbfilter-Arrays (NIR) sowie DngCreator
Funktionen für Monochrom-Kameras .
Konnektivität
Anrufen und Nachrichten senden
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 mithilfe von Notrufnummern auslösen, die von einer Quelle wie einer SIM-Karte, dem Netzwerksignal oder der Android-Datenbank abgerufen werden. Nummern können nach Notdienstkategorien wie Polizei, Feuerwehr und Krankenwagen kategorisiert werden.
Gruppenaufruf-APIs
Die Gruppenaufruf-APIs sind eine Erweiterung der in Android 9 hinzugefügten eMBMS-APIs. Die neuen APIs definieren einen Standard für Apps, die durch Interaktion mit eMBMS-Middleware-Paketen an Cell-Broadcast-Gruppenaufrufen teilnehmen und diese übertragen können. Gruppenanrufe erfordern die Unterstützung des Chipsatz-Anbieters, des Middleware-Anbieters und des Mobilfunkanbieters, um ordnungsgemäß zu funktionieren. Die Entwicklerdokumentation finden Sie unter Developer.google.com .
Remote-SIM-Funktionen
Android 10 führt Remote-SIM-Funktionen ein, die es Messaging-Apps auf einem Android-Hostgerät ermöglichen, SMS-Nachrichten über Telefone mithilfe von Mechanismen wie Bluetooth zu senden. Weitere Informationen finden Sie in der Referenzdokumentation zur getSubscriptionType
Methode und zur SUBSCRIPTION_TYPE_REMOTE_SIM
Konstante.
Mehrere eSIMs
In Android 10 unterstützt die EuiccManager
Klasse Geräte mit mehreren eingebetteten SIMs (eSIMs) oder eUICCs.
eSIM-Updates
Für Geräte mit Android 10, die eSIMs unterstützen, muss ein nicht entfernbares eUICC-Steckplatz-ID-Array definiert werden. Geräte müssen außerdem IRadio HAL v1.4 und IRadioConfig HAL v1.2 unterstützen. Weitere Informationen finden Sie unter Implementieren von eSIM- und HAL-Anforderungen .
5G Non-Standalone (NSA)
Android 10 bietet Unterstützung für 5G Non-Standalone (NSA) . 5G NSA ist eine Lösung für 5G-Netzwerke, bei der das Netzwerk durch eine bestehende 4G-Infrastruktur unterstützt wird. Unter Android 10 können Geräte ein 5G-Symbol in der Statusleiste anzeigen, wenn ein Gerät eine Verbindung zu einem 5G-Netzwerk herstellt.
Vorschlag für ein Telefonkonto
Mit Android 10 wird der Vorschlagsdienst für Telefonkonten eingeführt, mit dem Benutzern beim Tätigen eines Anrufs Vorschläge für Telefonkonten angezeigt werden können.
Träger
Migrieren Sie die Mobilfunknetzeinstellungen
Android 10 hat den UI-Code für die Mobilfunknetzeinstellungen neu strukturiert und vom Telefoniestapel in den Einstellungsstapel verschoben. Um den migrierten Code zu unterstützen, ändern Sie die folgenden Konfigurationswerte für die Mobilfunknetzeinstellungen von Android-Ressourcen in 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
Permanente Gerätekennungen (IMEI/MEID, IMSI und Build-Seriennummer) werden durch eine privilegierte Berechtigung geschützt, wobei der Zugriff auch Geräte- und Profilbesitzer-Apps gewährt wird. Da die IMSI- und SIM-Seriennummer vom Netzbetreiber bereitgestellt werden, wird der Zugriff auf diese Kennungen Paketen mit Netzbetreiberprivilegien gewährt.
W-lan
Netzwerkauswahl
Android bewertet kontinuierlich die Qualität des verbundenen Netzwerks und bewertet die Qualität der verfügbaren Netzwerke. Android 10 verfügt über aktualisierte Algorithmen und Verfahren zum Auswählen und Wechseln zwischen Wi-Fi-Netzwerken .
Wi-Fi-bevorzugtes Netzwerk-Offload-Scannen
Android 10 führt in WifiManager
eine optionale API-Methode namens setDeviceMobilityState()
ein, die das Intervall zwischen Preferred Network Offload (PNO) -Scans verlängert, wenn das Gerät stationär ist, um den Stromverbrauch zu reduzieren.
Mobilfunkanbieter-WLAN
In Android 10 stellen Geräte mit der WLAN-Funktion des Mobilfunkanbieters automatisch eine Verbindung zu konfigurierten WLAN-Netzwerken des Mobilfunkanbieters her (Netzwerke mit Public-Key-Zertifikaten).
Wi-Fi Easy Connect
In Android 10 können Geräte Wi-Fi Easy Connect verwenden, das das von der Wi-Fi Alliance (WFA) eingeführte Device Provisioning Protocol (DPP) verwendet, um Wi-Fi-Geräte bereitzustellen und zu konfigurieren.
WLAN-Modus mit geringer Latenz
Android 10 führt einen WLAN-Modus mit geringer Latenz ein, der den WLAN-Chip so konfiguriert, dass die Latenz reduziert wird.
Aktualisierter DHCP-Server
Im Rahmen der Bildung eines „IP Server“-Dienstdachs wird dnsmasq
gelöscht. Android 10 ersetzt die funktionale Verwendung des DHCPv4-Servers durch eine separate Komponente, die hauptsächlich in Java geschrieben ist, um eine bessere Integration in die Steuerungsebene des Java-Frameworks zu ermöglichen. Dies verbessert die Sicherheit und Aktualisierbarkeit des DHCP-Servers. Weitere Einzelheiten finden Sie packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java
.
Zur Implementierung dieser Änderung sind keine Maßnahmen erforderlich: Alle Geräte, die Android 10 veröffentlichen und auf Android 10 aktualisieren, verwenden standardmäßig DhcpServer
. Wenn Sie Anpassungen am DHCP-Server vorgenommen haben, können Sie zum Android 9-Verhalten zurückkehren, indem Sie die globale Einstellung tether_enable_legacy_dhcp_server=1
festlegen. Der neue DhcpServer
ist im Netzwerkkomponentenmodul enthalten, sodass jede Anpassung der DHCP-Serverfunktionalität vorab erfolgen sollte.
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 einen besseren Datenschutz und Robustheit gegen bekannte Angriffe zu gewährleisten.
Wi-Fi Direct
Mit Wi-Fi Direct , auch bekannt als Wi-Fi P2P, können unterstützende Geräte mithilfe des Wi-Fi Direct-Protokolls ohne Internet- oder Mobilfunknetzzugriff direkt einander erkennen und eine Verbindung zueinander herstellen.
Verbesserungen der MAC-Randomisierung
Ab Android 10 ist die MAC-Randomisierung standardmäßig für den Client-Modus, SoftAp und Wi-Fi Direct aktiviert. Geräte müssen eine Option zum Aktivieren oder Deaktivieren der MAC-Randomisierung für jede SSID in der Systembenutzeroberfläche bieten.
Passpunkt R2
Android 10 führt Unterstützung für Passpoint R2-Funktionen ein. Passpoint R2 implementiert die Online-Anmeldung (OSU), eine Standardmethode zur Bereitstellung neuer Passpoint-Profile. Android 10 unterstützt die Bereitstellung von EAP-TTLS-Profilen mithilfe von SOAP-XML.
NFC
Sicheres NFC
Secure NFC ermöglicht die Aktivierung der Off-Host-NFC-Kartenemulation nur, wenn der Bildschirm des Geräts entsperrt ist. Durch die Implementierung dieser Funktion haben Benutzer die Möglichkeit, Secure NFC für mehr Sicherheit zu aktivieren.
Android Beam veraltet
In Android 10 ist Android Beam nicht mehr erforderlich und die folgenden Schnittstellen und Methoden sind veraltet.
Schnittstellen:
-
NfcAdapter.CreateBeamUrisCallback
-
NfcAdapter.CreateNdefMessageCallback
-
NfcAdapter.OnNdefPushCompleteCallback
Methoden:
-
createBeamUris
-
invokeBeam
-
isNdefPushEnabled
-
setBeamPushUris
-
setBeamPushUrisCallback
-
setNdefPushMessage
-
setNdefPushMessageCallback
-
setOnNdefPushCompleteCallback
-
createNdefMessageCallback
-
onNdefPushCompleteCallback
Um Android Beam zu verwenden, melden Sie die Funktionskonstante android.sofware.nfc.beam
.
Grafik
ASurfaceControl
Android 10 fügt ASurfaceControl
hinzu, eine neue Möglichkeit für SurfaceFlinger
, Puffer zu akzeptieren.
Grafische Umsetzung
OpenGL ES-Ebenen
Android 10 führt ein Layering-System für GLES ein.
EGL 1.5
Android 10 implementiert die EGL 1.5-Schnittstelle . Informationen zu neuen Funktionen in EGL 1.5 finden Sie in der Khronos Releases EGL 1.5 Specification .
Vulkan
Android 10 bietet Unterstützung für Vulkan 1.1-Grafiken. 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 der Leistung
Android 10 bietet Unterstützung für eine Leistungsaktualisierungsrate. Diese Funktion ist standardmäßig deaktiviert.
Interaktion
Automobil
Automotive-Audio
In Android 10 wird der Audio-HAL-Kontext AudioAttributes.usage
zugeordnet, um Sounds zu identifizieren. Android unterstützt eine AUDIO_DEVICE_OUT_BUS
Instanz pro Kontext. IAudioControl
HAL bietet fahrzeugspezifische Erweiterungen des Audio HAL .
Gestenische Navigation
Android 10 führt eine Option für eine vollständig gestische Systemnavigation ein. Informationen zum Vorbereiten von Apps für die Verwendung dieser Funktion finden Sie auf der Seite „Gestische Navigation“ auf der Android-Entwicklerseite.
Neuronale Netze
Android 10 führt Updates für die Neural Networks API und die Neural Networks HAL ein. Eine Zusammenfassung der Änderungen finden Sie unter Neuronale Netze .
Neue und aktualisierte Dokumentation zu neuronalen Netzen für Android 10:
- Überblick
- AHardwareBuffer
- Burst-Ausführungen und schnelle Nachrichtenwarteschlangen
- Zusammenstellungs-Caching
- Geräteerkennung und -zuweisung
- Anbietererweiterungen
Sensoren
Sensoren HAL 2.0
Sensors HAL 2.0 unterstützt die Verwendung von Fast Message Queues (FMQs) , um Sensorereignisse vom HAL an das Android Sensors Framework zu senden.
Sensoren aus
Android 10 enthält eine Entwicklereinstellung zum Abschalten aller Sensoren auf einem Gerät. Diese Funktion hilft Entwicklern, die Funktionalität ihrer App in Situationen zu testen, in denen diese Sensoren nicht verfügbar sind, und gibt Benutzern außerdem die Möglichkeit, die Sensoren in ihrem Gerät zu steuern.
Wenn Ihre Geräte die Standardimplementierung von SensorService
, CameraService
und AudioPolicyService
verwenden, ist keine zusätzliche Anpassung des Referenzdesigns erforderlich. Wenn Sie über andere Sensoren verfügen, finden Sie unter „Anpassung“ weitere Einzelheiten zur Unterstützung dieser Funktion.
Medien
Aktualisierbare Medienkomponenten
Android 10 bietet aktualisierbare Medienkomponenten , die die Aktualisierung medienbezogener modularer Systemkomponenten über die Google Play Store-Infrastruktur oder über einen von Partnern bereitgestellten Over-the-Air-Mechanismus (OTA) ermöglichen.
Medien-DRM
Android 10 verbessert den Nutzen und die Benutzerfreundlichkeit der MediaDrm
Java- und NDK-APIs.
Dekodierung
Android 10 unterstützt die AV1 SW-Dekodierung.
Berechtigungen
Android 10 bietet zusätzliche Berechtigungskonfigurationen für Transparenz und Benutzerdatenschutz.
Kontaktanbieter und Informationen zu Affinitäten
Ab Android 10 erfolgt der Zugriff auf kontaktaffinitätsbezogene Daten, die von der Kontaktanbieterkomponente verwaltet werden, anders als in Android 9 und niedriger. Diese Änderungen hinsichtlich der Datenzugänglichkeit verbessern den Datenschutz der Benutzer auf allen Android 10-Geräten, die die Komponente „Kontaktanbieter“ verwenden. Die zugrunde liegende Datenbank enthält keine Kontaktaffinitätsdaten mehr. Daher können Apps nicht darauf schreiben oder davon lesen.
Die Änderungen in Android 10 werden voraussichtlich große Auswirkungen auf APIs haben. Wenn Ihre Apps auf den veralteten Funktionen basieren, die in den Kontaktanbieter- und Affinitätsinformationen erwähnt werden, möchten Sie möglicherweise Ihre Apps aktualisieren, um etwaige Änderungen auszugleichen. Wenn Sie außerdem eine abgespaltene Version des Kontaktanbieters verwenden, müssen Sie Ihren Kontaktanbieter aktualisieren.
Tristate-Standortberechtigungen
Tristate-Standortberechtigungen in Android 10 geben Benutzern mehr Kontrolle darüber, wie Apps auf ihre Gerätestandorte zugreifen.
Erinnerung an den Standortzugriff im Hintergrund
Android 10 verfügt über eine Hintergrundzugriffs-Standorterinnerung , die die Transparenz darüber erhöht, wie viel Zugriff Apps auf den Standort eines Geräts haben, und Benutzern dabei hilft, die Kontrolle über diesen Zugriff zu behalten.
Beschränken Sie opportunistische Standorte
Wenn eine App den Standort eines Geräts anfordert, kann die App entweder auf die Antwort auf die Anfrage warten oder mithilfe aktiver Standort-Listener eine opportunistische Standortaktualisierung erhalten. Um opportunistische Standortaktualisierungen zu erhalten, müssen Entwickler ab Android 10 angeben, dass sie passive Standortaktualisierungen von der FusedLocationProviderClient
Klasse benötigen.
Hintergrund-Apps werden gestartet
In Android 10 können sich nichtprivilegierte Apps ohne sichtbares Fenster nicht automatisch im Vordergrund starten. Diese Änderung unterdrückt Werbe-Popups und böswillige Übernahmen. Es sind keine Maßnahmen erforderlich, um dies zu aktivieren.
App-Sandboxing
In Android 10 verfügen Apps über 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, wie sie von allen anwendbaren Methoden wie Context.getExternalFilesDir()
zurückgegeben werden. Apps haben weiterhin vollen Rohzugriff auf ihre paketspezifischen Pfade.
Verwenden Sie die App-Sandbox- Richtlinien für die Dateifreigabe , um eine angemessene Granularität für die Datenfreigabe bereitzustellen.
Beschränken Sie den Zugriff auf die App-Zwischenablage
In Android 10 hat sich der Zugriff auf die Zwischenablage geändert, sodass der Inhalt der Zwischenablage nicht durch Aufrufen ClipboardManager.getPrimaryClip
oder durch Hinzufügen eines onPrimaryClipChangedListener
Listeners zur Benachrichtigung bei Änderungen der Zwischenablage überwacht werden kann. Dies erhöht die Privatsphäre der Benutzer und verhindert, dass Malvertizing-Apps die Zwischenablage ändern.
In Android 10 ist Lesezugriff nur entweder auf die aktuelle App mit Eingabefokus oder auf die aktuelle Tastatur erlaubt. Der Listener-Aufruf ClipboardManager.onPrimaryClipChanged()
wird jetzt nur für Apps ausgelöst, die solche Einschränkungen erfüllen. ClipboardManager.getPrimaryClip
und ClipboardManager.getPrimaryClipDescription
geben null
zurück, wenn die anfordernde App entweder nicht der Standard-Eingabemethoden-Editor (IME) ist oder keinen Eingabefokus hat.
Zu den Laufzeitberechtigungen gehört die Aktivitätserkennung
Benutzern wird jetzt ein Aktivitätserkennungsdialogfeld angezeigt, wenn eine App im Hintergrund auf den Gerätestandort zugreift. Stark eingeschränkte Laufzeitberechtigungen müssen in Android 10 ordnungsgemäß auf die Whitelist gesetzt werden.
MANAGE_DEVICE_ADMINS-Berechtigung
Android 10 ändert die MANAGE_DEVICE_ADMINS
-Berechtigung von „Signatur“ oder „privilegiert“ in „Nur Signatur“. Das bedeutet, dass nur plattformsignierte Apps andere Apps als Geräteadministrator festlegen können.
Teilen von API-Verbesserungen
Android 10 bietet eine Reihe neuer Android-Plattform-API-Funktionen im Zusammenhang mit der Freigabe . Wenn Sie den Share Sheet-Code in Ihrer Implementierung geändert haben, stellen Sie sicher, 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
Die Signed Config- Funktion ermöglicht das Einbetten der Konfiguration von Nicht-SDK-Schnittstelleneinschränkungen in APKs. Dies ermöglicht das Entfernen bestimmter Nicht-SDK-Schnittstellen von der Blacklist, sodass AndroidX sie sicher verwenden kann. Mit dieser Änderung kann AndroidX Unterstützung für neue Funktionen auf älteren Android-Versionen hinzufügen.
Leistung
Cgroup-Abstraktionsschicht
Android 10 umfasst eine cgroup-Abstraktionsschicht und Aufgabenprofile, mit denen Entwickler eine Reihe von Einschränkungen beschreiben können, die auf einen Thread oder einen Prozess angewendet werden sollen.
Low Memory Killer Daemon (lmkd)
Android 10 unterstützt einen neuen lmkd
Modus , der PSI-Monitore (Kernel Pressure Stall Information) zur Speicherdruckerkennung verwendet.
Leistung
Plattform-Energieverwaltung
In Android 10 kann der Doze-Modus sowohl auf Always-on-Geräten als auch auf batteriebetriebenen Geräten aktiviert werden.
Routinemäßiger Batteriesparmodus
Android 10 führt eine neue Zeitplanoption für den Batteriesparmodus namens „Routinebasiert“ ein. Der routinemäßige Batteriesparmodus ermöglicht es einer vom OEM ausgewählten App, Signale an das System für eine intelligentere Batteriesparplanung zu senden. Diese Option erfordert eine Konfiguration und kann optional implementiert werden.
Leistungsstatistiken HAL
In Android 10 ersetzt IPowerStats.hal
die APIs zur Sammlung von Energiestatistiken in IPower.hal
. Während die Power-HAL weiterhin die APIs unterstützt, werden sie in Zukunft ausschließlich auf die Power-Stats-HAL migriert.
Die Leistungsstatistik-HAL enthält neue APIs zur Unterstützung der Erfassung von Daten aus der Leistungsmessung auf dem Gerät für unterstützte Geräte. Die vorhandenen APIs zur Erfassung von Energiestatistiken werden ebenfalls aktualisiert, um die Flexibilität zu verbessern. Die Power-Hinweis-APIs bleiben im Power-HAL und ändern sich nicht.
Thermische Abschwächung
Das thermische Framework in Android 10 abstrahiert Geräteschnittstellen für den Temperatursensor des thermischen Subsystems, einschließlich CPU, GPU, Akku, Skin und Kühlgerät. Das Framework führt eine Umfrageberechnung ein, um den thermischen Status zu befragen, um das Drossel zu initiieren, und eine Rückrufschnittstelle, um eine Nachricht an den Benutzer zu senden, wenn ein Schwellenwert überschritten wird.
Android 10 liefert 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 drosseln. -
addThermalStatusListener()
fügt einen Hörer hinzu. -
removeThermalStatusListener()
entfernt einen zuvor hinzugefügten Hörer.
Apps addieren und entfernen die Hörer und Zugriff auf Temperaturstatus in der PowerManager
-Klasse. Nur ein vertrauenswürdiger Systemdienst wie eine Android -API oder eine API Hersteller von Geräten kann auf Informationen zu den 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 Rahmens zu ermöglichen.
Für ein Beispiel für eine thermische Minderungsimplementierung siehe Referenzimplementierung .
Aktualisierung
Apex -Dateiformat
Android Pony Express (Apex) ist ein neues Containerformat, das im Installationsfluss für modulare Systemkomponenten verwendet wird.
Dynamische Partitionen
Dynamische Partitionen führen Android ein UserSpace -Partitionierungssystem ein, sodass Partitionen während der OTA -Updates erstellt, geändert oder zerstört werden können. Gerätehersteller müssen sich keine Sorgen um die einzelnen Größen von Partitionen wie system
, vendor
und product
machen. Stattdessen wird eine große super
-Partition zugewiesen, und die Unterteile können dynamisch in ihr dynamisch dimensioniert werden.
Dynamische Systemaktualisierungen
Mit Dynamic System Updates (DSU) können Sie ein Android -Systembild erstellen, das Benutzer aus dem Internet herunterladen und ausprobieren können, ohne das aktuelle Systembild zu korrumpieren.
Multiuser -Backup und Wiederherstellung
Android 10 unterstützt die Sicherungs- und Wiederherstellung der Funktionen für alle Benutzer auf einem Gerät. Zuvor war Backup und Wiederherstellung nur für den Systembenutzer verfügbar. Sicherung und Wiederherstellung für Nichtsystembenutzer wird standardmäßig ausgeschaltet, da sie nur eine teilweise Abdeckung für Einstellungen, Tapeten und Systemkomponenten enthält.
Overlayfs
Benutzer, die mit userdebug
oder eng
-Builds arbeiten, erwarten, die Systempartition effizient als Leseschreiber neu zu renovieren und dann eine beliebige Anzahl von Dateien hinzuzufügen oder zu ändern, ohne das Systembild zu reflaschen. Sie können Overlayfs
verwenden, das automatisch den Sicherungsspeicher für ein beschreibbares Dateisystem als obere Referenz einrichtet und über den unteren montiert wird. Diese Maßnahmen erfolgen in den Anfragen adb disable-verity
und adb remount
. Weitere Informationen finden Sie in der Overlayfs Readme in AOSP.
Unterstützung der gemeinsamen Bibliothek im Wiederherstellungsmodus
In Android 10 sind in der Wiederherstellungspartition freigegebene Bibliotheken verfügbar, wodurch alle ausführbaren Wiederherstellungsmodus statisch sind. Die gemeinsam genutzten Bibliotheken befinden sich im Verzeichnis /system/lib
(OR /system/lib64
für 64-Bit-Geräte) in der Partition.
Um der Wiederherstellungspartition eine neue gemeinsame Bibliothek hinzuzufügen, fügen Sie recovery_available: true
oder recovery: true
Android.bp
der gemeinsam genutzten Bibliothek hinzu. Ersteres installiert die Bibliothek sowohl auf System- als auch Wiederherstellungspartitionen, während letztere sie nur an der Wiederherstellungspartition installiert.
Der Shared Library-Support kann nicht mit Androids Made-basiertem Build-System erstellt werden. Um eine vorhandene statische ausführbare Datei für den Wiederherstellungsmodus in eine dynamische Umwandlung zu konvertieren, entfernen Sie LOCAL_FORCE_STATIC_EXECUTABLE := true
in Android.mk
oder static_executable: true
(in Android.bp
).
Benutzerdatenkontrollpunkt (UDC)
Android 10 führt die UDC-Funktion (User Data Checkpoint) vor, mit der Android in den vorherigen Status zurückkehren kann, wenn ein Android Over-the-Air-Update (OTA) fehlschlägt.