Plattformsignierte Apps sind Apps mit denselben (oder kompatiblen) Signaturen
Zertifikat mit dem Plattformpaket (android
). Eine von der Plattform signierte App
eine System-App (die sich auf einer System-Image-Partition befindet) oder eine nicht systemeigene App.
Plattformsignaturberechtigungen sind vom Plattformpaket definierte Berechtigungen
die auch das Schutzniveau signature
haben. Debug-fähige Builds sind Builds
dessen android.os.Build.isDebuggable()
true
zurückgibt, z. B. userdebug
oder
eng
Builds.
In der Vergangenheit hatten Gerätehersteller wenig Kontrolle darüber, welche Plattform
Berechtigungen vom Typ „signature
“ konnten für von der Plattform signierte Apps außerhalb des Systems gewährt werden.
Ab Android 15 können Hersteller explizit
Sie müssen Berechtigungen für Plattformsignaturen in den XML-Dateien zur Systemkonfiguration gewähren.
das Verzeichnis /etc/permissions
. Wenn eine von der Plattform signierte Nichtsystem-App nicht
auf die Zulassungsliste für eine Plattformsignaturberechtigung gesetzt haben,
als sei die App nicht auf der Plattform
bei nicht Debug-fähigen Builds signiert.
Zulassungsliste hinzufügen
Sie können Zulassungslisten für Berechtigungen für Apps in einer einzelnen XML-Datei oder in mehreren
XML-Dateien, die sich im Verzeichnis frameworks/base/etc/permissions
befinden:
/etc/permissions/signature-permissions-OEM_NAME.xml
/etc/permissions/signature-permissions-DEVICE_NAME.xml
Es gibt keine strenge Regel zur Strukturierung von Inhalten. Geräteimplementierungen können festgelegt werden, solange die entsprechenden Apps und ihre Berechtigungen werden der Zulassungsliste hinzugefügt.
Zulassungsliste anpassen
AOSP umfasst eine Zulassungslisten-Implementierung, die Sie nach Bedarf anpassen können, ähnlich wie die Zulassungsliste für privilegierte Berechtigungen Für Beispiel:
<!--
~ This XML file declares which platform signature permissions to grant to
~ platform signed nonsystem apps.
-->
<permissions>
<signature-permissions package="com.android.example">
<permission name="android.permission.READ_DEVICE_CONFIG"/>
...
</signature-permissions>
...
</permissions>
Fehlende Berechtigungen suchen
Um fehlende Berechtigungen zu finden, installiere die von der Plattform signierte App und prüfe das Gerät Protokolle für das folgende Format von Warnmeldungen:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
Das System kann zwar die Berechtigung für debugfähige Builds erteilen, jedoch nicht für
Nicht Debug-fähige Builds wie user
-Builds