İmza izni izin verilenler listesi

Platform imzalı uygulamalar aynı (veya uyumlu) imzalamayı paylaşan uygulamalardır sertifikanın platform paketiyle (android) gönderilmesini sağlayın. Platform imzalı uygulamalar bir sistem uygulaması (sistem görüntüsü bölümünde bulunur) veya sistem dışı bir uygulama. Platform imza izinleri, platform paketi tarafından tanımlanan izinlerdir signature koruma seviyesine de sahip. Hata ayıklanabilir derlemeler, derlemelerdir android.os.Build.isDebuggable() değeri true döndüren, örneğin userdebug veya eng derleme.

Geçmişte cihaz üreticilerinin hangi platform üzerinde çok az kontrolü vardı. Platform imzalı sistem dışı uygulamalara signature izinleri verilebilir. Android 15'ten itibaren üreticiler şurada sistem yapılandırması XML dosyalarında platform imza izinleri ver: /etc/permissions dizini. Platform imzalı sistem dışı bir uygulama bir platform imza izni için izin verilenler listesine eklenirse, bu izin uygulama, hata ayıklanamayan derlemelerde platform imzalanmamışsa.

İzin verilenler listesi ekleyin

Uygulamalar için izin verilenler listelerini tek bir XML dosyasında veya birden fazla yerde listeleyebilirsiniz. frameworks/base/etc/permissions dizininde bulunan XML dosyaları:

  • /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 bunların yönetim gereksinimleri, izin verilenler listesine eklenir.

İzin verilenler listesini özelleştirme

AOSP, gerektiğinde özelleştirebileceğiniz bir izin verilenler listesi uygulaması içerir. ile benzer ayrıcalıklı izin verilenler listesi ekleyin. Örneğin, örnek:

<!--
  ~ 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ı inceleyin günlükler:

Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist

Sistem, hata ayıklanabilir derlemelerde yine de izin verebilir ancak user derlemeleri gibi hata ayıklama yapılamayan derlemeler