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 çalıştıran cihazları hedefleyen tüm yeni uygulamaların ve mevcut uygulamalara yönelik güncellemelerin 64 bit cihazlarda 16 KB sayfa boyutlarını desteklemesi gerekir.

Android, geçmişte yalnızca 4 KB bellek sayfası boyutlarını desteklemişti. Bu da Android cihazların genellikle sahip olduğu toplam bellek miktarı için sistem belleği performansını optimize etmişti. Android 15'ten itibaren AOSP, 16 KB sayfa boyutu kullanacak şekilde yapılandırılmış cihazları (16 KB cihazlar) destekler. Uygulamanız doğrudan veya bir SDK üzerinden dolaylı olarak NDK kitaplıkları kullanıyorsa uygulamanızı 16 KB'lık cihazlarda çalışacak şekilde yeniden oluşturmanız gerekir.

Cihaz üreticileri daha fazla fiziksel bellek (RAM) içeren cihazlar üretmeye devam ettikçe bu cihazların çoğu, cihazın performansını optimize etmek için 16 KB (ve sonunda daha büyük) sayfa boyutlarını kullanacak. 16 KB sayfa boyutuna sahip cihazlar için destek eklemek, uygulamanızın bu cihazlarda çalışmasını sağlar ve uygulamanızın ilgili performans iyileştirmelerinden yararlanmasına yardımcı olur. Yeniden derlenmeyen uygulamalar, gelecekteki Android sürümlerinde 16 KB'lık cihazlarda çalışmayacaktır.

Uygulamanıza destek eklemenize yardımcı olmak için uygulamanızın etkilenip etkilenmediğini kontrol etme, uygulamanızı yeniden oluşturma (geçerliyse) ve emülatörleri (Android Emulator için Android 15 sistem görüntüleri dahil) kullanarak uygulamanızı 16 KB ortamında test etme hakkında rehberlik sağladık.

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

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 File > Open'ı (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 tüm 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 Build-Tools 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ükleme 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 bu bölümdeki adımları uygulayarak uygulamanızı yeniden derlemeniz ve 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. Paylaşılan kitaplıkların tümü 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ğu kullanarak 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 cihazlar, sıkıştırılmamış paylaşılan kitaplıklarla birlikte gelen uygulamaların bu kitaplıkları 16 KB'lık zip ile uyumlu bir sınıra göre düzenlemesini gerektirir. 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'nin 8.5 veya önceki bir sürümü

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, uyumlu olmayan 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 sonraki sürümlerde 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 ayarlayın -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON:

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 ayarlayın -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON:

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

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 uyumluluğunu etkinleştirmek için Android.mk dosyanızı güncelleyin:

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

CMake

16 KB ELF uyumluluğunu 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

NDK r26 ve daha eski sürümler için belirtilen adıma ek olarak, NDK r22 veya daha eski bir sürümü kullanıyorsanız common-page-size=16384 değerini ayarlamanız gerekir. common-page-size=16384 ayarı, GNU ld ve LLVM lld bağlayıcılarının önceki sürümlerindeki hatalar nedeniyle gereklidir. Ancak bu hataları tamamen önlemek için araçlarınızı daha yeni bir sürüme güncellemenizi önemle tavsiye ederiz.

Android NDK'nın r22 veya önceki sürümleriyle 16 KB uyumlu paylaşılan kitaplıklar derlemek için ndk-build veya cmake yapılandırmanızı aşağıdaki gibi güncelleyin:

ndk-build

16 KB ile uyumlu ELF oluşturmak için Android.mk sürümünüzü güncelleyin:

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

CMake

16 KB ile uyumlu ELF oluşturmak için CMakeLists.txt sürümünüzü güncelleyin:

target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384")
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,common-page-size=16384")

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ümlerde 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 ortamda 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'sını kurun.

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

  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 Android 15 sistem görüntüsüyle kurun

Android Emulator'ü kullanarak 16 KB'lık bir ortam oluşturmak için aşağıdaki adımları uygulayın:

  1. 16 KB tabanlı Android 15 emülatör sistem görüntüleri, Android Studio Jellyfish | 2023.3.1 veya sonraki sürümlerle uyumludur. Ancak 16 KB'lık cihazlarla çalışırken en iyi deneyimi elde etmek için Android Studio Ladybug | 2024.2.1 veya sonraki bir sürümü kullanın.

    Yeni özellikler üzerinde çalışmaya devam ediyoruz. Bu nedenle, kullanıma sunuldukça Android Studio'nun yeni sürümlerini veya en son önizleme sürümünü indirin.

    Android Studio'nun mevcut sürümünü yüklü tutabileceğinizi unutmayın. Birden fazla sürümü yan yana yükleyebilirsiniz.

  2. Android Studio'da Tools > SDK Manager'ı (Araçlar > SDK Yöneticisi) tıklayın.

  3. SDK Platforms (SDK Platformları) sekmesinde Show Package Details'ı (Paket Ayrıntılarını Göster) işaretleyin, ardından Android VanillaIceCream veya daha yeni 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'lık emülatör sistem görüntülerini indirin.
  4. Seçtiğiniz sistem görüntülerini indirmek için Uygula > Tamam'ı tıklayın.

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

Bazı emülatör sürümleri ve sistem görüntüleri için ek adımlar

Android Emulator'ın 35.1.5 ile 35.1.20 arasındaki sürümlerinde ve SDK Yöneticisi'nde sunulan Android 15.0 16 KB sayfa boyutu sistem görüntülerinin 4. düzeltmesinden önce, x86_64 sistemlerinde 16 KB ortamı simüle etmek için aşağıdaki adımları da tamamlamanız gerekir. Bu adımlar, 35.1.21 sürümünden sonra ve Android 15.0 16 KB Sayfa Boyutu sistem görüntülerinin 4. düzeltmesinde veya sonraki sürümlerde gerekli değildir.

  1. Cihaz yöneticisinde, 16 KB'lık resmin yanındaki 3 noktayı, ardından Disk üzerinde göster'i tıklayın.
  2. Bu klasörde config.ini dosyasını bulun.
  3. Aşağıdaki satırı config.ini dosyasına ekleyin ve değişikliklerinizi kaydedin:

    kernel.parameters = androidboot.page_shift=14
    
  4. Değişikliklerinizi doğrulamak için aşağıdaki komutu çalıştırın. Bu komut 16384 değerini döndürmelidir:

    adb shell getconf PAGE_SIZE
    

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.

Geliştirici seçeneklerini kullanarak bir cihazda 16 KB modunu etkinleştirme

Cihazı 16 KB modunda başlatmak için 16 KB sayfa boyutuyla başlat geliştirici seçeneğini etkinleştirin.

Android 15 QPR1'den itibaren, cihazı 16 KB modunda başlatmak ve cihaz üzerinde test yapmak için belirli cihazlarda bulunan geliştirici seçeneğini kullanabilirsiniz. Geliştirici seçeneğini kullanmadan önce Ayarlar > Sistem > Yazılım güncellemeleri'ne gidip varsa güncellemeleri uygulayın.

Bu geliştirici seçeneği aşağıdaki cihazlarda kullanılabilir:

  • Pixel 8 ve 8 Pro (Android 15 QPR1 veya sonraki sürümler)

    Uyarı: Android 15 QPR2 Beta 3 ile ilgili bilinen bir sorun nedeniyle, Android 15 QPR2 Beta 3 yüklendikten ve cihaz 16 KB modunda başlatıldıktan sonra Pixel 8 cihazlarda dokunmatik ekran çalışmıyor. Bu sorun, Pixel 8 Pro cihazları etkilemez.

  • Pixel 8a (Android 15 QPR1 veya sonraki sürümler)

    Uyarı: Android 15 QPR2 Beta 3 ile ilgili bilinen bir sorun nedeniyle, Android 15 QPR2 Beta 3 yüklendikten ve cihaz 16 KB modunda başlatıldıktan sonra Pixel 8a cihazlarda dokunmatik ekran çalışmıyor.

  • Pixel 9, 9 Pro ve 9 Pro XL (Android 15 QPR2 Beta 2 veya sonraki sürümlerle)

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) ile sonraki sürümlerin yüklü olduğu cihazları hedefleyen tüm yeni uygulamaların ve mevcut uygulamalara yönelik güncellemelerin 16 KB sayfa boyutlarını desteklemesi gerekecek.

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