2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
엔터프라이즈 OTA 업데이트
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 호환성 정의 문서(CDD) 업데이트 가능한 소프트웨어를 사용하려면 기기에서 SystemUpdatePolicy
클래스를 구현해야 합니다. 기기 소유자(DO) 앱이 있다면 SystemUpdatePolicy
는 이 앱이 시스템 업데이트 설치를 제어하도록 합니다.
기기 소유자에게 알리기
무선 업데이트(OTA) 클라이언트는 시스템 API를 사용하여 수신 OTA 업데이트에 관해 기기 소유자 앱에 알려야 합니다. 또한 OTA 클라이언트는 OTA 업데이트를 처음으로 사용할 수 있는 시점을 기록하는 타임스탬프를 포함하고 있어야 합니다. OTA 클라이언트는 DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch)
를 호출하여 기기 소유자 앱에 알릴 수 있습니다. OTA 클라이언트에서 업데이트가 보안 패치인지 알지 못한다면 OTA 클라이언트는 DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)
사용으로 되돌아갈 수 있습니다.
현재 업데이트를 사용할 수 없다면 OTA 클라이언트는 updateReceivedTime
인수를 -1
로 설정해 이를 보고합니다.
OTA 클라이언트가 OTA 서버를 폴링할 때마다 또는 OTA가 클라이언트에 푸시될 때 알림을 보내는 것이 좋습니다. 또한 알림을 더 자주 보낼 수도 있습니다.
시스템 업데이트 정책
Android 9에서는 기기 소유자가 OTA 업데이트를 최대 90일간 연기할 수 있도록 허용함으로써 기기 소유자가 업데이트를 제어하는 기능을 향상했습니다. 이 기능은 전용 기기(이전 명칭: COSU) 솔루션에 집중하여 기기 소유자가 중요한 기간 동안(예: 휴일) 기기에서 실행 중인 OS 버전을 일시중지할 수 있도록 합니다.
CDD를 준수하기 위해 OTA 클라이언트는 동작 정책을 구현해야 합니다. DO는 기기 시스템 업데이트 하위 시스템에서 준수해야 하는 다음 정책을 설정할 수 있습니다.
또한 기기 소유자는 휴일 또는 기타 사용량이 많은 시간과 같은 중요한 기간 동안 OS 버전을 고정하는 정지 기간을 설정할 수도 있습니다(Android 9 이상). 정지 기간 동안에는 시스템이 OTA 업데이트를 설치하지 않습니다. SystemUpdatePolicy.InstallationOption
사용이 권장되지만(다음 섹션 참조) OTA 클라이언트는 SystemUpdatePolicy.getFreezePeriods()
를 호출하여 기기가 정지 기간인지 확인할 수도 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 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."]]