Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Android Verified Boot
Stay organized with collections
Save and categorize content based on your preferences.
Android 8.0 and higher includes a reference implementation of Verified Boot
called Android Verified Boot (AVB) or Verified Boot 2.0. AVB is a version of
Verified Boot that works with Project Treble
architecture, which separates the Android framework from the underlying vendor
implementation.
AVB is integrated with the Android Build System and enabled by
a single line, which takes care of generating and signing all necessary dm-verity
metadata. For more information, see Build System Integration.
AVB provides libavb, which is a C library to be used at boot time for
verifying Android. You can integrate libavb with your bootloader by implementing a
platform-specific functionality for I/O, providing the root
of trust, and getting/setting rollback protection metadata.
AVB's key features include delegating updates for different
partitions, a common footer format for signing partitions, and protection from
attackers rolling back to a vulnerable version of Android.
For more implementation details, see /platform/external/avb/README.md
.
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-06-18 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-06-18 UTC."],[],[],null,["# Android Verified Boot\n\nAndroid 8.0 and higher includes a reference implementation of Verified Boot\ncalled Android Verified Boot (AVB) or Verified Boot 2.0. AVB is a version of\nVerified Boot that works with [Project Treble](/docs/core/architecture#hidl)\narchitecture, which separates the Android framework from the underlying vendor\nimplementation.\n\n\nAVB is integrated with the Android Build System and enabled by\na single line, which takes care of generating and signing all necessary dm-verity\nmetadata. For more information, see [Build System Integration](https://android.googlesource.com/platform/external/avb/+/android16-release/README.md#Build-System-Integration).\n\nAVB provides libavb, which is a C library to be used at boot time for\nverifying Android. You can integrate libavb with your bootloader by implementing a\n[platform-specific functionality](https://android.googlesource.com/platform/external/avb/+/android16-release/libavb/avb_ops.h) for I/O, providing the root\nof trust, and getting/setting rollback protection metadata.\n\n\nAVB's key features include delegating updates for different\npartitions, a common footer format for signing partitions, and protection from\nattackers rolling back to a vulnerable version of Android.\n\n\nFor more implementation details, see [/platform/external/avb/README.md](https://android.googlesource.com/platform/external/avb/+/android16-release/README.md)."]]