从历史上看,Android 仅支持 4 KB 内存页面大小,这优化了系统内存性能,以适应 Android 设备通常拥有的平均总内存量。从 Android 15 开始,AOSP 支持配置为使用 16 KB 页面大小的设备(16 KB 设备)。如果您的应用直接或通过 SDK 间接使用任何 NDK 库,则需要重新构建应用,才能在这些 16 KB 设备上运行。
随着设备制造商不断制造出具有更大物理内存 (RAM) 的设备,许多此类设备将采用 16 KB(最终甚至更大)的页面大小来优化设备性能。添加对 16 KB 页面大小设备的支持,可让您的应用在这些设备上运行,并帮助您的应用受益于相关的性能改进。如果不重新编译,应用将无法在未来 Android 版本的 16 KB 设备上运行。
为帮助您为应用添加支持,我们提供了相关指南,介绍了如何检查应用是否受到影响、如何重新构建应用(如果适用),以及如何使用模拟器(包括 Android 模拟器的 Android 15 系统映像)在 16 KB 环境中测试应用。
Avantajlar ve performans artışları
16 KB sayfa boyutlarıyla yapılandırılan cihazlar, ortalama olarak biraz daha fazla bellek kullanır. Ancak, hem sistem hem de uygulamalar için çeşitli performans iyileştirmeleri sağlar:
- Sistem bellek baskısı altındayken daha düşük uygulama başlatma süreleri: Test ettiğimiz bazı uygulamalarda daha belirgin iyileştirmeler (%30'a varan) ile birlikte ortalama %3, 16 daha düşük
- Uygulama başlatma sırasında güç tüketimi azaltıldı: Ortalama% 4,56 oranında azalma
- Daha hızlı kamera başlatma: Ortalama% 4,48 daha hızlı çalışır durumda başlatma ve ortalama% 6,60 daha hızlı soğuk başlatma
- İyileştirilmiş sistem önyükleme süresi: Ortalama %8 (yaklaşık 950 milisaniye) iyileşme
Bu iyileştirmeler, ilk testlerimizi temel almaktadır ve gerçek cihazlardaki sonuçlar büyük olasılıkla farklılık gösterecektir. Testlerimizi sürdürürken uygulamaların olası kazanımlara ilişkin ek analizler sağlayacağız.
Uygulamanızın etkilenip etkilenmediğini kontrol edin
如果您的应用使用了任何原生代码,则应重新构建应用,使其支持 16 KB 设备。如果您不确定自己的应用是否使用了原生代码,可以使用 APK 分析器来确定是否存在任何原生代码,然后检查您找到的任何共享库的 ELF 段对齐情况。Android Studio 还提供了一些功能,可帮助您自动检测对齐问题。
如果您的应用仅使用以 Java 或 Kotlin 编程语言编写的代码(包括所有库或 SDK),则该应用已支持 16 KB 设备。不过,我们建议您在 16 KB 环境中测试应用,以验证应用行为是否出现意外的回归。
Uygulamanız yerel kod kullanıyor mu?
Aşağıdakilerden herhangi biri geçerliyse uygulamanız yerel kod kullanıyor demektir:
- Uygulamanızda herhangi bir C/C++ (yerel) kodu kullanılıyor. Uygulamanız Android NDK'yı kullanıyorsa yerel kod kullanıyor demektir.
- Uygulamanız, bunları kullanan üçüncü taraf yerel kitaplıkları veya bağımlılıklarıyla (ör. SDK'lar) bağlantı kuruyor.
- Uygulamanız, cihazda yerel kitaplıklar kullanan bir üçüncü taraf uygulama oluşturucu tarafından geliştirilmiştir.
APK Analizcisi'ni kullanarak yerel kitaplıkları belirleme
APK Analizcisi, oluşturulmuş bir APK'nın çeşitli yönlerini değerlendirmenize olanak tanıyan bir araçtır. Uygulamanızın yerel kod kullanıp kullanmadığını kontrol etmek için (16 KB ile uyumlu olup olmadığına bakılmaksızın):
- Android Studio'yu açın, ardından Dosya > Aç'ı tıklayın ve herhangi bir projeyi seçin.
Menü çubuğundan Build > Analyze APK... (Derleme > APK'yı analiz et...) seçeneğini tıklayın.
Analiz etmek istediğiniz APK'yı seçin.
Varsa paylaşılan nesne (
.so) dosyalarını barındıranlibklasörüne bakın. Paylaşılan nesne dosyaları varsa uygulamanız yerel kodu kullanır. Hizalama sütununda, hizalama sorunları olan dosyalarla ilgili uyarı mesajları gösterilir. Paylaşılan nesne dosyası yoksa veyalibklasörü bulunmuyorsa uygulamanız yerel kod kullanmıyordur.
Otomatik kontrollerle hizalama sorunlarını tespit etme
Android Studio, önceden oluşturulmuş kitaplıklarınız veya APK'larınız 16 KB'a uygun değilse sizi proaktif olarak uyarır. Hangi kitaplıkların güncellenmesi gerektiğini veya herhangi bir kod değişikliği gerekip gerekmediğini incelemek için APK Analyzer aracını kullanın.
Android Studio'daki Lint, 16 KB'a uygun olmayan yerel kitaplıkları da vurgular.
Paylaşılan kitaplıklar için ELF segmentlerinin hizalamasını kontrol etme
Tüm paylaşılan kitaplıklar için, paylaşılan kitaplıkların ELF segmentlerinin 16 KB ELF hizalaması kullanılarak düzgün şekilde hizalandığını doğrulayın. Linux veya macOS'te geliştirme yapıyorsanız aşağıdaki bölümde açıklandığı gibi check_elf_alignment.sh komut dosyasını kullanabilirsiniz. Komut satırı araçlarını doğrudan da kullanabilirsiniz.
check_elf_alignment.sh komut dosyasını kullanma (Linux veya macOS)
check_elf_alignment.sh komut dosyasını kullanarak ELF segmentlerinin hizalamasını kontrol etmek için aşağıdaki adımları uygulayın:
check_elf_alignment.shkomut dosyasını bir dosyaya kaydedin.Komut dosyasını uygulamanızın APK dosyasında çalıştırın:
check_elf_alignment.sh APK_NAME.apkKomut dosyası, tüm
arm64-v8apaylaşılan kitaplıklar içinALIGNEDveyaUNALIGNEDçıkışını verir.arm64-v8aveyax86_64paylaşılan kitaplıklarından herhangi biriUNALIGNEDise bu kitaplıkların paketini güncellemeniz, ardından uygulamanızı yeniden derlemeniz ve bu bölümdeki adımları uygulayarak yeniden test etmeniz gerekir.
Komut satırı araçlarını doğrudan kullanma
ELF segmentlerinin hizalamasını doğrudan komut satırı araçlarını kullanarak kontrol etmek için aşağıdaki adımları uygulayın:
- Hem Android SDK Derleme Araçları 35.0.0 veya sonraki sürümlerinin hem de Android NDK'nın Android Studio'daki SDK Yöneticisi veya
sdkmanagerkomut satırı aracı kullanılarak yüklendiğinden emin olun. Uygulamanızın APK dosyasını çıkarın:
Linux veya macOS
unzip APK_NAME.apk -d /tmp/my_apk_outWindows (PowerShell)
Expand-Archive -Path .\APK_NAME.apk -DestinationPath ~\tmp\my_apk_outAPK dosyanızı çıkardığınız geçici dizinde, paylaşılan nesne (
.so) dosyaları içinlibdizininin içeriğini kontrol edin. Bunlar, APK Analiz Aracı'nı kullanarak yerel kitaplıkları tanımlarken gördüğünüz paylaşılan nesne dosyalarıdır. Paylaşılan her nesne dosyasında aşağıdaki komutu çalıştırın:Linux veya macOS
SDK_ROOT_LOCATION/Android/sdk/ndk/NDK_VERSION/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump -p SHARED_OBJECT_FILE.so | grep LOADWindows (PowerShell)
SDK_ROOT_LOCATION\Android\sdk\ndk\NDK_VERSION\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-objdump.exe -p SHARED_OBJECT_FILE.so | Select-String -Pattern "LOAD"Burada
SDK_ROOT_LOCATION, Android SDK'yı yüklediğiniz dizinin yolu,SHARED_OBJECT_FILE, kontrol ettiğiniz paylaşılan nesne dosyasının adı veNDK_VERSION, yüklediğiniz Android NDK'nın sürümüdür (örneğin,28.0.12433566). Çıktı, kontrol ettiğiniz her dosya için aşağıdakine benzer bir şekilde görünür:LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**14 LOAD off 0x0000000000042a90 vaddr 0x0000000000043a90 paddr 0x0000000000043a90 align 2**14 LOAD off 0x0000000000046230 vaddr 0x0000000000048230 paddr 0x0000000000048230 align 2**14Yük segmentlerinin
2**14değerinden küçük değerler içermediğinden emin olmak için çıkış satırlarını kontrol edin. Yükleme segmentlerinden herhangi biri2**13,2**12veya daha düşük değerlere sahipse bu kitaplıkların paketini güncellemeniz, ardından uygulamanızı yeniden derlemeniz ve bu bölümdeki adımları uygulayarak yeniden test etmeniz gerekir.Ardından, uygulamanızın APK dosyasında
zipalignkomut satırı aracını çalıştırın:Linux veya macOS
SDK_ROOT_LOCATION/Android/sdk/build-tools/35.0.0/zipalign -v -c -P 16 4 APK_NAME.apkWindows (PowerShell)
SDK_ROOT_LOCATION\Android\sdk\build-tools\35.0.0\zipalign.exe -v -c -P 16 4 APK_NAME.apkBurada
SDK_ROOT_LOCATION, Android SDK'yı yüklediğiniz dizinin yolu,APK_NAMEise uygulamanızın APK dosyasının adıdır. Paylaşılan tüm kitaplıklar doğru şekilde hizalanmışsa çıktının son satırında "Doğrulama başarılı" ifadesi yer alır.Doğrulama başarısız olursa bazı paylaşılan kitaplıkların yeniden hizalanması gerekir. Bu nedenle, bu kitaplıkların paketini güncellemeniz, ardından uygulamanızı yeniden derlemeniz ve bu bölümdeki adımları uygulayarak yeniden test etmeniz gerekir.
Uygulamanızı 16 KB'lık cihazları destekleyecek şekilde oluşturun
Uygulamanız yerel kod kullanıyorsa uygulamanızın 16 KB'lık cihazları desteklediğinden emin olmak için aşağıdaki bölümlerde belirtilen adımları tamamlayın:
- Paylaşılan kitaplıklarınızın paketini güncelleme
- Uygulamanızı 16 KB ELF uyumluluğu kullanarak derleyin
- Kodu düzeltme ve çalışma zamanı sorunlarını çözme
- SDK'ların 16 KB desteğini kontrol etme
Paylaşılan kitaplıklarınızın paketini güncelleme
AGP'yi 8.5.1 veya sonraki bir sürüme yükseltin ve sıkıştırılmamış paylaşılan kitaplıkları kullanın.
Zip hizalamasını doğrulamak için bundletool kullanma
Paketinizin hizalamasını görmek için:
bundletool dump config --bundle=<my .aab> | grep alignment
PAGE_ALIGNMENT_16K simgesini görüyorsanız paketinizin 16 KB zip hizalaması istediğini anlarsınız. PAGE_ALIGNMENT_4K ifadesini görüyorsanız bu, bu AAB'den oluşturulan APK'nın zip dosyasında 4 KB'lık .so dosyaları olmasını sağlar.
AGP 8.5.1 veya sonraki sürümler
16 KB'lık cihazlarda, sıkıştırılmamış paylaşılan kitaplıklarla birlikte gelen uygulamaların, bunları 16 KB'lık zip ile uyumlu bir sınıra göre düzenlemesi gerekir. Bunu yapmak için Android Gradle eklentisini (AGP) 8.5.1 veya sonraki bir sürüme yükseltmeniz gerekir. Yükseltme işlemiyle ilgili ayrıntılar için Android Gradle eklentisi Yükseltme Asistanı bölümüne bakın.
AGP sürümü 8.5 veya önceki sürümler
AGP'yi 8.5.1 veya sonraki bir sürüme yükseltemiyorsanız alternatif olarak sıkıştırılmış paylaşılan kitaplıkları kullanmaya geçebilirsiniz. Uygulamanızı paketlerken Gradle'ın paylaşılan kitaplıklarınızı sıkıştırması için Gradle yapılandırmanızı güncelleyin. Böylece, hizalanmamış paylaşılan kitaplıklarla ilgili uygulama yükleme sorunlarını önleyebilirsiniz.
Groovy
build.gradle dosyanıza aşağıdaki seçeneği ekleyin:
android {
...
packagingOptions {
jniLibs {
useLegacyPackaging true
}
}
}
Kotlin
build.gradle.kts dosyanıza aşağıdaki seçeneği ekleyin:
android {
...
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
}
Uygulamanızı 16 KB ELF uyumluluğu kullanarak derleyin
16 KB'lık cihazlarda uygulamanızın çalışması için paylaşılan kitaplıkların ELF segmentlerinin 16 KB ELF uyumluluğu kullanılarak düzgün şekilde uyumlu hale getirilmesi gerekir.
Oyun geliştiriciler için: Oyununuz Unity oyun motoru üzerinde çalışıyorsa Unity kılavuzuna bakın. Oyununuz Unreal oyun motoru üzerinde çalışıyorsa Unreal kılavuzuna bakın. Yerel oyun motorları için bu kılavuzla devam edin.
Uygulamanızı 16 KB ELF uyumluluğuyla derlemek için kullandığınız Android NDK sürümüne bağlı olarak aşağıdaki bölümlerden birindeki adımları tamamlayın.
Android NDK r28 ve sonraki sürümler
NDK'nın r28 ve sonraki sürümleri, varsayılan olarak 16 KB ile uyumlu olacak şekilde derlenir.
Android NDK r27
Android NDK sürüm r27 ve üzeri ile 16 KB'lık ortak kitaplıkların derlenmesini desteklemek için ndk-build, build.gradle, build.gradle.kts veya bağlayıcı işaretlerinizi aşağıdaki gibi güncellemeniz gerekir:
ndk-build
Application.mk cihazınızda:
APP_SUPPORT_FLEXIBLE_PAGE_SIZES := true
Groovy
build.gradle dosyanızda bağımsız değişkeni -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON olarak ayarlayın:
android {
...
defaultConfig {
...
// This block is different from the one you use to link Gradle
// to your CMake or ndk-build script.
externalNativeBuild {
// For ndk-build, instead use the ndkBuild block.
cmake {
// Passes optional arguments to CMake.
arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
}
}
}
}
Kotlin
build.gradle.kts dosyanızda bağımsız değişkeni -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON olarak ayarlayın:
android {
...
defaultConfig {
...
// This block is different from the one you use to link Gradle
// to your CMake or ndk-build script.
externalNativeBuild {
// For ndk-build, instead use the ndkBuild block.
cmake {
// Passes optional arguments to CMake.
arguments += listOf("-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON")
}
}
}
}
Diğer derleme sistemleri
Aşağıdaki bağlayıcı işaretlerini belirtin:
-Wl,-z,max-page-size=16384
Android NDK r26 ve önceki sürümleri
NDK'nızı her zaman güncelleyin. Bu özellik yalnızca son çare olarak kullanılmalıdır ve destek garantisi verilmez.
Android NDK sürüm r26 veya daha eski bir sürümle 16 KB'lık uyumlu paylaşılan kitaplıkların derlenmesini desteklemek için ndk-build veya cmake yapılandırmanızı aşağıdaki şekilde güncellemeniz gerekir:
ndk-build
16 KB ELF hizalamasını etkinleştirmek için Android.mk dosyanızı güncelleyin:
LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384"
CMake
16 KB ELF hizalamasını etkinleştirmek için CMakeLists.txt dosyanızı güncelleyin:
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384")
Android NDK r22 ve önceki sürümler uyumlu değildir.
NDK'nızı her zaman güncelleyin. Bu özellik yalnızca son çare olarak kullanılmalıdır ve destek garantisi verilmez.
NDK r26 ve önceki sürümler için adımlara ek olarak, common-page-size=16384, eski GNU ld ve LLVM lld bağlayıcılarındaki hataları giderebilir. Bu yalnızca ELF'de .relro_padding bölümü de varsa çalışır. Bu, bağlayıcının sürümüne ve yazılan programa bağlıdır. Bu NDK sürümleri desteklenmez. Çalışmaması durumunda herhangi bir sorun bildirmeden önce NDK sürümünü güncelleyin.
Kodu düzeltme ve çalışma zamanı sorunlarını çözme
Uygulamanız 16 KB ile uyumlu olsa bile kodunuzdaki bazı yerlerde cihazın belirli bir sayfa boyutu kullandığı varsayılıyorsa uygulamanız hatalarla karşılaşabilir. Bunu önlemek için aşağıdaki adımları uygulayın:
Kod mantığınızda
PAGE_SIZEsabitine referans veren sabit kodlanmış bağımlılıkları veya bir cihazın sayfa boyutunun 4 KB olduğunu (4096) varsayan örnekleri kaldırın.Bunun yerine
getpagesize()veyasysconf(_SC_PAGESIZE)kullanın.mmap()ve sayfa hizalı bağımsız değişkenler gerektiren diğer API'lerin kullanımlarını bulun ve gerekirse alternatifleriyle değiştirin.
Bazı durumlarda, uygulamanız PAGE_SIZE değerini temel sayfa boyutuyla ilişkili olmayan uygun bir değer olarak kullanıyorsa bu durum, 16 KB modunda kullanıldığında uygulamanızın bozulmasına neden olmaz. Ancak bu değer, MAP_FIXED olmadan mmap ile çekirdeğe iletilirse çekirdek yine de tam bir sayfa kullanır ve bu da biraz bellek israfına neden olur. Bu nedenlerle, NDK r27 ve sonraki sürümlerinde 16 KB modu etkinleştirildiğinde PAGE_SIZE tanımlanmamıştır.
Uygulamanız PAGE_SIZE değerini bu şekilde kullanıyorsa ve bu değeri hiçbir zaman doğrudan çekirdeğe iletmiyorsa PAGE_SIZE değerini kullanmak yerine, başka amaçlarla kullanıldığını ve gerçek bir bellek sayfasını yansıtmadığını belirten yeni bir adla yeni bir değişken oluşturun.
SDK'ların 16 KB desteğini kontrol etme
Birçok SDK, özellikle kendiniz oluşturduysanız veya son zamanlarda önceden oluşturulmuş SDK'lar edindiyseniz 16 KB sayfa boyutlarıyla uyumludur. Ancak bazı SDK önceden oluşturulmuş dosyaları veya SDK sürümleri 16 KB ile uyumlu olmadığından, 16 KB ile hangi sürümün kullanılacağını belirlemek için her SDK sağlayıcının web sitesini kontrol etmeniz gerekir.
Uygulamanızı 16 KB ortamında test etme
Uygulamanızı 16 KB cihazları destekleyecek şekilde oluşturduktan sonra, uygulamanızda herhangi bir gerileme olup olmadığını görmek için 16 KB ortamında test etmeniz gerekir. Bunu yapmak için şu adımları uygulayın:
Android 15 SDK veya sonraki bir sürümü ayarlayın.
Aşağıdaki test ortamlarından birini ayarlayın:
Test cihazınızı başlatın ve 16 KB ortam kullandığını doğrulamak için aşağıdaki komutu çalıştırın:
adb shell getconf PAGE_SIZEKomut,
16384değerini döndürmelidir.Uygulamanızın 16 KB ile hizalı olduğunu doğrulamak için aşağıdaki
zipalignkomutunu çalıştırın. Burada APK_NAME, uygulamanızın APK dosyasının adıdır:zipalign -c -P 16 -v 4 APK_NAME.apkUygulamanızı kapsamlı bir şekilde test edin. Belirli sayfa boyutlarına referans veren kod örneklerinin değiştirilmesinden etkilenebilecek alanlara odaklanın.
Android Emulator'ı 16 KB tabanlı bir sistem görüntüsüyle kurma
Android Emulator'ı kullanarak 16 KB ortamı oluşturmak için aşağıdaki adımları uygulayın:
- Android Studio'da Tools > SDK Manager'ı (Araçlar > SDK Yöneticisi) tıklayın.
SDK Platformları sekmesinde Paket Ayrıntılarını Göster'i işaretleyin, ardından Android VanillaIceCream veya sonraki sürümler bölümünü genişletin ve oluşturmak istediğiniz sanal cihazlara bağlı olarak aşağıdaki emülatör sistem görüntülerinden birini ya da ikisini seçin:
- Google APIs Experimental 16 KB Page Size ARM 64 v8a System Image
- Google APIs Experimental 16 KB Page Size Intel x86_64 Atom System Image
Seçtiğiniz sistem görüntülerini indirmek için Uygula > Tamam'ı tıklayın.
Android 15 için sanal cihaz oluşturma adımlarını uygulayın ve sistem görüntüsü seçmeniz istendiğinde indirdiğiniz 16 KB sistem görüntüsünü seçin. Otomatik olarak önerilmeyen 16 KB'lık sistem görüntüsünü Diğer Görüntüler sekmesinde bulabilirsiniz.
Emülatörü başlatma
Android Emulator ve sanal cihazların kurulumunu tamamladıktan sonra emülatörü hedef cihaz menüsünden veya komut satırından başlatın.
使用开发者选项在设备上启用 16 KB 模式
切换以 16KB 页面大小启动设备开发者选项,以在 16 KB 模式下启动设备。
在 Android 15 的 QPR 版本中,您可以使用某些设备上提供的开发者选项,以 16 KB 模式启动设备并执行设备端测试。在使用开发者选项之前,请依次前往设置 > 系统 > 软件更新,并应用所有可用的更新。
此开发者选项适用于以下设备:
Pixel 8 和 Pixel 8 Pro(搭载 Android 15 QPR1 或更高版本)
Pixel 8a(搭载 Android 15 QPR1 或更高版本)
Pixel 9、9 Pro 和 9 Pro XL(搭载 Android 15 QPR2 Beta 2 或更高版本)
16 KB geriye dönük uyumluluk modu
Sayfa boyutu uyumluluk modunda uyarı
16 KB geri uyumluluk seçeneği, cihaz 16 KB çekirdekle çalışırken kullanılabilir. Paket yöneticisi, aşağıdaki koşullar karşılandığında bir uygulamayı 16 KB geriye dönük uyumluluk modunda çalıştırır:
- Uygulamada 4 KB LOAD segment hizalamasına sahip ELF dosyaları (
.souzantılı) varsa. - Sıkıştırılmış APK'da 4 KB ZIP uyumlu sıkıştırılmamış ELF dosyaları varsa.
Paket yöneticisi bir uygulama için 16 KB geriye dönük uyumluluk modunu etkinleştirdiyse uygulama ilk kez başlatıldığında 16 KB geriye dönük uyumluluk modunda çalıştığını belirten bir uyarı gösterir.
16 KB geriye dönük uyumluluk modu, bazı uygulamaların çalışmasına olanak tanır ancak en iyi güvenilirlik ve kararlılık için uygulamalar yine de 16 KB ile uyumlu olmalıdır.
Uygulama bilgileri sayfasındaki Gelişmiş bölümünde, Uygulamayı sayfa boyutu uyumluluk moduyla çalıştır ayarını etkinleştirerek veya devre dışı bırakarak belirli bir uygulama için 16 KB geriye dönük uyumluluk modunu etkinleştirebilir ya da devre dışı bırakabilirsiniz. Bu ayar yalnızca cihaz 16 KB sayfa boyutuyla çalışırken görünür.
Sayfa boyutu uyumluluk modu ayarı
Cihazdaki her uygulama için 16 KB geriye dönük uyumluluğu zorunlu kılmak istiyorsanız:
adb shell setprop bionic.linker.16kb.app_compat.enabled true
adb shell setprop pm.16kb.app_compat.disabled false
Cihazdaki her uygulama için 16 KB geriye dönük uyumluluğu zorunlu olarak devre dışı bırakmak için:
adb shell setprop bionic.linker.16kb.app_compat.enabled false
adb shell setprop pm.16kb.app_compat.disabled true
android:pageSizeCompat özelliğini etkin veya devre dışı olarak ayarlayarak AndroidManifest.xml içindeki belirli bir uygulama için geriye dönük uyumluluk modunu açın veya kapatın. Bu özellik ayarlandığında uygulama başlatılırken geriye dönük uyumluluk modu uyarıları gösterilmez.
Google Play uyumluluk şartı
Cihaz üreticileri, performansı optimize etmek için cihazlara daha fazla RAM eklediğinden birçoğu 16 KB gibi daha büyük sayfa boyutlarını kullanacak. Google Play, bu yeni cihazların lansmanına hazırlanmak için yeni bir uyumluluk şartı getiriyor: 1 Kasım 2025'ten itibaren Google Play'e gönderilen ve Android 15 (API düzeyi 35) ve sonraki sürümlerin yüklü olduğu cihazları hedefleyen tüm yeni uygulamalar ve mevcut uygulamalara yönelik güncellemeler 16 KB'lık sayfa boyutlarını desteklemelidir.
Bu uyumluluk koşulu hakkında daha fazla bilgi edinmek için blog yayınını inceleyin.