Platform tarafından imzalanan uygulamalar, platform paketiyle (android
) aynı (veya uyumlu) imzalama sertifikasını paylaşan uygulamalardır. Platform tarafından imzalanan uygulamalar, sistem uygulaması (sistem resmi bölümünde bulunur) veya sistem dışı uygulama olabilir. Platform imza izinleri, platform paketi tarafından tanımlanan ve signature
koruma düzeyine sahip 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 tarafından imzalanan sistem dışı uygulamalara hangi platform signature
izinlerinin verilebileceği konusunda ç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 imza izni 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 ekleme
Uygulamaların izin 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
İçeriğin düzenlenmesi konusunda katı bir kural yoktur. Cihaz uygulayıcıları, 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ğinde ö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 platformda imzalanan uygulamanızı yükleyin ve cihaz günlüklerinde aşağıdaki uyarı mesajı biçimini arayın:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
Sistem, hata ayıklama yapılabilir derlemelerde izin vermeyi sürdürebilir ancak user
derlemeleri gibi hata ayıklama yapılamayan derlemelerde izin vermez.