Platform tarafından imzalanan paylaşılan UID izin verilenler listesi

Platform imzalı uygulamalar, platform paketiyle (android) aynı (veya uyumlu) imza sertifikasını paylaşan uygulamalardır. Platform imzalı uygulamalar, sistem uygulaması (sistem görüntüsü bölümünde bulunur) veya sistem dışı uygulama olabilir. Platform imzalı paylaşılan UID'ler, platform imzalı uygulamaları içeren paylaşılan UID'lerdir (android:sharedUserId). Hata ayıklanabilir derlemeler, android.os.Build.isDebuggable() döndüren derlemelerdir. Örneğin, userdebug veya eng derlemeleri.true

Geçmişte cihaz üreticileri, hangi platform imzalı sistem dışı uygulamaların platform imzalı paylaşılan UID'ye katılabileceği konusunda çok az kontrole sahipti. Android 15'ten itibaren üreticiler, platform imzalı olmayan sistem uygulamalarının /etc/sysconfig dizinindeki sistem yapılandırma XML dosyalarında platform imzalı paylaşılan UID'lere katılmalarına açıkça izin verebilir. Platform imzalı bir sistem dışı uygulama, platform imzalı paylaşılan UID'nin izin verilenler listesine eklenmezse ve uygulama yine de platform imzalı paylaşılan UID'ye katılmaya çalışırsa (manifestinde android:sharedUserId ile) bu uygulama hata ayıklanamayan derlemelere yüklenemez.

İzin verilenler listesi ekleme

Uygulamalar için izin verilenler listelerini tek bir XML dosyasında veya birden fazla XML dosyasında listeleyebilirsiniz. Bu işlem, frameworks/base/data/etc/package-shareduid-allowlist.xml'ye benzer:

<!--
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>

Eksik izin verilenler listesini bulma

Eksik izin verilenler listesi girişini bulmak için platform tarafından imzalanmış sistem dışı uygulamanızı hata ayıklanamayan bir derlemeye yüklemeyi deneyin ve uygulamanın hâlâ yüklenebildiğini kontrol edin. Aksi takdirde, cihaz günlüklerini aşağıdaki uyarı mesajı biçimi için inceleyebilirsiniz:

Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}