Die Funktion „Signierte Konfiguration“ ermöglicht das Einbetten von Einschränkungen für Nicht-SDK-Schnittstellen in APKs. Damit können bestimmte Nicht-SDK-Schnittstellen aus der Sperrliste entfernt werden, AndroidX die sichere Nutzung ermöglichen. So kann das AndroidX-Team den Support auf neue Funktionen bei bereits veröffentlichten Android-Versionen. Es ist ab Android 10 unterstützt.
Die korrekte Unterstützung von Signed Config stellt sicher, dass die AndroidX-Bibliotheken auf Geräten funktionieren.
Diese Funktion kann nicht angepasst werden. Es wird vollständig von AOSP und erfordert keinen OEM-Support.
Beispiele und Quelle
Die Funktionsimplementierung befindet sich im Systemserver unter
frameworks/base/services/core/java/com/android/server/signedconfig
CTS
Test-CtsSignedConfigHostTestCases
enthält eine Beispielverwendung und ein Beispiel
Konfiguration in
cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml
.
Implementierung
Es ist kein Aufwand für die Unterstützung der Funktion erforderlich und es gibt keine spezielle Hardware Anforderungen.
Die Funktion nutzt zwei Anwendungsmetadatenschlüssel zum Einbetten der Konfiguration sowie einen
Signatur in APKs. Diese Schlüssel sind android.settings.global
und
android.settings.global.signature
. Ob oder wann die AndroidX-Bibliotheken
die künftig aus der Sperrliste entfernt werden sollen,
Diese Schlüssel werden vom Android-Team und/oder als Teil von AndroidX veröffentlicht.
Die APK-Metadatenschlüssel android.settings.global
und
android.settings.global.signature
enthalten beide base-64-codierte Daten. Der Wert
für den Schlüssel android.settings.global
sind JSON-codierte Konfigurationswerte, die auf
die globalen Einstellungen in SettingsProvider
. Der Wert für
android.settings.global.signature
ist eine ECDSA-p256-Signatur der JSON-Daten.
Die Signatur wird verwendet, um die Herkunft der Konfigurationsdaten zu verifizieren.
Die Funktion ist für den Nutzer nicht sichtbar.
Personalisierung
Die Funktion ist nicht zur Anpassung gedacht. OEMs wird abgeraten, Änderung der Funktion, einschließlich Ersetzen der Schlüssel. Alle Änderungen daran sind ist die Wahrscheinlichkeit hoch, dass AndroidX auf betroffenen Geräten in der Region in der Zukunft.
Zertifizierungsstufe
Mit dem CTS-Test CtsSignedConfigHostTestCases
wird die Funktionsimplementierung überprüft.
Sie können die Funktion auch manuell testen, indem Sie ein geeignetes APK installieren und
Untersuchen der adb logcat
-Ausgabe:
$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...