תמיכה בגודלי דפים של 16KB

דרישת התאימות של Google Play לדפים בגודל 16KB
החל מ-1 בנובמבר 2025, כל האפליקציות החדשות והעדכונים לאפליקציות קיימות שמוגשים ל-Google Play ומטרגטים מכשירים עם Android 15 ומעלה, חייבים לתמוך בגודלי דפים של 16KB במכשירי 64 ביט.

从历史上看,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 环境中测试应用

היתרונות ושיפורי הביצועים

配置为使用 16 KB 页面大小的设备平均会使用略多一些的内存,但系统和应用的性能也会得到各种提升:

  • 缩短了系统内存压力时的应用启动时间:平均降低了 3.16%;对于我们测试的某些应用而言,改进幅度更大(最高可达 30%)
  • 应用启动期间的功耗降低:平均降低了 4.56%
  • 相机启动更快:热启动速度平均提高了 4.48%,冷启动速度平均提高了 6.60%
  • 缩短了系统启动时间:平均缩短了 8%(约 950 毫秒)

这些改进基于我们的初始测试,实际设备上的结果可能会有所不同。随着测试的继续进行,我们将进一步分析应用的潜在收益。

איך בודקים אם האפליקציה מושפעת

如果您的应用使用了任何原生代码,则应重新构建应用,使其支持 16 KB 设备。如果您不确定自己的应用是否使用了原生代码,可以使用 APK 分析器来确定是否存在任何原生代码,然后检查您找到的任何共享库的 ELF 段对齐情况。Android Studio 还提供了一些功能,可帮助您自动检测对齐问题

如果您的应用仅使用以 Java 或 Kotlin 编程语言编写的代码(包括所有库或 SDK),则该应用已支持 16 KB 设备。不过,我们建议您在 16 KB 环境中测试应用,以验证应用行为是否出现意外的回归。

האם האפליקציה שלך משתמשת בקוד Native?

האפליקציה שלך משתמשת בקוד Native אם אחד מהתנאים הבאים מתקיים:

  • האפליקציה שלך משתמשת בקוד C/C++ (מקורי). אם האפליקציה שלכם משתמשת ב-Android NDK, היא משתמשת ב-קוד Native.
  • האפליקציה שלך מקשרת לספריות או לתלות של צד שלישי (כמו ערכות SDK) שמשתמשות בהן.
  • האפליקציה שלך נוצרה על ידי כלי צד שלישי ליצירת אפליקציות שמשתמש בספריות Native במכשיר.

זיהוי ספריות Native באמצעות הכלי לניתוח APK

הכלי לניתוח APK הוא כלי שמאפשר להעריך היבטים שונים של קובץ APK בנוי. כדי לבדוק אם האפליקציה משתמשת בקוד Native (גם אם היא תואמת ל-16 KB וגם אם לא):

  1. פותחים את Android Studio, לוחצים על File > Open (קובץ > פתיחה) ובוחרים פרויקט כלשהו.
  2. בסרגל התפריטים, לוחצים על Build > Analyze APK...‎

    אפשרות בתפריט Build ב-Studio להפעלת הכלי לניתוח APK
  3. בוחרים את קובץ ה-APK שרוצים לנתח.

  4. בודקים בתיקייה lib אם יש קבצים של אובייקטים משותפים (.so). אם יש קבצים משותפים של אובייקטים, האפליקציה משתמשת בקוד מקורי. בעמודה התאמה מוצגות הודעות אזהרה לגבי קבצים שבהם יש בעיות בהתאמה. אם אין קבצים של אובייקטים משותפים או שאין תיקייה בשם lib, סימן שהאפליקציה לא משתמשת בקוד Native.

    תצוגה של הכלי לניתוח APK שבה מוצגים קובצי אובייקט משותפים

זיהוי בעיות התאמה באמצעות בדיקות אוטומטיות

אם הספריות או קובצי ה-APK שנוצרו מראש לא עומדים בדרישות של 16 KB, מוצגת אזהרה ב-Android Studio. משתמשים בכלי APK Analyzer כדי לבדוק אילו ספריות צריך לעדכן או אם נדרשים שינויים בקוד.

התראות אזהרה ב-Studio לגבי בעיות התאמה בפרויקט

Lint ב-Android Studio גם מדגיש ספריות Native שלא מיושרות ל-16 KB.

אזהרת Studio linter לגבי ספריית Native שלא מיושרת

בדיקת ההתאמה של פלחי ELF לספריות משותפות

בספריות משותפות, צריך לוודא שפלח ה-ELF של הספריות המשותפות מיושר בצורה נכונה באמצעות יישור ELF של 16KB. אם אתם מפתחים ב-Linux או ב-macOS, אתם יכולים להשתמש בסקריפט check_elf_alignment.sh כמו שמתואר בקטע הבא. אפשר גם להשתמש ישירות בכלי שורת הפקודה.

שימוש בסקריפט check_elf_alignment.sh‏ (Linux או macOS)

כדי לבדוק את ההתאמה של פלחי ELF באמצעות הסקריפט check_elf_alignment.sh:

  1. שומרים את הסקריפט check_elf_alignment.sh בקובץ.

  2. מריצים את הסקריפט בקובץ ה-APK של האפליקציה:

    check_elf_alignment.sh APK_NAME.apk
    

    הפלט של הסקריפט הוא ALIGNED או UNALIGNED לכל arm64-v8a הספריות המשותפות.

  3. אם יש ספריות משותפות מסוג arm64-v8a או x86_64 שהן UNALIGNED, צריך לעדכן את האריזה של הספריות האלה, ואז לקמפל מחדש את האפליקציה ולבדוק אותה מחדש לפי השלבים שמופיעים בקטע הזה.

שימוש ישיר בכלי שורת הפקודה

כדי לבדוק את ההתאמה של פלחי ELF באמצעות כלים של שורת הפקודה ישירות:

  1. מוודאים שגרסה 35.0.0 ואילך של Android SDK Build-Tools ו-Android NDK מותקנים באמצעות SDK Manager ב-Android Studio או באמצעות כלי שורת הפקודה sdkmanager.
  2. מחולצים את קובץ ה-APK של האפליקציה:

    ‫Linux או 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, בודקים את התוכן של הספרייה lib כדי למצוא קבצים של אובייקט משותף (.so). אלה אותם קבצים של אובייקטים משותפים שמוצגים כשמזהים ספריות מקוריות באמצעות הכלי לניתוח APK. מריצים את הפקודה הבאה בכל קובץ של אובייקט משותף:

    ‫Linux או 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"
    

    כאשר SDK_ROOT_LOCATION הוא הנתיב לספרייה שבה התקנתם את Android SDK,‏ SHARED_OBJECT_FILE הוא שם קובץ האובייקט המשותף שאתם בודקים, ו-NDK_VERSION היא גרסת Android NDK שהתקנתם (לדוגמה, 28.0.12433566). הפלט ייראה בערך כך לכל קובץ שתבדקו:

    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. בודקים את שורות הפלט כדי לוודא שערכי פלחי הטעינה לא נמוכים מ-2**14. אם יש מקטעי טעינה עם ערכים של 2**13, 2**12 או פחות, צריך לעדכן את האריזה של הספריות האלה, ואז לקמפל מחדש את האפליקציה ולבדוק אותה מחדש לפי השלבים שמופיעים בקטע הזה.

  5. לאחר מכן, מריצים את כלי שורת הפקודה zipalign בקובץ ה-APK של האפליקציה:

    ‫Linux או 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
    

    כאשר SDK_ROOT_LOCATION הוא הנתיב לספרייה שבה התקנתם את Android SDK, ו-APK_NAME הוא השם של קובץ ה-APK של האפליקציה. בשורה האחרונה של הפלט יופיע הכיתוב 'האימות הצליח' אם כל הספריות המשותפות מיושרות בצורה נכונה.

    אם האימות נכשל, צריך לבצע התאמה מחדש של כמה ספריות משותפות. לשם כך, צריך לעדכן את האריזה של הספריות האלה, ואז להדר מחדש את האפליקציה ולבדוק אותה מחדש לפי השלבים שמופיעים בקטע הזה.

פיתוח האפליקציה עם תמיכה במכשירים עם דפים בגודל 16 KB

אם האפליקציה שלך משתמשת בקוד Native, צריך לבצע את השלבים שמפורטים בקטעים הבאים כדי לוודא שהאפליקציה תומכת במכשירים עם דפי זיכרון בגודל 16 KB:

  1. עדכון האריזה של הספריות המשותפות
  2. קומפילציה של האפליקציה באמצעות יישור ELF בגודל 16 KB
  3. תיקון קוד ופתרון בעיות בזמן ריצה
  4. בדיקה של ערכות SDK לתמיכה ב-16 KB

עדכון האריזה של הספריות המשותפות

משדרגים ל-AGP גרסה 8.5.1 ואילך ומשתמשים בספריות משותפות לא דחוסות.

שימוש ב-bundletool כדי לאמת את למזג מערכים

כדי לראות את ההתאמה של החבילה שלכם, משתמשים בפקודה:

bundletool dump config --bundle=<my .aab>  | grep alignment

אם מופיע PAGE_ALIGNMENT_16K, המשמעות היא שהחבילה מבקשת יישור של 16 KB zip. אם מופיע הערך PAGE_ALIGNMENT_4K, המשמעות היא שקובצי ה-‎ .so שנוצרו מה-AAB הזה צריכים להיות מיושרים בגודל 4 KB בקובץ ה-ZIP.

AGP בגרסה 8.5.1 ואילך

במכשירים עם 16KB, אפליקציות שמופצות עם ספריות משותפות לא דחוסות צריכות להיות מיושרות בגבול של 16KB ב-zip. כדי לעשות את זה, צריך לשדרג לגרסה 8.5.1 ואילך של פלאגין של Android Gradle ‏(AGP). פרטים על תהליך השדרוג מופיעים בקטע כלי העזרה לשדרוג הפלאגין של Android Gradle.

AGP בגרסה 8.5 ומטה

אם אין לכם אפשרות לשדרג את AGP לגרסה 8.5.1 ואילך, האפשרות החלופית היא לעבור לשימוש בספריות משותפות דחוסות. כדי למנוע בעיות בהתקנת האפליקציה בגלל ספריות משותפות לא מיושרות, צריך לעדכן את ההגדרה של Gradle כך ש-Gradle ידחוס נתונים את הספריות המשותפות כשיוצרים חבילת אפליקציה.

Groovy

מוסיפים את האפשרות הבאה לקובץ build.gradle:

android {
  ...
  packagingOptions {
      jniLibs {
        useLegacyPackaging true
      }
  }
}

Kotlin

מוסיפים את האפשרות הבאה לקובץ build.gradle.kts:

android {
  ...
  packagingOptions {
      jniLibs {
        useLegacyPackaging = true
      }
  }
}

קומפילציה של האפליקציה באמצעות יישור ELF בגודל 16 KB

כדי שהאפליקציה תפעל במכשירים עם 16 KB, צריך ליישר את פלחי ה-ELF של הספריות המשותפות באמצעות יישור ELF של 16 KB.

מפתחי משחקים שמשתמשים במנוע המשחק Unity יכולים לעיין במדריך Unity. אם המשחק שלכם פועל על מנוע המשחק Unreal, כדאי לעיין במדריך ל-Unreal. אם אתם משתמשים במנועי משחקים מקוריים, אתם יכולים להמשיך עם המדריך הזה.

כדי להדר את האפליקציה באמצעות יישור ELF בגודל 16KB, פועלים לפי השלבים באחד מהקטעים הבאים, בהתאם לגרסה של Android NDK שבה אתם משתמשים.

‫Android NDK r28 ואילך

ב-NDK מגרסה r28 ואילך, ההידור (compile) מיושר ל-16 KB כברירת מחדל.

‫Android NDK r27

כדי לתמוך בהידור של ספריות משותפות בגודל 16 KB באמצעות Android NDK בגרסה r27 ואילך, צריך לעדכן את ndk-build,‏ build.gradle,‏ build.gradle.kts או את דגלי המקשר באופן הבא:

ndk-build

ב-Application.mk שלכם:

APP_SUPPORT_FLEXIBLE_PAGE_SIZES := true

Groovy

בקובץ build.gradle, מגדירים את הארגומנט -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, מגדירים את הארגומנט -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")
      }
    }
  }
}

מערכות build אחרות

מציינים את דגלי ה-linker הבאים:

-Wl,-z,max-page-size=16384

‫Android NDK r26 ומטה

חשוב לעדכן תמיד את ה-NDK. השימוש באפשרות הזו מומלץ רק כמוצא אחרון, ולא מובטחת תמיכה.

כדי לתמוך בהידור של ספריות משותפות עם יישור של 16 KB באמצעות Android NDK בגרסה r26 או בגרסה מוקדמת יותר, צריך לעדכן את ההגדרה של ndk-build או cmake באופן הבא:

ndk-build

כדי להפעיל יישור ELF בגודל 16 KB, צריך לעדכן את Android.mk:

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

CMake

כדי להפעיל יישור ELF בגודל 16 KB, צריך לעדכן את CMakeLists.txt:

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

אין תאימות ל-Android NDK r22 ולגרסאות קודמות

חשוב לעדכן תמיד את ה-NDK. השימוש באפשרות הזו מומלץ רק כמוצא אחרון, ולא מובטחת תמיכה.

בנוסף לשלבים שנדרשים ב-NDK r26 ומטה, common-page-size=16384 יכול לעקוף באגים במקשרים הישנים GNU ld ו-LLVM lld. הפעולה הזו אפשרית רק אם יש גם קטע .relro_padding בקובץ ה-ELF. זה תלוי בגרסה של הכלי לקישור ובתוכנית הספציפית שנכתבה. אין תמיכה בגרסאות האלה של NDK, ואם היא לא פועלת, צריך לעדכן את גרסת NDK לפני שמדווחים על בעיה כלשהי.

תיקון קוד ופתרון בעיות בזמן ריצה

גם אם האפליקציה שלכם מותאמת ל-16KB, יכול להיות שיופיעו בה שגיאות אם יש מקומות בקוד שבהם מניחים שמכשיר מסוים משתמש בגודל דף ספציפי. כדי למנוע את הבעיה, מבצעים את השלבים הבאים:

  1. מסירים מהלוגיקה של הקוד את כל התלות שמוגדרת מראש ומפנה לקבוע PAGE_SIZE או למופעים שבהם מניחים שגודל הדף של המכשיר הוא 4 KB ‏ (4096).

    במקום זאת, השתמשו ב-getpagesize() או ב-sysconf(_SC_PAGESIZE).

  2. מחפשים שימושים ב-mmap() ובממשקי API אחרים שדורשים ארגומנטים שתואמים לדף, ומחליפים אותם בחלופות במקומות שבהם זה נדרש.

במקרים מסוימים, אם האפליקציה שלך משתמשת בערך PAGE_SIZE כערך נוח שלא קשור לגודל הדף הבסיסי, השימוש בערך הזה במצב 16 KB לא יגרום לאפליקציה שלך להפסיק לפעול. עם זאת, אם הערך הזה מועבר לליבה עם mmap בלי MAP_FIXED, הליבה עדיין משתמשת בדף שלם, מה שגורם לבזבוז של חלק מהזיכרון. לכן, PAGE_SIZE לא מוגדר כשמצב 16KB מופעל ב-NDK r27 ומעלה.

אם האפליקציה שלכם משתמשת ב-PAGE_SIZE בצורה הזו ואף פעם לא מעבירה את הערך הזה ישירות לליבה, במקום להשתמש ב-PAGE_SIZE, צריך ליצור משתנה חדש עם שם חדש כדי לשקף את העובדה שהוא משמש למטרות אחרות ולא משקף דף זיכרון אמיתי.

בדיקה של ערכות SDK לתמיכה ב-16 KB

הרבה ערכות SDK תואמות לגודלי דפים של 16 KB, במיוחד אם אתם בונים אותן בעצמכם או משתמשים בגרסאות עדכניות מוכנות מראש. עם זאת, יש גרסאות SDK או קבצים בינאריים מוכנים מראש של SDK שלא תואמים ל-16 KB, ולכן כדאי לבדוק באתר של כל ספק SDK איזו גרסה מתאימה לשימוש עם 16 KB.

בדיקת האפליקציה בסביבה של 16 KB

אחרי שיוצרים את האפליקציה עם תמיכה במכשירים עם 16KB, כדאי לבדוק את האפליקציה בסביבה של 16KB כדי לראות אם יש בה רגרסיות. לשם כך, בצע את הצעדים הבאים:

  1. מגדירים את Android 15 SDK או גרסה מתקדמת יותר.

  2. מגדירים אחת מסביבות הבדיקה הבאות:

  3. מפעילים את מכשיר הבדיקה ומריצים את הפקודה הבאה כדי לוודא שהוא משתמש בסביבה של 16 KB:

    adb shell getconf PAGE_SIZE
    

    הפקודה צריכה להחזיר את הערך 16384.

  4. מריצים את הפקודה הבאה zipalign כדי לוודא שהאפליקציה מיושרת ל-16 KB, כאשר APK_NAME הוא השם של קובץ ה-APK של האפליקציה:

    zipalign -c -P 16 -v 4 APK_NAME.apk
    
  5. צריך לבדוק את האפליקציה באופן יסודי, תוך התמקדות באזורים שעשויים להיות מושפעים משינוי מופעי קוד שמפנים לגדלי דפים ספציפיים.

הגדרה של אמולטור Android עם קובץ אימג' של מערכת שמבוסס על 16KB

כדי להגדיר סביבה של 16 KB באמצעות אמולטור Android, פועלים לפי השלבים הבאים:

  1. ב-Android Studio, לוחצים על Tools > SDK Manager (כלים > SDK Manager).
  2. בכרטיסייה SDK Platforms (פלטפורמות SDK), מסמנים את התיבה Show Package Details (הצגת פרטי החבילה), מרחיבים את הקטע Android VanillaIceCream (Android VanillaIceCream) או גרסה מתקדמת יותר, ובוחרים אחת או יותר מתמונות המערכת הבאות של האמולטור, בהתאם למכשירים הווירטואליים שרוצים ליצור:

    • 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
    הורדת תמונות מערכת של אמולטור בגודל 16KB באמצעות SDK Manager ב-Android Studio
  3. לוחצים על החלה > אישור כדי להוריד את תמונות המערכת שבחרתם.

  4. פועלים לפי השלבים להגדרת מכשיר וירטואלי ל-Android 15, וכשמוצגת בקשה לבחירת קובץ אימג' של המערכת, בוחרים את קובץ אימג' של המערכת בגודל 16KB שהורדתם. אם היא לא מומלצת באופן אוטומטי, אפשר למצוא את קובץ האימג' של המערכת בגודל 16 KB בכרטיסייה תמונות אחרות.

    איתור תמונת האמולטור בגודל 16KB בכרטיסייה Other Images (תמונות אחרות)

הפעלת האמולטור

אחרי שמסיימים להגדיר את אמולטור Android ואת המכשירים הווירטואליים, מפעילים את האמולטור מתפריט מכשיר היעד או משורת הפקודה.

使用开发者选项在设备上启用 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 或更高版本)

מצב תאימות לאחור של 16KB

אזהרה במצב של תאימות לגודל הדף

אזהרה במצב תאימות לגודל הדף

האפשרות של 16 KB לתאימות לאחור זמינה כשהמכשיר פועל עם ליבה של 16 KB. כלי לניהול חבילות מפעיל אפליקציה במצב תאימות לאחור של 16 KB כשמתקיימים התנאים הבאים:

  • אם לאפליקציה יש קובצי ELF (עם סיומת .so) עם יישור של פלח LOAD בגודל ‎4 KB.
  • אם קובץ ה-APK הדחוס מכיל קובצי ELF לא דחוסים בגודל 4 KB עם יישור ZIP.

אם כלי לניהול חבילות הפעיל מצב תאימות לאחור של 16KB עבור אפליקציה, האפליקציה תציג אזהרה כשהיא תופעל בפעם הראשונה, ותציין שהיא פועלת במצב תאימות לאחור של 16KB.

מצב תאימות לאחור של 16 KB מאפשר לאפליקציות מסוימות לפעול, אבל כדי להבטיח את המהימנות והיציבות הטובות ביותר, האפליקציות עדיין צריכות להיות מיושרות ל-16 KB.

בדף פרטי האפליקציה, בקטע מתקדם, משנים את ההגדרה הפעלת האפליקציה במצב תאימות לגודל הדף כדי להפעיל או להשבית את מצב התאימות לאחור של 16KB לאפליקציה ספציפית. ההגדרה הזו מוצגת רק כשהמכשיר פועל עם גודל דף של 16KB.

הגדרה של מצב תאימות לגודל הדף

הגדרה של מצב תאימות לגודל הדף

כדי להפעיל בכוח תאימות לאחור של 16 KB לכל אפליקציה במכשיר:

adb shell setprop bionic.linker.16kb.app_compat.enabled true
adb shell setprop pm.16kb.app_compat.disabled false

כדי להשבית את התאימות לאחור של 16 KB לכל אפליקציה במכשיר:

adb shell setprop bionic.linker.16kb.app_compat.enabled false
adb shell setprop pm.16kb.app_compat.disabled true

מגדירים את המאפיין android:pageSizeCompat כ-enabled או כ-disabled כדי להפעיל או להשבית את מצב התאימות לאחור עבור אפליקציה ספציפית ב-AndroidManifest.xml שלה. כשהמאפיין הזה מוגדר, האפליקציה לא מציגה אזהרות לגבי מצב תאימות לאחור כשהיא מופעלת.

דרישות התאימות ל-Google Play

יצרני מכשירים מציידים את המכשירים ב-RAM גדול יותר כדי לשפר את הביצועים, ולכן הרבה מהם יאמצו גדלים גדולים יותר של דפים כמו 16 KB. כדי להתכונן להשקת המכשירים החדשים האלה, אנחנו מציגים ב-Google Play דרישת תאימות חדשה: החל מ-1 בנובמבר 2025, כל האפליקציות החדשות והעדכונים לאפליקציות קיימות שמוגשים ל-Google Play ומטרגטים מכשירים עם Android 15 (רמת API 35) ומעלה, חייבים לתמוך בגודל דף של 16 KB.

מידע נוסף על דרישת התאימות הזו זמין בפוסט הזה בבלוג.