Platform imzalı uygulamalar, platform paketi (android
) ile aynı (veya uyumlu) imzalama sertifikasını paylaşan uygulamalardır. Platform imzalı uygulamalar bir sistem uygulaması (sistem görüntüsü bölümünde bulunur) veya sistem dışı bir uygulama olabilir.
Platform imza izinleri, aynı zamanda signature
koruma düzeyine sahip olan platform paketi tarafından tanımlanan izinlerdir. Hata ayıklama yapılabilir derlemeler, android.os.Build.isDebuggable()
döndüren true
derlemelerdir (ör. userdebug
veya eng
derlemeleri).
Geçmişte cihaz üreticileri, platform imzalı sistem dışı uygulamalara hangi platform signature
izinlerinin verilebileceği üzerinde çok az kontrole sahipti.
Android 15'ten itibaren üreticiler, /etc/permissions
dizinindeki sistem yapılandırma XML dosyalarında platform imza izinlerini açıkça verebilir. Platform imzalı bir sistem dışı uygulama, platform imzalı izin için izin verilenler listesine eklenmezse bu izin, uygulama hata ayıklama yapılamayan derlemelerde platform imzalı değilmiş gibi davranır.
İzin verilenler listesi ekleyin
Uygulamalar için izin verilenler listelerini tek bir XML dosyasında veya frameworks/base/etc/permissions
dizininde bulunan birden fazla XML dosyasında listeleyebilirsiniz:
/etc/permissions/signature-permissions-OEM_NAME.xml
/etc/permissions/signature-permissions-DEVICE_NAME.xml
İçeriklerin düzenlenme şekliyle ilgili katı bir kural yoktur. Cihaz uygulamaları, uygun uygulamalar ve izinleri izin verilenler listesine eklendiği sürece içerik yapısını belirleyebilir.
İzin verilenler listesini özelleştirme
AOSP, imtiyazlı izin izin verilenler listesine benzer şekilde, gerektiği gibi özelleştirebileceğiniz bir izin verilenler listesi uygulaması içerir. Örneğin:
<!--
~ 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>
Eksik izinleri bulma
Eksik izinleri bulmak için platform imzalı uygulamanızı yükleyin ve cihaz günlüklerinde aşağıdaki uyarı mesajı biçiminin olup olmadığını inceleyin:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
Sistem, hata ayıklanabilir derlemelere yine de izin verebilir ancak user
derlemeleri gibi düzeltilemeyen derlemelerde izin vermez.