This page summarizes the major features in the Android 11 release, and provides links to additional information. These feature summaries are organized according to the feature's documentation location on this site.
Architecture
API quotas
The Android 11 release introduces the API
quotas feature, which limits how often apps can call certain APIs. It's
implemented only in JobScheduler API calls. Any changes you
make to the preset limits must still pass CTS testing. You can disable and
enable API quotas using the setEnabled method in
QuotaTracker.java. The default is enabled. Disabling the
feature lets apps call the affected APIs without limitation.
Unit tests for QuotaTracker and associated classes are
provided. Detailed documentation is in the comments in the
QuotaTracker class. This feature introduces the new
LimitExceededException public API.
Bootloader
Boot header version 3
Android 11 supports boot header version 3. For details, see Boot Image Header.
Partitions
Boot partitions
Android 11 introduces the concept of the Generic Kernel Image. To enable booting an arbitrary device with a Generic Kernel Image, all vendor-specific information is factored out of the boot partition and relocated into a vendor-boot partition. A device launching with Android 11 must support the vendor-boot partition and updated boot partition format to pass testing with the GKI.
Vendor boot header
The vendor boot header can be more than one page.
Product partition interfaces enforcement
Android 11 unbundles the product
partition,
making it independent of the system and
vendor partitions. As part of these changes, you can now
control the product partition's access to native and Java
interfaces.
Recovery images
Android 11 updates the recovery image requirements and includes new release-based options for including a recovery DTBO/ACPIO as part of the boot/recovery image. For details, see Recovery Images.
Soft restarts
Android 11 supports soft restarts, which are runtime restarts of processes in the user space used to apply updates that require a reboot (for example, updates to APEX packages).
Kernel
Android common kernels
Android 11 introduces significant changes to how Android common kernels are developed and integrated.
Android kernel ABI monitoring
Android 11 introduces ABI Monitoring tooling to stabilize the in-kernel ABI of Android kernels.
Generic Kernel Image
Android 11 introduces the Generic Kernel Image (GKI), which addresses kernel fragmentation by unifying the core kernel and moving SoC and board support out of the core kernel into loadable modules.
Modular kernels
Kernel module support
A Generic Kernel Image (GKI) may not contain the required driver
support to enable a device to mount partitions. To enable a device
to mount partitions and to continue booting, first-stage
init is enhanced to load the kernel modules present on a
ramdisk.
The ramdisk is split into generic and vendor ramdisks.
Vendor kernel modules are stored in the vendor ramdisk. The order in
which kernel modules are loaded is configurable.
DebugFS
Android 11 removes platform support for DebugFS and requires that it not be mounted or accessed on production devices. While DebugFS was created for debugging purposes, it has been included in user and usedebug builds for generic and vendor-specific components. DebugFS is being deprecated because it creates: