Uyumluluk çerçevesiyle ilgili değişiklikler (Android 14)

1. Şekil. Geliştirici seçeneklerindeki Uygulama Uyumluluğu Değişiklikleri ekranında, açıp kapatabileceğiniz değişiklikler listelenir.

Bu sayfada, Android 14'teki (API düzeyi 34) uyumluluk çerçevesinin bir parçası olan, etkinleştirilip devre dışı bırakılabilen değişiklikler açıklanmaktadır. Android 14'ü desteklemeye ve hedeflemeye hazırlanırken uygulamanızı test etmek ve hatalarını ayıklamak için bu listeyi geliştirici seçenekleri ve ADB komutlarıyla birlikte kullanın.

Uyumluluk çerçevesi araçlarını kullanarak yapabileceklerinizden bazıları şunlardır:

  • Uygulamanın targetSdkVersion'ını değiştirmeden hedeflenen değişiklikleri test edin. Mevcut uygulamanız üzerindeki etkiyi değerlendirmek için açma/kapatma düğmelerini kullanarak belirli hedefli davranış değişikliklerini zorunlu olarak etkinleştirebilirsiniz.
  • Testinizi yalnızca belirli değişikliklere odaklayın. Açma/kapatma düğmeleri, hedeflenen tüm değişiklikleri tek seferde ele almak yerine, test etmek istediğiniz değişiklikler dışındaki tüm hedeflenen değişiklikleri devre dışı bırakmanıza olanak tanır.
  • adb aracılığıyla açma/kapatma düğmelerini yönetme Otomatik test ortamınızda açılıp kapatılabilen değişiklikleri etkinleştirmek ve devre dışı bırakmak için adb komutlarını kullanabilirsiniz.
  • Standart değişiklik kimliklerini kullanarak daha hızlı hata ayıklama. Her açılıp kapatılabilir değişiklik, günlük çıktısında temel nedeni hızlıca ayıklamak için kullanabileceğiniz benzersiz bir kimliğe ve ada sahiptir.

Bu kullanım alanlarının her birinde araçları kullanmayla ilgili tüm ayrıntılar için Uyumluluk çerçevesi araçları başlıklı makaleyi inceleyin.

Uyumluluk çerçevesinde yer alan davranış değişiklikleri

Bu bölümdeki listede, Android 14'teki uyumluluk çerçevesine dahil edilen, açılıp kapatılabilen değişiklikler açıklanmaktadır.

Değişiklik listesini Varsayılan Durum'a göre filtreleyebilirsiniz.

Android 14'teki uyumluluk çerçevesinde açılıp kapatılabilen değişiklikler

ACCESS_SHARED_IDENTITY

Değişiklik Kimliği: 259743961
Varsayılan Durum: Tüm uygulamalar için etkin.

Uygulama, bu etkinliği true değeriyle çağrılan ActivityOptions.setShareIdentityEnabled(boolean) ile ActivityOptions örneğiyle başlatarak kimliğini paylaşmayı kabul ettiyse veya başlatılan etkinliğin UID'si, başlatılan uygulamanın UID'siyle aynıysa başlatılan uygulamanın kimliğine erişim izni verir. Bu değişiklik etkinleştirildiğinde ve bu koşullardan biri karşılandığında etkinlik, başlatılan uygulamanın UID'sine ve paket adına sırasıyla Activity.getLaunchedFromUid() ve Activity.getLaunchedFromPackage() ile erişebilir.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Değişiklik kimliği: 258236856
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Etkinleştirildiğinde, uygulamalar Android 13 (API düzeyi 33) veya önceki sürümlerdeki API'lere ve işlevlere yavaş yanıt verdiğinde "Uygulama Yanıt Vermiyor" (ANR) mesajı tetiklenir.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

Değişiklik kimliği: 207133734
Varsayılan durum: Android 14 (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalar için, tüm senkronizasyonla ilgili API'lerde arayan UID'nin yetkili erişimi olup olmadığı kontrol edilir.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Değişiklik Kimliği: 162547999
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu cihazın kamera ve mikrofon göstergelerini desteklediğini belirtir. Değişiklik kimliği yoksa CompatChanges#isChangeEnabled yöntemi true değerini döndürdüğünden, değer varsa false olur.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Değişiklik Kimliği: 244637991
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirildi.

Bir uygulama, PendingIntent kullanarak PendingIntent#send() veya benzer yöntemlerle gönderdiğinde, bekleyen intent'i başlatmak için kendi arka plan etkinliği başlatma ayrıcalıklarını vermek istiyorsa uygulamayı etkinleştirmesi gerekir.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 14 davranış değişiklikleri sayfasındaki Arka planda etkinlik başlatmayla ilgili ek kısıtlamalar bölümüne bakın.

DETACH_THROWS_ISE_ONLY

Değişiklik Kimliği: 236825255
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Flag to gate correct exception thrown by #detachImage.

#detachImage, hata durumunda IllegalStateException oluşturacak şekilde belgelenmiştir. Buna yönelik yerel bir yardımcı yöntem, Image ayrılırken yüzey terk edilirse RuntimeException oluşturdu.

Daha önce belgelenmemiş bu istisna davranışı, Android 13'te (API düzeyi 33) de devam etmektedir.

Android 13'ten (API düzeyi 33) sonra, yerel yardımcı yöntem yalnızca dokümanlara uygun olarak IllegalStateExceptions istisnası oluşturur.

Bu değişiklik etkinleştirildiğinde #detachImage yalnızca resmi ayırırken hata oluşursa IllegalStateException oluşturur. Android 13 (API düzeyi 33) ve önceki sürümleri hedefleyen uygulamalarda davranış değişmez.

DOWNSCALED

Değişiklik Kimliği: 168419799
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik, uygulama başına arabellek küçültme ile ilgili tüm değişikliklerin denetleyicisidir. Bu değişikliğin etkinleştirilmesi, aşağıdaki ölçeklendirme faktörlerinin uygulanmasına olanak tanır:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde uygulama, etkinleştirilmiş en yüksek ölçeklendirme faktörüne zorunlu olarak yeniden boyutlandırılır. Örneğin, hem% 80 hem de% 70 (DOWNSCALE_80 ve DOWNSCALE_70) etkinse %80 kullanılır. Hem bu değişiklik hem de DOWNSCALED_INVERSE etkinleştirildiğinde DOWNSCALED_INVERSE öncelikli olur ve ölçekleme faktörü ters yönde uygulanır.

DOWNSCALED_INVERSE

Değişiklik kimliği: 273564678
Varsayılan durum: Tüm uygulamalar için devre dışı.

Bu değişiklik, uygulama başına arabellek tersine küçültme ile ilgili tüm değişikliklerin denetleyicisidir. Bu değişikliğin etkinleştirilmesi, aşağıdaki ölçeklendirme faktörlerinin tersine uygulanmasına (yani çözünürlüğün yükseltilmesine) olanak tanır:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde uygulama, etkinleştirilmiş en düşük ölçeklendirme faktörüne zorunlu olarak yeniden boyutlandırılır. Örneğin, hem% 80 hem de% 70 (DOWNSCALE_80 ve DOWNSCALE_70) etkinleştirilmişse %80 kullanılır. Bunun nedeni, ters uygulandığında% 80 ölçeklendirme faktörünün %125'e eşit olmasıdır. Bu değer, %70 ölçeklendirme faktörü ters uygulandığında elde edilen% 142,86 ölçeklendirmeden daha düşüktür. Hem bu değişiklik hem de DOWNSCALED etkinleştirildiğinde DOWNSCALED_INVERSE öncelikli olur ve ölçekleme faktörü ters yönde uygulanır.

DOWNSCALE_30

Değişiklik kimliği: 189970040
Varsayılan durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 30'u kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 333,33'ü olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_35

Değişiklik Kimliği: 189969749
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 35'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 285,71'i kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_40

Değişiklik Kimliği: 189970038
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 40'ına sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 250'si olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_45

Değişiklik Kimliği: 189969782
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 45'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 222,22'si olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_50

Değişiklik Kimliği: 176926741
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 50'sine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 200'ü olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_55

Değişiklik kimliği: 189970036
Varsayılan durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 55'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 181,82'si olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_60

Değişiklik Kimliği: 176926771
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 60'ına sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 166,67'si olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_65

Değişiklik kimliği: 189969744
Varsayılan durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 65'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 153,85'i kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_70

Değişiklik Kimliği: 176926829
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 70'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 142,86'sı olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_75

Değişiklik Kimliği: 189969779
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 75'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 133,33'ü olan bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_80

Değişiklik Kimliği: 176926753
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 80'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinleştirilmişse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 125'i kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_85

Değişiklik Kimliği: 189969734
Varsayılan Durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinleştirilmişse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 85'ine sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 117,65'i kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur.

DOWNSCALE_90

Değişiklik kimliği: 182811243
Varsayılan durum: Tüm uygulamalar için devre dışı.

DOWNSCALED da etkinse bir paket için bu değişikliğin etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 90'ına sahip bir ekranda çalıştığını varsaymasına neden olur. DOWNSCALED_INVERSE da etkinse bu değişikliğin bir paket için etkinleştirilmesi, uygulamanın gerçek ekranın dikey ve yatay çözünürlüğünün% 111,11'i kadar çözünürlüğe sahip bir ekranda çalıştığını varsaymasına neden olur.

ENABLE_PLATFORM_MDNS_BACKEND

Değişiklik kimliği: 270306772
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Android 14 veya sonraki sürümleri hedefleyen uygulamalar arka uç olarak platforma entegre bir mDNS uygulaması kullanırken önceki sürümleri hedefleyen uygulamalar eski bir ağ hizmeti keşfi (NSD) arka ucu (NsdManager arka ucu olarak eski bir yerel daemon ile) kullanmaya devam eder.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Değişiklik kimliği: 266524688
Varsayılan durum: Android 14 (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Kendini sertifikalandırma özelliklerinin kontrolü, Android 14 veya sonraki sürümleri hedefleyen uygulamalar için etkinleştirilir. Daha fazla bilgi için NetworkCapabilities sayfasına bakın.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Değişiklik Kimliği: 154726397
Varsayılan Durum: Android 14 (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamaların, AccountManager API'lerine erişebilmek için manifest dosyasında paket görünürlüğü ihtiyaçlarını bildirmesi gerekir.

ENFORCE_READ_ONLY_JAVA_DCL

Değişiklik kimliği: 218865702
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14'ü (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalarda, dinamik olarak yüklenen tüm dosyaların salt okunur olarak işaretlenmesi gerekir. Bu, dinamik olarak yüklenen dosyaların kötü amaçlı kullanıcılar tarafından beklenmedik şekilde üzerine yazılmasını önler.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 14 davranış değişiklikleri sayfasındaki daha güvenli dinamik kod yükleme bölümüne bakın.

ENFORCE_STRICT_QUERY_BUILDER

Değişiklik kimliği: 143231523
Varsayılan durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde SQLiteQueryBuilder, tüm CalendarProvider2 sorgu seçimlerini kötü amaçlı bağımsız değişkenlere karşı doğrular.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Değişiklik Kimliği: 265195908
Varsayılan Durum: Tüm uygulamalar için etkin.

Arayan uygulama önbelleğe alınmış duruma geçtiğinde AlarmManager.OnAlarmListener geri araması bekleyen tam alarmlar bırakılır.

Android 14'teki tam alarm değişiklikleri hakkında daha fazla bilgi edinmek için Tam alarm planlama isteği varsayılan olarak reddedilir başlıklı makaleyi inceleyin.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Değişiklik kimliği: 261055255
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Etkinleştirildiğinde anlık uygulamalar, uygulamanın manifest dosyasında belirtilen tüm hizmetler için uygun ön plan hizmeti türlerini belirtmelidir.

Bu değişiklik hakkında daha fazla bilgi edinmek için ön plan hizmeti türlerinde yapılan değişiklikleri açıklayan sayfayı inceleyin.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Değişiklik Kimliği: 255042465
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Etkinleştirildiğinde, Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen ve kullanımdan kaldırılan FOREGROUND_SERVICE_TYPE_NONE türünü kullanarak ön plan hizmeti başlatan uygulamalar günlükte uyarıya neden olur.

Bu değişiklik hakkında daha fazla bilgi edinmek için ön plan hizmeti türlerinde yapılan değişiklikleri açıklayan sayfayı inceleyin.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Değişiklik kimliği: 255038118
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Etkinleştirildiğinde, Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen ve kullanımdan kaldırılan FOREGROUND_SERVICE_TYPE_NONE türünü kullanarak ön plan hizmeti başlatan uygulamalar istisnaya neden olur.

Bu değişiklik hakkında daha fazla bilgi edinmek için ön plan hizmeti türlerinde yapılan değişiklikleri açıklayan sayfayı inceleyin.

FGS_TYPE_PERMISSION_CHANGE_ID

Değişiklik Kimliği: 254662522
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Etkinleştirildiğinde, Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalar, ön plan hizmetinin türüyle ilişkili gerekli izinler olmadan ön plan hizmeti başlattığında SecurityException hatası oluşur.

Bu değişiklik hakkında daha fazla bilgi edinmek için ön plan hizmeti türlerinde yapılan değişiklikleri açıklayan sayfayı inceleyin.

FORCE_DISABLE_HEVC_SUPPORT

Değişiklik Kimliği: 174227820
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bir uygulamanın HEVC medya özelliğini desteklemesini zorla devre dışı bırakma Uygulamalar, destekledikleri medya özelliklerini manifestlerinde belirtmelidir. Ancak bu işaret, bir uygulamayı HEVC'yi desteklememeye zorlamak için kullanılabilir. Bu nedenle, HEVC'de kodlanmış medyaya erişirken transkodlama zorunlu kılınır. Bu işaretin ayarlanması, uygulamalar için işletim sistemi düzeyindeki varsayılan ayarları geçersiz kılar. Bu özellik varsayılan olarak devre dışıdır. Bu durumda, işletim sistemi varsayılanları öncelikli olur. Hem bu işaret hem de FORCE_ENABLE_HEVC_SUPPORT etkinse işletim sistemi her iki işareti de yoksayar.

FORCE_ENABLE_HEVC_SUPPORT

Değişiklik kimliği: 174228127
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bir uygulamanın HEVC medya özelliğini desteklemesini zorunlu kılma. Uygulamalar, destekledikleri medya özelliklerini manifestlerinde belirtmelidir. Ancak bu işaret, bir uygulamayı HEVC'yi desteklemeye zorlamak için kullanılabilir. Böylece, HEVC'de kodlanmış medyaya erişirken transkodlama önlenir. Bu işareti ayarlamak, uygulamalar için işletim sistemi düzeyindeki tüm varsayılanları geçersiz kılar. Varsayılan olarak devre dışıdır. Bu durumda, işletim sistemi varsayılanları öncelikli olur. Hem bu işaret hem de FORCE_DISABLE_HEVC_SUPPORT etkinleştirilirse işletim sistemi her iki işareti de yoksayar.

FORCE_NON_RESIZE_APP

Değişiklik kimliği: 181146395
Varsayılan durum: Tüm uygulamalar için devre dışı.

Uygulandığı paketlerin yeniden boyutlandırılamamasını zorunlu kılar.

FORCE_RESIZE_APP

Değişiklik kimliği: 174042936
Varsayılan durum: Tüm uygulamalar için devre dışı.

Uygulandığı paketlerin yeniden boyutlandırılmasını zorunlu kılar. Yalnızca tam ekran pencere modunda yeniden boyutlandırmaya izin veriyoruz ancak uygulamayı yeniden boyutlandırılabilir çoklu pencere moduna zorlamıyoruz.

GWP_ASAN

Değişiklik kimliği: 145634846
Varsayılan durum: Tüm uygulamalar için devre dışı.

Uygulamalarda örneklenmiş yerel bellek hatası algılamayı etkinleştirir.

GWP-ASan'ı kullanma hakkında daha fazla bilgi edinmek için GWP-ASan kılavuzuna bakın.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Değişiklik Kimliği: 229362273
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14'ü (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalarda, bileşenlerin örtülü amaçlarla çağrılabilmesi için dışa aktarılması gerekir. Bir bileşen dışa aktarılıp çağrılmıyorsa alıcılar listesinden kaldırılır. Bu durum özellikle etkinlikler ve yayınlar için geçerlidir.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 14 davranış değişiklikleri sayfasındaki örtülü ve bekleyen amaçlarla ilgili kısıtlamalar bölümüne bakın.

Değişiklik kimliği: 266201607
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalar, her MediaProjection yakalama oturumundan önce kullanıcıdan izin istemelidir.

Bu değişiklik hakkında daha fazla bilgi edinmek için Android 14 davranış değişiklikleri sayfasındaki her MediaProjection yakalama oturumu için kullanıcı izni gereklidir başlıklı bölümü inceleyin.

NATIVE_HEAP_ZERO_INIT

Değişiklik No: 178038272
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Yerel yığın belleği ayırmalarının otomatik olarak sıfırla başlatılmasını etkinleştirin.

NATIVE_MEMTAG_ASYNC

Değişiklik Kimliği: 145772972
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu işlemde eşzamansız (ASYNC) bellek etiketi kontrolünü etkinleştirin. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımları etkiler.

NATIVE_MEMTAG_SYNC

Değişiklik Kimliği: 177438394
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu işlemde eşzamanlı (SYNC) bellek etiketi kontrolünü etkinleştirir. Bu işaret yalnızca ARM Bellek Etiketleme Uzantısı'nı (MTE) destekleyen donanımları etkiler. Hem NATIVE_MEMTAG_ASYNC hem de bu seçenek etkinleştirilirse bu seçeneğe öncelik verilir ve SYNC modunda MTE etkinleştirilir.

OVERRIDE_ANY_ORIENTATION

Değişiklik Kimliği: 265464455
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik etkinleştirildiğinde, etkinlik tarafından istenen yönlendirmeden bağımsız olarak aşağıdaki yönlendirme geçersiz kılmalarının uygulanmasına olanak tanır:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Değişiklik Kimliği: 191514214
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde bu değişiklik, uygulandığı paketlerin android:resizeableActivity değerini yoksaymasını ve M'ye eşit veya daha düşük bir SDK'yı hedeflemesini zorunlu kılar. Ayrıca, etkinliği yeniden boyutlandırılamaz olarak kabul eder. Bu durumda, kamera döndürme ve kırpma değeri yalnızca mevcut ekran döndürme göz önünde bulundurularak gerekli telafiye bağlıdır.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Değişiklik Kimliği: 189229956
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde bu değişiklik, uygulandığı paketlerin varsayılan kamera döndürme ve kırpma davranışını geçersiz kılmasına ve her zaman CaptureRequest.SCALER_ROTATE_AND_CROP_NONE döndürmesine neden olur.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Değişiklik kimliği: 266124927
Varsayılan durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulama için SCREEN_ORIENTATION_REVERSE_LANDSCAPE özelliğini etkinleştirir. OVERRIDE_ANY_ORIENTATION de etkinleştirilmediği sürece SCREEN_ORIENTATION_REVERSE_LANDSCAPE yalnızca etkinlikte yatay yön belirtildiğinde kullanılır. Bu değişikliği etkinleştirmek, yatay yönün Surface.ROTATION_90 ile eşleştiği cihazlar ve Surface.ROTATION_270 ile eşleştiği cihazlar arasındaki farklar açısından uygulama davranışınızı test etmenize yardımcı olabilir.

OVERRIDE_MIN_ASPECT_RATIO

Değişiklik Kimliği: 174042980
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu değişiklik, belirli bir minimum en-boy oranını zorunlu kılan tüm değişikliklerin kontrol noktasıdır. Bu değişikliğin etkinleştirilmesiyle aşağıdaki minimum en-boy oranlarının uygulanmasına izin verilir:

Bu değişiklik bir uygulama paketi için etkinleştirildiğinde, uygulamanın manifestinde verilen minimum en boy oranı, uygulamanın manifest değeri daha yüksek olmadığı sürece etkinleştirilen en büyük en boy oranıyla geçersiz kılınır.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Değişiklik kimliği: 218959984
Varsayılan durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde, kullanılabilir tüm ekran alanını kullanmak için dikey tam ekranda minimum en boy oranı kısıtlamasını geçersiz kılar.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Değişiklik kimliği: 180326787
Varsayılan durum: Tüm uygulamalar için devre dışı.

OVERRIDE_MIN_ASPECT_RATIO da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, etkinliğin minimum en-boy oranını OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE tarafından tanımlanan büyük bir değere ayarlar.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Değişiklik Kimliği: 180326845
Varsayılan Durum: Tüm uygulamalar için devre dışı.

OVERRIDE_MIN_ASPECT_RATIO da etkinleştirildiğinde, bir paket için bu değişikliğin etkinleştirilmesi, etkinliğin minimum en-boy oranını OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE tarafından tanımlanan orta bir değere ayarlar.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Değişiklik Kimliği: 203647190
Varsayılan Durum: Tüm uygulamalar için etkin.

OVERRIDE_MIN_ASPECT_RATIO da etkinleştirildiğinde bu değişiklik, bir etkinliğin minimum en-boy oranını belirli bir değere (ör. OVERRIDE_MIN_ASPECT_RATIO_LARGE ve OVERRIDE_MIN_ASPECT_RATIO_MEDIUM) zorlayan diğer tüm değişiklikleri, dikey yöne de sahip olan etkinliklerle sınırlar.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Değişiklik kimliği: 236283604
Varsayılan durum: Tüm uygulamalar için devre dışı.

Etkinleştirildiğinde bu değişiklik, cihaz üreticilerinin ayarlayabileceği yön kısıtlamalarını yoksayma işleminden, uygulanan paketleri hariç tutar.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Değişiklik Kimliği: 265451093
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulama için SCREEN_ORIENTATION_NOSENSOR özelliğini etkinleştirir. OVERRIDE_ANY_ORIENTATION de etkinleştirilmediği sürece SCREEN_ORIENTATION_NOSENSOR yalnızca etkinlikte başka sabit yön belirtilmediğinde kullanılır.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Değişiklik Kimliği: 265452344
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Uygulandığı uygulama için SCREEN_ORIENTATION_PORTRAIT özelliğini etkinleştirir. OVERRIDE_ANY_ORIENTATION de etkinleştirilmediği sürece SCREEN_ORIENTATION_PORTRAIT yalnızca etkinlikte başka sabit yön belirtilmediğinde kullanılır.

RATE_LIMIT_TOASTS

Değişiklik kimliği: 174840628
Varsayılan durum: Bu değişiklik etkinleştirilemez veya devre dışı bırakılamaz. Yalnızca uyumluluk çerçevesi tarafından kaydedilir.

Kullanıcının sınırlı bir süre içinde çok fazla bildirimle karşılaşmasını önlemek için Toast.show() çağrılarının sayısıyla ilgili sıklık sınırlaması uygulanmasını sağlar. Belirli bir zaman aralığında izin verilenden daha fazla bildirim gösterme girişimi, bildirimin silinmesiyle sonuçlanır.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Değişiklik kimliği: 253665015
Varsayılan durum: Android 14 (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Etkinleştirildiğinde, tahmini ağ baytlarının negatif olmayan bir değer olması gerekir.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Değişiklik kimliği: 241104082
Varsayılan durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalarda, dahil edilen JobWorkItem ağ kullanımını gösteriyorsa barındırma işinin bir ağ kısıtlaması belirtmesi gerekir.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Değişiklik Kimliği: 271850009
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkin.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamaların, bağlantı kısıtlaması olan bir iş planlarken hem INTERNET hem de ACCESS_NETWORK_STATE izinlerini belirtmesi gerekir.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Değişiklik Kimliği: 255371817
Varsayılan Durum: Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedefleyen uygulamalarda etkinleştirilir.

Android 14 (API düzeyi 34) ve sonraki sürümleri hedefleyen uygulamalarda, sistem, kullanıcı tarafından başlatılan bir veri aktarımı işi belirtilirken gerekli tüm veri aktarımı API'leri düzgün şekilde uygulanmazsa istisna oluşturur.

Bu değişiklik hakkında daha fazla bilgi edinmek için ön plan hizmetlerini kullanıcı tarafından başlatılan veri aktarımı işlerine taşıma başlıklı sayfayı inceleyin.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Değişiklik Kimliği: 196254758
Varsayılan Durum: Tüm uygulamalar için devre dışı.

Bu politika etkinleştirildiğinde sistem, "android" paketinin bileşen takma adlarını kullanmasına izin verir.