Effective in 2026, to align with our trunk stable development model and ensure platform stability for the ecosystem, we will publish source code to AOSP in Q2 and Q4. For building and contributing to AOSP, we recommend utilizing android-latest-release instead of aosp-main. The android-latest-release manifest branch will always reference the most recent release pushed to AOSP. For more information, see Changes to AOSP.
Crash Recovery
Stay organized with collections
Save and categorize content based on your preferences.
The Crash Recovery module was introduced in Android 16. The module consists of
PackageWatchdog, its observers RescueParty and
RollbackPackageHealthObserver, and ExplicitHealthCheckService, and
related helper classes.
The primary motivation for the Crash Recovery module is to provide:
- Quicker iteration of recovery infrastructure code. Bug fixes and
improvements can be deployed across the ecosystem, improving the user
experience with more reliable and faster updates.
- Consistent implementation of recovery infrastructure across all devices
gives better insights into issues and improves reliability for everyone.
- Uniform behavior across ecosystems makes troubleshooting and recovery easier
during outages and reduces overall mitigation time.
Module boundary
This module has a well-defined interface to and from the remainder of the
Android platform, as shown in Figure 1:

Figure 1. Module boundary.
The Crash Recovery module uses the APEX format.
Dependencies
Existing dependencies of the classes included in this module on the Android
platform remain the same. There are no new dependencies.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-12-02 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-12-02 UTC."],[],[]]