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.
Plattformsignierte freigegebene UIDs sind freigegebene UIDs (android:sharedUserId
), die
plattformsignierte Apps enthalten. Debug-fähige Builds sind Builds,
android.os.Build.isDebuggable()
gibt true
zurück, z. B. userdebug
oder eng
baut.
In der Vergangenheit hatten Gerätehersteller wenig Kontrolle darüber, auf welcher Plattform
systemfremden Apps möglicherweise
einer von der Plattform signierten freigegebenen UID hinzugefügt werden. In Android starten
15 können Hersteller explizit plattformsignierte
plattformunabhängigen freigegebenen UIDs in der Systemkonfiguration
XML-Dateien im Verzeichnis /etc/permissions
. Wenn ein plattformsigniertes
Die App wurde nicht auf die Zulassungsliste für eine von der Plattform signierte gemeinsame UID gesetzt und die App
versucht weiterhin, der von der Plattform signierten freigegebenen UID beizutreten (mit android:sharedUserId
).
in seinem Manifest), dass die App nicht in Builds installiert werden kann, die nicht debuggen können.
Zulassungsliste hinzufügen
Sie können Zulassungslisten für Apps in einer einzelnen XML-Datei oder in mehreren XML-Dateien auflisten.
ähnlich wie
frameworks/base/data/etc/package-shareduid-allowlist.xml
:
<!--
This XML defines an allowlist for packages that want to join a particular shared-uid.
If a non-system package that is signed with platform signature, is trying to join a particular
shared-uid, and not in this list, the installation will fail.
- The "package" XML attribute refers to the app's package name.
- The "shareduid" XML attribute refers to the shared uid name.
-->
<config>
<allow-package-shareduid package="android.test.settings" shareduid="android.uid.system" />
</config>
Fehlende Zulassungsliste suchen
Wenn Sie einen fehlenden Zulassungslisteneintrag finden möchten, versuchen Sie, Ihr plattformsigniertes Nichtsystem zu installieren App auf einem nicht Debug-fähigen Build und prüfen Sie, ob sie noch installiert werden kann. Falls nicht, Geräteprotokolle für folgendes Format von Warnmeldungen prüfen:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}