שינויים במסגרת התאימות (Android {7/}14)

איור 1. במסך 'שינויים בתאימות האפליקציה' באפשרויות למפתחים מפורטים השינויים שאפשר להפעיל או להשבית.

בדף הזה מתוארים שינויים שניתן להפעיל או להשבית, שהם חלק מסגרת התאימות ב-Android 14 (רמת API 34). אפשר להשתמש ברשימה הזו בשילוב עם אפשרויות הפיתוח ופקודות ADB כדי לבדוק ולפתור באגים באפליקציה במהלך ההכנות לתמיכה ב-Android 14 ולטירגוט אליה.

ריכזנו כאן כמה מהדברים שאפשר לעשות באמצעות הכלים של מסגרת התאימות:

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

פרטים מלאים על השימוש בכלים בכל אחד מהתרחישים לדוגמה האלה זמינים במאמר כלים של מסגרת התאימות.

שינויים בהתנהגות שכלולים במסגרת התאימות

ברשימה שבקטע הזה מתוארים השינויים שאפשר להחליף ביניהם שכלולים במסגרת התאימות ב-Android 14.

אפשר לסנן את רשימת השינויים לפי מצב ברירת המחדל שלהם.

שינויים שאפשר להחליף במסגרת התאימות ב-Android 14

ACCESS_SHARED_IDENTITY

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

מעניק גישה לזהות של האפליקציה המפעילה אם האפליקציה הביעה הסכמה לשיתוף הזהות שלה על ידי הפעלת הפעילות הזו עם מכונה של ActivityOptions שבה הופעל ActivityOptions.setShareIdentityEnabled(boolean) עם הערך true, או אם ה-UID של הפעילות שהופעל זהה ל-UID של האפליקציה המפעילה. כשהשינוי הזה מופעל ועומדים באחת מהדרישות האלה, הפעילות יכולה לגשת למזהה ה-UID ולשם החבילה של האפליקציה שמפעילה אותה באמצעות Activity.getLaunchedFromUid() ו-Activity.getLaunchedFromPackage(), בהתאמה.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

מזהה השינוי: 258236856
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

כשהתכונה מופעלת, היא מפעילה הודעה מסוג 'האפליקציה לא מגיבה' (ANR) כשאפליקציות מגיבות לאט לממשקי API ולפונקציונליות מ-Android 13 (רמת API 33) ומטה.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

מזהה השינוי: 207133734
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, מאפשרת לבדוק את הרשאת הגישה של ה-UID של מבצע הקריאה לכל ממשקי ה-API שקשורים לסנכרון.

CAMERA_MIC_INDICATORS_NOT_PRESENT

מזהה השינוי: 162547999
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

מזהה שינוי: 244637991
מצב ברירת מחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

כשאפליקציה שולחת PendingIntent באמצעות PendingIntent#send() או שיטות דומות, האפליקציה צריכה עכשיו להביע הסכמה אם היא רוצה להעניק הרשאות השקת פעילות ברקע משלה כדי להתחיל את Intent בהמתנה.

מידע נוסף על השינוי הזה זמין בקטע הגבלות נוספות על הפעלת פעילויות מהרקע בדף של השינויים בהתנהגות ב-Android 14.

DETACH_THROWS_ISE_ONLY

מזהה שינוי: 236825255
מצב ברירת מחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

סימון כדי לאפשר מעבר לחריגה הנכונה שהופקה על ידי #detachImage.

#detachImage מתועד כזריקה IllegalStateException במקרה של שגיאה; שיטת עוזר נייטיב לזריקה הזו RuntimeException אם המשטח ננטש בזמן ניתוק Image.

התנהגות החריגה הזו שלא מתועדת קודם לכן נמשכת ב-Android 13 (רמת API 33).

אחרי Android 13 (רמת API 33), שיטת העזרה המקורית גורמת רק ל-IllegalStateExceptions בהתאם למסמכי העזרה.

כשהשינוי הזה מופעל, #detachImage יקפיץ IllegalStateException רק אם תיתקל בשגיאות במהלך ניתוק התמונה. ההתנהגות לא תשתנה באפליקציות שמטרגטות ל-Android 13 (רמת API ‏33) וגרסאות ישנות יותר.

DOWNSCALED

מזהה השינוי: 168419799
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

כשמפעילים את השינוי הזה בחבילת אפליקציה, המערכת משנה את גודל האפליקציה בכוח לפי גורם ההתאמה הגבוה ביותר שפועל. לדוגמה, אם מופעלים גם 80% וגם 70% (DOWNSCALE_80 ו-DOWNSCALE_70), המערכת תשתמש ב-80%. כשגם השינוי הזה וגם DOWNSCALED_INVERSE מופעלים, DOWNSCALED_INVERSE מקבל עדיפות והשינוי במתאם השינוי חל באופן הפוך.

DOWNSCALED_INVERSE

מזהה שינוי: 273564678
מצב ברירת מחדל: מושבת בכל האפליקציות.

השינוי הזה הוא שומר הסף של כל השינויים בהחלשת התמונה בחזרה למצב 'אחסון במטמון' לכל אפליקציה. הפעלת השינוי הזה מאפשרת להחיל את גורמי ההתאמה הבאים באופן הפוך (כלומר, הרזולוציה מותאמת למעלה במקום למטה):

כשהשינוי הזה מופעל לחבילת אפליקציה, המערכת משנה את הגודל של האפליקציה בכוח לפי גורם ההתאמה הנמוך ביותר שפועל. לדוגמה, אם מפעילים גם את הערך 80% וגם את הערך 70% (DOWNSCALE_80 ו-DOWNSCALE_70), המערכת משתמשת בערך 80% כי כשמחילים אותו באופן הפוך, גורם ההתאמה של 80% שווה ל-125%, שהוא קטן יותר מההתאמה של 142.86% שחלה כשמחילים באופן הפוך את גורם ההתאמה של 70%. כשגם השינוי הזה וגם DOWNSCALED מופעלים, DOWNSCALED_INVERSE מקבל עדיפות והשינוי של גורם השינוי חל באופן הפוך.

DOWNSCALE_30

מזהה השינוי: 189970040
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 30% מהרזולוציה של המסך האמיתי. אם גם ההגדרה DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה בחבילה תאלץ את האפליקציה להניח שהיא פועלת במסך עם 333.33% מהרזולוציה האנכית והרוחבית של המסך האמיתי.

DOWNSCALE_35

מזהה שינוי: 189969749
מצב ברירת מחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 35% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 285.71% מהרזולוציה האנכית והרוחבית של המסך האמיתי.

DOWNSCALE_40

מזהה השינוי: 189970038
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 40% מהרזולוציה של המסך האמיתי. אם גם ההגדרה DOWNSCALED_INVERSE מופעלת, הפעלת השינוי הזה בחבילה תאלץ את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית גדולה ב-250% מהרזולוציה של המסך האמיתי.

DOWNSCALE_45

מזהה שינוי: 189969782
מצב ברירת מחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 45% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 222.22% מהרזולוציה האנכית והרוחבית של המסך האמיתי.

DOWNSCALE_50

מזהה השינוי: 176926741
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 50% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית גדולה ב-200% מהרזולוציה של המסך האמיתי.

DOWNSCALE_55

מזהה השינוי: 189970036
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 55% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 181.82% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_60

מזהה השינוי: 176926771
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם ההגדרה DOWNSCALED מופעלת, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה של 60% מהרזולוציה האנכית והרוחבית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 166.67% מהרזולוציה של המסך האמיתי.

DOWNSCALE_65

מזהה שינוי: 189969744
מצב ברירת מחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 65% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 153.85% מהרזולוציה האנכית והרוחבית של המסך האמיתי.

DOWNSCALE_70

מזהה השינוי: 176926829
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 70% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקית של 142.86% מהרזולוציה של המסך האמיתי.

DOWNSCALE_75

מזהה השינוי: 189969779
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 75% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 133.33% מהרזולוציה האנכית והאופקית של המסך האמיתי.

DOWNSCALE_80

מזהה השינוי: 176926753
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 80% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 125% מהרזולוציה של המסך האמיתי.

DOWNSCALE_85

מזהה השינוי: 189969734
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם DOWNSCALED מופעל, הפעלת השינוי הזה עבור חבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 85% מהרזולוציה האנכית והאופקית של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 117.65% מהרזולוציה של המסך האמיתי.

DOWNSCALE_90

מזהה השינוי: 182811243
מצב ברירת המחדל: מושבת בכל האפליקציות.

אם גם ההגדרה DOWNSCALED מופעלת, הפעלת השינוי הזה בחבילה תאלץ את האפליקציה להניח שהיא פועלת במסך עם רזולוציה אנכית ואופקטלית של 90% מהרזולוציה של המסך האמיתי. אם גם DOWNSCALED_INVERSE מופעל, הפעלת השינוי הזה בחבילה מאלצת את האפליקציה להניח שהיא פועלת במסך עם 111.11% מהרזולוציה האנכית והאופקית של המסך האמיתי.

ENABLE_PLATFORM_MDNS_BACKEND

מזהה השינוי: 270306772
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

אפליקציות שמטרגטות את Android מגרסה 14 ואילך משתמשות בהטמעת mDNS משולבת בפלטפורמה כקצה עורפי, ואילו אפליקציות שמטרגטות גרסאות קודמות ממשיכות להשתמש בקצה עורפי מדור קודם של Network Service Discovery‏ (NSD) (עם דימון (daemon) מקורי מדור קודם כקצה עורפי של NsdManager).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

מזהה שינוי: 266524688
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

בדיקת היכולות לאישור עצמי מופעלת באפליקציות שמטרגטות את Android מגרסה 14 ואילך. לפרטים נוספים, ראו NetworkCapabilities.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

מזהה השינוי: 154726397
מצב ברירת המחדל: מופעל באפליקציות שמיועדות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמיועדות ל-Android 14 (רמת API 34) ואילך, האפליקציות צריכות להצהיר על הצרכים שלהן לגבי חשיפה של חבילות במניפסט כדי לגשת לממשקי ה-API של AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

מזהה השינוי: 218865702
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, נדרש לסמן את כל הקבצים שנטענים באופן דינמי כקבצים לקריאה בלבד. כך גורמים זדוניים עלולים להחליף קבצים שנטענים באופן דינמי.

מידע נוסף על השינוי הזה זמין בקטע טעינה בטוחה יותר של קוד דינמי בדף של השינויים בהתנהגות ב-Android 14.

ENFORCE_STRICT_QUERY_BUILDER

מזהה השינוי: 143231523
מצב ברירת המחדל: מושבת בכל האפליקציות.

כשהאפשרות מופעלת, SQLiteQueryBuilder מאמתת את כל הבחירות של שאילתות CalendarProvider2 מול ארגומנטים זדוניים.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

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

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

למידע נוסף על השינויים בהתראות המדויקות ב-Android 14, אפשר לעיין במאמר תזמון של התראות מדויקות נדחה כברירת מחדל.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

מזהה השינוי: 261055255
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

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

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

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

מזהה השינוי: 255042465
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

כשהתכונה הזו מופעלת, אפליקציות שמטרגטות ל-Android 14 (API ברמה 34) ואילך ומפעילות שירות שפועל בחזית באמצעות הסוג FOREGROUND_SERVICE_TYPE_NONE שעבר תהליך הוצאה משימוש יגרמו להצגת אזהרה ביומן.

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

FGS_TYPE_NONE_DISABLED_CHANGE_ID

מזהה השינוי: 255038118
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

כשהתכונה מופעלת, אפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך שמפעילות שירות שפועל בחזית באמצעות הסוג FOREGROUND_SERVICE_TYPE_NONE הוצאו משימוש.

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

FGS_TYPE_PERMISSION_CHANGE_ID

מזהה השינוי: 254662522
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

כשההגדרה הזו מופעלת, אפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך שמפעילות שירות שפועל בחזית בלי ההרשאות הנדרשות שמשויכות לסוג השירות הזה שפועל בחזית יגרמו ל-SecurityException.

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

FORCE_DISABLE_HEVC_SUPPORT

מזהה השינוי: 174227820
מצב ברירת המחדל: מושבת בכל האפליקציות.

השבתה כפויה של אפליקציה כך שלא תתמוך ביכולות המדיה HEVC. אפליקציות צריכות להצהיר על יכולות המדיה הנתמכות שלהן במניפסט, אבל אפשר להשתמש בדגל הזה כדי לאלץ אפליקציה לא לתמוך ב-HEVC, וכך לאלץ המרה (transcode) בזמן הגישה לתוכן מדיה שמקודד ב-HEVC. הגדרת הדגל הזה מבטלת את ברירת המחדל של האפליקציות ברמת מערכת ההפעלה. הוא מושבת כברירת מחדל, כלומר ברירת המחדל של מערכת ההפעלה מקבלת עדיפות. אם גם הדגל הזה וגם FORCE_ENABLE_HEVC_SUPPORT מופעלים, מערכת ההפעלה מתעלמת משניהם.

FORCE_ENABLE_HEVC_SUPPORT

מזהה השינוי: 174228127
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

FORCE_NON_RESIZE_APP

מזהה השינוי: 181146395
מצב ברירת המחדל: מושבת בכל האפליקציות.

כך החבילות שבהן הן מוחלות לא יהיו ניתנות לשינוי גודל.

FORCE_RESIZE_APP

מזהה שינוי: 174042936
מצב ברירת מחדל: מושבת בכל האפליקציות.

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

GWP_ASAN

מזהה השינוי: 145634846
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

מידע נוסף על השימוש ב-GWP-ASan זמין במדריך GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

מזהה השינוי: 229362273
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, צריך לייצא את הרכיבים כדי להפעיל אותם באמצעות כוונות מרומזות. אם לא מייצאים רכיב ולא מפעילים אותו, הוא יוסר מרשימת הנמענים. המדיניות הזו חלה במיוחד על פעילויות ושידור.

למידע נוסף על השינוי הזה, אפשר לעיין בקטע בדף 'שינויים בהתנהגות' ב-Android 14 לגבי הגבלות על כוונות מרומזות ובהמתנה.

מזהה השינוי: 266201607
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, האפליקציות חייבות לבקש מהמשתמש להביע הסכמה לפני כל סשן של תיעוד MediaProjection.

מידע נוסף על השינוי הזה זמין בקטע בדף השינויים בהתנהגות ב-Android 14, שבו מוסבר איך נדרשת הסכמת המשתמש לכל סשן MediaProjection צילום.

NATIVE_HEAP_ZERO_INIT

מזהה שינוי: 178038272
מצב ברירת מחדל: מושבת בכל האפליקציות.

הפעלת איפוס אוטומטי לאפס של הקצאות זיכרון מקומי בערימות (heap).

NATIVE_MEMTAG_ASYNC

מזהה השינוי: 145772972
מצב ברירת המחדל: מושבת בכל האפליקציות.

הפעלת בדיקה של תג זיכרון אסינכרוני (ASYNC) בתהליך הזה. הדגל הזה משפיע רק על חומרה שתומכת בתוסף תיוג הזיכרון (MTE) של ARM.

NATIVE_MEMTAG_SYNC

מזהה שינוי: 177438394
מצב ברירת מחדל: מושבת בכל האפליקציות.

הפעלת בדיקה של תג זיכרון סינכרוני (SYNC) בתהליך הזה. הדגל הזה משפיע רק על חומרה שתומכת בתוסף תיוג הזיכרון (MTE) של ARM. אם גם NATIVE_MEMTAG_ASYNC וגם האפשרות הזו מופעלות, האפשרות הזו מקבלת עדיפות ו-MTE מופעל במצב SYNC.

OVERRIDE_ANY_ORIENTATION

מזהה השינוי: 265464455
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

מזהה השינוי: 191514214
מצב ברירת המחדל: מושבת בכל האפליקציות.

כשהשינוי הזה מופעל, החבילות שהוא חל עליהן מתעלמות מהערך הנוכחי של android:resizeableActivity, וגם מה-SDK היעד שווה ל-M או נמוך ממנו, ומתייחסות לפעילות כאל פעילות שלא ניתן לשנות את הגודל שלה. במקרה הזה, הערך של סיבוב המצלמה והחיתוך תלוי רק בפיצוי הנדרש בהתאם לסיבוב הנוכחי של המסך.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

מזהה השינוי: 189229956
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

מזהה שינוי: 266124927
מצב ברירת מחדל: מושבת בכל האפליקציות.

מפעילה את SCREEN_ORIENTATION_REVERSE_LANDSCAPE באפליקציה שאליה היא חלה. אלא אם גם OVERRIDE_ANY_ORIENTATION מופעל, המערכת משתמשת ב-SCREEN_ORIENTATION_REVERSE_LANDSCAPE רק כשהפעילות מצוין כיוון לרוחב. הפעלת השינוי הזה יכולה לעזור לכם לבדוק את התנהגות האפליקציה כדי לזהות הבדלים בין מכשירים שבהם כיוון האנכי תואם ל-Surface.ROTATION_90 לבין מכשירים שבהם הוא תואם ל-Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

מזהה השינוי: 174042980
מצב ברירת המחדל: מושבת בכל האפליקציות.

השינוי הזה הוא שומר הסף של כל השינויים שמאלצים יחס גובה-רוחב מינימלי נתון. הפעלת השינוי הזה מאפשרת להחיל את יחסי הגובה-רוחב המינימליים הבאים:

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

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

מזהה שינוי: 218959984
מצב ברירת מחדל: מושבת בכל האפליקציות.

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

OVERRIDE_MIN_ASPECT_RATIO_LARGE

מזהה שינוי: 180326787
מצב ברירת מחדל: מושבת בכל האפליקציות.

כשהאפשרות OVERRIDE_MIN_ASPECT_RATIO מופעלת גם כן, הפעלת השינוי הזה בחבילה מגדירה את יחס הגובה-רוחב המינימלי של הפעילות לערך גדול כפי שהוגדר על ידי OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

מזהה השינוי: 180326845
מצב ברירת המחדל: מושבת בכל האפליקציות.

כשגם OVERRIDE_MIN_ASPECT_RATIO מופעל, הפעלת השינוי הזה לחבילה מגדירה את יחס הגובה-רוחב המינימלי של הפעילות לערך בינוני כפי שמוגדר על ידי OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

כשגם ההגדרה OVERRIDE_MIN_ASPECT_RATIO מופעלת, השינוי הזה מגביל שינויים אחרים שמאלצים את יחס הגובה-רוחב המינימלי של פעילות לערך מסוים – כמו OVERRIDE_MIN_ASPECT_RATIO_LARGE ו-OVERRIDE_MIN_ASPECT_RATIO_MEDIUM – לפעילויות שיש להן גם כיוון לאורך.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

מזהה השינוי: 236283604
מצב ברירת המחדל: מושבת בכל האפליקציות.

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

מזהה השינוי: 265451093
מצב ברירת המחדל: מושבת בכל האפליקציות.

מפעילה את SCREEN_ORIENTATION_NOSENSOR לאפליקציה שעליה הוא חל. אלא אם האפשרות OVERRIDE_ANY_ORIENTATION מופעלת גם היא, ייעשה שימוש ב-SCREEN_ORIENTATION_NOSENSOR רק אם הפעילות לא מציינת כיוון קבוע אחר.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

מזהה שינוי: 265452344
מצב ברירת מחדל: מושבת בכל האפליקציות.

מפעילה את SCREEN_ORIENTATION_PORTRAIT באפליקציה שאליה היא חלה. אלא אם גם OVERRIDE_ANY_ORIENTATION מופעל, הערך SCREEN_ORIENTATION_PORTRAIT משמש רק אם הפעילות לא מציינת כיוון קבוע אחר.

RATE_LIMIT_TOASTS

מזהה שינוי: 174840628
מצב ברירת מחדל: לא ניתן להחליף את המצב של השינוי הזה. הוא מתועד רק במסגרת מסגרת התאימות.

מאפשרת הגבלת קצב של פני מספר הקריאות Toast.show() כדי למנוע להעמיס על המשתמש יותר מדי קריאות בזמן מוגבל. כל ניסיון להציג יותר הודעות טוסט מהמותר בזמן נתון גורם לכך שההודעה תבוטל.

REJECT_NEGATIVE_NETWORK_ESTIMATES

מזהה השינוי: 253665015
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך.

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

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

מזהה השינוי: 241104082
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, צריך לציין באילוץ הרשת של המשימה המארחת אם הערך של JobWorkItem מציין שימוש ברשת.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

מזהה השינוי: 271850009
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך, נדרש לציין את ההרשאות INTERNET וגם ACCESS_NETWORK_STATE כשמתזמנים משימה עם אילוץ קישוריות.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

מזהה השינוי: 255371817
מצב ברירת המחדל: מופעל באפליקציות שמטרגטות ל-Android 14 (רמת API 34) ואילך.

באפליקציות שמטרגטות את Android 14 (רמת API 34) ואילך, המערכת תיצור חריגה אם האפליקציה לא תאפרמט בצורה תקינה את כל ממשקי ה-API הנדרשים להעברת נתונים כשמציינים משימה להעברת נתונים ביוזמת המשתמש.

מידע נוסף על השינוי הזה זמין בדף שמתאר איך להעביר שירותי חזית למשימות העברת נתונים שמשתמשים מפעילים.

USE_EXPERIMENTAL_COMPONENT_ALIAS

מזהה שינוי: 196254758
מצב ברירת מחדל: מושבת בכל האפליקציות.

כאשר התכונה מופעלת, המערכת מאפשרת לחבילת "android" להשתמש בכינויים של רכיבים.