16 KB'lık sayfa boyutlarını destekler

16 KB Google Play uyumluluk şartı
1 Kasım 2025'ten itibaren Google Play'e gönderilen ve Android 15 veya sonraki sürümleri hedefleyen tüm yeni uygulamaların ve mevcut uygulamaların güncellemelerinin 64 bit cihazlarda 16 KB sayfa boyutlarını desteklemesi gerekecek.

Historically, Android has only supported 4 KB memory page sizes, which has optimized system memory performance for the average amount of total memory that Android devices have typically had. Beginning with Android 15, AOSP supports devices that are configured to use a page size of 16 KB (16 KB devices). If your app uses any NDK libraries, either directly or indirectly through an SDK, then you will need to rebuild your app for it to work on these 16 KB devices.

As device manufacturers continue to build devices with larger amounts of physical memory (RAM), many of these devices will adopt 16 KB (and eventually greater) page sizes to optimize the device's performance. Adding support for 16 KB page size devices enables your app to run on these devices and helps your app benefit from the associated performance improvements. Without recompiling, apps won't work on 16 KB devices in future Android releases.

To help you add support for your app, we've provided guidance on how to check if your app is impacted, how to rebuild your app (if applicable), and how to test your app in a 16 KB environment using emulators (including Android 15 system images for the Android Emulator).

Avantajlar ve performans artışları

Devices configured with 16 KB page sizes use slightly more memory on average, but also gain various performance improvements for both the system and apps:

  • Lower app launch times while the system is under memory pressure: 3.16% lower on average, with more significant improvements (up to 30%) for some apps that we tested
  • Reduced power draw during app launch: 4.56% reduction on average
  • Faster camera launch: 4.48% faster hot starts on average, and 6.60% faster cold starts on average
  • Improved system boot time: improved by 8% (approximately 950 milliseconds) on average

These improvements are based on our initial testing, and results on actual devices will likely differ. We'll provide additional analysis of potential gains for apps as we continue our testing.

Uygulamanızın etkilenip etkilenmediğini kontrol edin

Uygulamanız yerel kod kullanıyorsa uygulamanızı 16 KB cihazları destekleyecek şekilde yeniden oluşturmanız gerekir. Uygulamanızın yerel kod kullanıp kullanmadığından emin değilseniz APK Analiz Aracı'nı kullanarak yerel kod olup olmadığını belirleyebilir ve ardından bulduğunuz paylaşılan kitaplıklar için ELF segmentlerinin hizalamasını kontrol edebilirsiniz. Android Studio, hizalama sorunlarını otomatik olarak algılamanıza yardımcı olan özellikler de sunar.

Uygulamanızda yalnızca Java programlama dilinde veya Kotlin'de yazılmış kodlar (tüm kitaplıklar veya SDK'lar dahil) kullanılıyorsa uygulamanız 16 KB cihazları zaten destekliyor demektir. Bununla birlikte, uygulama davranışında beklenmedik bir gerileme olmadığını doğrulamak için uygulamanızı 16 KB ortamında test etmenizi öneririz.

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):

  1. Android Studio'yu açın, ardından Dosya > Aç'ı tıklayın ve herhangi bir projeyi seçin.
  2. Menü çubuğundan Build > Analyze APK... (Derleme > APK'yı analiz et...) seçeneğini tıklayın.

    APK Analizcisi'ni başlatmak için Studio Build menü seçeneği
  3. Analiz etmek istediğiniz APK'yı seçin.

  4. Varsa paylaşılan nesne (.so) dosyalarını barındıran lib klasörüne bakın. Paylaşılan nesne dosyaları varsa uygulamanız yerel kod kullanıyordur. Hizalama sütununda, hizalama sorunları olan dosyalarla ilgili uyarı mesajları gösterilir. Paylaşılan nesne dosyası yoksa veya lib klasörü bulunmuyorsa uygulamanız yerel kod kullanmıyordur.

    Paylaşılan nesne dosyalarının mevcut olduğunu gösteren APK Analizcisi görünümü

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.

Bir projedeki hizalama sorunlarıyla ilgili Studio uyarı bildirimleri

Android Studio'daki Lint, 16 KB'a uygun olmayan yerel kitaplıkları da vurgular.

Hizalanmamış yerel kitaplıkla ilgili Studio linter uyarısı

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:

  1. check_elf_alignment.sh komut dosyasını bir dosyaya kaydedin.

  2. Komut dosyasını uygulamanızın APK dosyasında çalıştırın:

    check_elf_alignment.sh APK_NAME.apk
    

    Komut dosyası, tüm arm64-v8a paylaşılan kitaplıklar için ALIGNED veya UNALIGNED çıkışını verir.

  3. arm64-v8a veya x86_64 paylaşılan kitaplıklarından herhangi biri UNALIGNED ise 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:

  1. 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 sdkmanager komut satırı aracı kullanılarak yüklendiğinden emin olun.
  2. Uygulamanızın APK dosyasını çıkarın:

    Linux veya macOS

    unzip APK_NAME.apk -d /tmp/my_apk_out
    

    Windows (PowerShell)

    Expand-Archive -Path .\APK_NAME.apk -DestinationPath ~\tmp\my_apk_out
    
  3. APK dosyanızı çıkardığınız geçici dizinde, paylaşılan nesne (.so) dosyaları için lib dizininin 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 LOAD
    

    Windows (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ı ve NDK_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**14
    
  4. Yük segmentlerinin 2**14 değerinden küçük değerler içermediğinden emin olmak için çıkış satırlarını kontrol edin. Yükleme segmentlerinden herhangi biri 2**13, 2**12 veya 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.

  5. Ardından, uygulamanızın APK dosyasında zipalign komut 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.apk
    

    Windows (PowerShell)

    SDK_ROOT_LOCATION\Android\sdk\build-tools\35.0.0\zipalign.exe -v -c -P 16 4 APK_NAME.apk
    

    Burada SDK_ROOT_LOCATION, Android SDK'yı yüklediğiniz dizinin yolu, APK_NAME ise uygulamanızın APK dosyasının adıdır. Tüm paylaşılan 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 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:

  1. Paylaşılan kitaplıklarınızın paketini güncelleme
  2. Uygulamanızı 16 KB ELF uyumluluğuyla derleyin
  3. Kodu düzeltme ve çalışma zamanı sorunlarını çözme
  4. SDK'ların 16 KB desteğini kontrol etme

Paylaşılan kitaplıklarınızın paketini güncelleme

AGP'nin 8.5.1 veya sonraki bir sürümüne geçmenizi ve sıkıştırılmamış paylaşılan kitaplıkları kullanmanızı öneririz.

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 8.5 veya önceki sürümleri

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 sürümlerde 16 KB ile 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 öğenizi güncelleyin:

LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384"

CMake

16 KB ELF hizalamasını etkinleştirmek için CMakeLists.txt öğenizi 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ğil

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 yerlerde bir 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:

  1. Kod mantığınızda PAGE_SIZE sabitine 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() veya sysconf(_SC_PAGESIZE) kullanın.

  2. 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, çekirdeğe MAP_FIXED olmadan mmap ile 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:

  1. Android 15 SDK veya sonraki bir sürümü ayarlayın.

  2. Aşağıdaki test ortamlarından birini ayarlayın:

  3. Test cihazınızı başlatın ve 16 KB'lık bir ortam kullandığını doğrulamak için aşağıdaki komutu çalıştırın:

    adb shell getconf PAGE_SIZE
    

    Komut, 16384 değerini döndürmelidir.

  4. Uygulamanızın 16 KB ile hizalı olduğunu doğrulamak için aşağıdaki zipalign komutunu ç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.apk
    
  5. Uygulamanı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:

  1. Android Studio'da Tools > SDK Manager'ı (Araçlar > SDK Yöneticisi) tıklayın.
  2. 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
    Android Studio'daki SDK Yöneticisi'ni kullanarak 16 KB öykünücü sistem görüntülerini indirin.
  3. Seçtiğiniz sistem görüntülerini indirmek için Uygula > Tamam'ı tıklayın.

  4. 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.

    16 KB emülatör görüntüsünü Diğer Görüntüler sekmesinde bulma

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.

Enable 16 KB mode on a device using developer options

Toggle the Boot with 16KB page size developer option to boot a device in 16 KB mode.

In QPR versions of Android 15, you can use the developer option that's available on certain devices to boot the device in 16 KB mode and perform on-device testing. Before using the developer option, go to Settings > System > Software updates and apply any updates that are available.

This developer option is available on the following devices:

  • Pixel 8 and 8 Pro (with Android 15 QPR1 or higher)

  • Pixel 8a (with Android 15 QPR1 or higher)

  • Pixel 9, 9 Pro, and 9 Pro XL (with Android 15 QPR2 Beta 2 or higher)

16 KB geriye dönük uyumluluk modu

Sayfa boyutu uyumluluk modunda uyarı

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ı (.so uzantı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ı

Sayfa boyutu uyumluluk modu ayarı

Cihazdaki her uygulamada 16 KB geriye dönük uyumluluğu zorunlu kılmak için:

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ın ve mevcut uygulamalara yönelik güncellemelerin 16 KB'lık sayfa boyutlarını desteklemesi gerekecek.

Bu uyumluluk koşulu hakkında daha fazla bilgi edinmek için blog yayınını inceleyin.