Android 11 release notes

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: