החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
עדכוני OTA לארגונים
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
במסמך Android Compatibility Definition Document (CDD) Updatable Software נדרש להטמיע במכשירים את הכיתה SystemUpdatePolicy
. SystemUpdatePolicy
מאפשר לאפליקציית הבעלים של המכשיר (DO), אם היא קיימת, לשלוט בהתקנה של עדכוני המערכת.
שליחת התראות לבעלים של המכשירים
לקוח OTA חייב להודיע לאפליקציות של בעלי המכשיר על עדכוני OTA נכנסים באמצעות API מערכת. לקוח ה-OTA חייב לכלול גם תיעוד של חותמת זמן מהמועד שבו העדכון דרך OTA זמין לראשונה. לקוחות OTA יכולים להפעיל את השיטה DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
כדי להודיע לאפליקציות של בעלי המכשיר. אם לקוח ה-OTA לא יודע אם עדכון הוא תיקון אבטחה, הוא יכול להשתמש ב-DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
.
אם עדכון מסוים לא זמין כרגע, לקוח ה-OTA מדווח על כך על ידי הגדרת הארגומנט updateReceivedTime
לערך -1
.
מומלץ לשלוח התראות בכל פעם שמתבצע סקירה (poll) של שרת ה-OTA על ידי לקוח ה-OTA, או כשמתבצעת דחיפה של עדכון OTA ללקוח. אפשר גם לשלוח התראות בתדירות גבוהה יותר.
המדיניות בנושא עדכוני מערכת
ב-Android 9 יש שיפור ביכולת של בעלי המכשירים לשלוט בעדכונים, כי הם יכולים לדחות עדכונים דרך OTA למשך עד 90 יום. התכונה הזו מתמקדת בפתרונות למכשירים ייעודיים (לשעבר COSU), ומאפשרת לבעלים להשהות את גרסת מערכת ההפעלה שפועלת במכשירים בתקופות קריטיות, כמו בחגים.
כדי לעמוד בדרישות של CDD, לקוח ה-OTA צריך להטמיע מדיניות התנהגותית. ה-DO יכול להגדיר את כללי המדיניות הבאים, שעל תת-המערכות של עדכון מערכת המכשיר לפעול לפיהם:
בעלי המכשירים יכולים גם להגדיר תקופות הקפאה (ב-Android 9 ואילך) שבהן גרסת מערכת ההפעלה תוקפא בתקופות קריטיות, כמו בחגים או בזמנים עמוסים אחרים. המערכת לא מתקינה עדכוני OTA במהלך תקופת ההקפאה. מומלץ להשתמש ב-SystemUpdatePolicy.InstallationOption
(ראו הקטע הבא), אבל לקוח ה-OTA יכול גם לבצע קריאה ל-SystemUpdatePolicy.getFreezePeriods()
כדי לבדוק אם המכשיר נמצא בתקופה של הקפאה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Enterprise OTA updates\n\nThe\n[Android\nCompatibility Definition Document (CDD) Updatable Software](/compatibility/android-cdd#11_updatable_software)\nrequires devices to implement the\n[`SystemUpdatePolicy`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html)\nclass. `SystemUpdatePolicy` lets the device owner (DO) app, if\npresent, control the installation of system updates.\n\nNotify device owners\n--------------------\n\n\nThe over-the-air (OTA) client must notify device owner apps about\nincoming OTA updates using a system API. The OTA client must also\ninclude a timestamp recording when the OTA update first became\navailable. OTA clients can call\n`DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)`\nto notify device owner apps. If the OTA client doesn't know if an update\nis a security patch, the OTA client can fall back to using\n`DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)`.\n\n\nIf an update isn't currently available, the OTA client reports this by\nsetting the `updateReceivedTime` argument to `-1`.\nWe recommend sending notifications whenever the OTA client polls the\nOTA server, or when an OTA is pushed to the client. You can also send\nout notifications more frequently.\n\nSystem update policy\n--------------------\n\n\nAndroid 9 enhances the ability for device\nowners to\n[control\nupdates](https://developer.android.com/work/dpc/system-updates) by allowing device owners to postpone OTA updates for up to\n90 days. Focusing on dedicated device (previously called COSU)\nsolutions, this feature lets owners pause the OS version running on\ndevices over critical periods, such as holidays.\n\n\nTo comply with the CDD, the OTA client must implement behavioral\npolicies. The DO can set the following policies, which must be\nrespected by the device system update subsystems:\n\n- [`TYPE_INSTALL_AUTOMATIC`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html#TYPE_INSTALL_AUTOMATIC)\n- [`TYPE_INSTALL_WINDOWED`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html#TYPE_INSTALL_WINDOWED)\n- [`TYPE_POSTPONE`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html#TYPE_POSTPONE)\n\n\nDevice owners can also\n[set\nfreeze periods](https://developer.android.com/work/dpc/system-updates#freeze-periods) (in Android 9 or later) that freeze the OS version\nover critical periods, such as holidays or other busy times. The system\ndoesn't install OTA updates during a freeze period. We recommend using\n`SystemUpdatePolicy.InstallationOption` (see\nfollowing section), however the OTA client can also call\n[`SystemUpdatePolicy.getFreezePeriods()`](https://developer.android.com/reference/android/app/admin/SystemUpdatePolicy#getFreezePeriods())\nto check if the device is in a freeze period."]]