<compatibility-matrix version="1.0" type="framework" level="5"> <hal format="hidl" optional="true"> <name>android.hardware.atrace</name> <version>1.0</version> <interface> <name>IAtraceDevice</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.audio</name> <version>6.0</version> <interface> <name>IDevicesFactory</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.audio.effect</name> <version>6.0</version> <interface> <name>IEffectsFactory</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.authsecret</name> <version>1.0</version> <interface> <name>IAuthSecret</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.automotive.audiocontrol</name> <version>1.0</version> <version>2.0</version> <interface> <name>IAudioControl</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.automotive.can</name> <version>1.0</version> <interface> <name>ICanBus</name> <regex-instance>.*</regex-instance> </interface> <interface> <name>ICanController</name> <regex-instance>.*</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.automotive.evs</name> <version>1.0-1</version> <interface> <name>IEvsEnumerator</name> <instance>default</instance> <regex-instance>[a-z]+/[0-9]+</regex-instance> </interface> </hal> <hal format="aidl" optional="true"> <name>android.hardware.automotive.occupant_awareness</name> <interface> <name>IOccupantAwareness</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.automotive.sv</name> <version>1.0</version> <interface> <name>ISurroundViewService</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.automotive.vehicle</name> <version>2.0</version> <interface> <name>IVehicle</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.biometrics.face</name> <version>1.0</version> <interface> <name>IBiometricsFace</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.biometrics.fingerprint</name> <version>2.1-2</version> <interface> <name>IBiometricsFingerprint</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.bluetooth</name> <version>1.0-1</version> <interface> <name>IBluetoothHci</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.bluetooth.audio</name> <version>2.0</version> <interface> <name>IBluetoothAudioProvidersFactory</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.boot</name> <version>1.1</version> <interface> <name>IBootControl</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.broadcastradio</name> <version>1.0-1</version> <interface> <name>IBroadcastRadioFactory</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.broadcastradio</name> <version>2.0</version> <interface> <name>IBroadcastRadio</name> <regex-instance>.*</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.camera.provider</name> <version>2.4-6</version> <interface> <name>ICameraProvider</name> <regex-instance>[^/]+/[0-9]+</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.cas</name> <version>1.1-2</version> <interface> <name>IMediaCasService</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.confirmationui</name> <version>1.0</version> <interface> <name>IConfirmationUI</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.contexthub</name> <version>1.0-1</version> <interface> <name>IContexthub</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.drm</name> <version>1.3</version> <interface> <name>ICryptoFactory</name> <regex-instance>.*</regex-instance> </interface> <interface> <name>IDrmFactory</name> <regex-instance>.*</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.dumpstate</name> <version>1.1</version> <interface> <name>IDumpstateDevice</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.gatekeeper</name> <version>1.0</version> <interface> <name>IGatekeeper</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.gnss</name> <version>2.0-1</version> <interface> <name>IGnss</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.graphics.allocator</name> <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> <version>2.0</version> <version>3.0</version> <version>4.0</version> <interface> <name>IAllocator</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.graphics.composer</name> <version>2.1-4</version> <interface> <name>IComposer</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.graphics.mapper</name> <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> <version>2.1</version> <version>3.0</version> <version>4.0</version> <interface> <name>IMapper</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="false"> <name>android.hardware.health</name> <version>2.1</version> <interface> <name>IHealth</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.health.storage</name> <version>1.0</version> <interface> <name>IStorage</name> <instance>default</instance> </interface> </hal> <hal format="aidl" optional="true"> <name>android.hardware.identity</name> <!-- b/178458001: identity V2 is introduced in R, but Android R VINTF does not support AIDL versions. Hence, we only specify identity V2 in compatibility_matrix.5.xml in Android S+ branches. In Android R branches, the matrix implicitly specifies V1. SingleManifestTest.ManifestAidlHalsServed has an exemption for this. --> <version>1-2</version> <interface> <name>IIdentityCredentialStore</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.ir</name> <version>1.0</version> <interface> <name>IConsumerIr</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.input.classifier</name> <version>1.0</version> <interface> <name>IInputClassifier</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.keymaster</name> <version>3.0</version> <version>4.0-1</version> <interface> <name>IKeymasterDevice</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.keymaster</name> <version>4.0-1</version> <interface> <name>IKeymasterDevice</name> <instance>strongbox</instance> </interface> </hal> <hal format="aidl" optional="true"> <name>android.hardware.light</name> <interface> <name>ILights</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.media.c2</name> <version>1.0-1</version> <interface> <name>IComponentStore</name> <regex-instance>default[0-9]*</regex-instance> <regex-instance>vendor[0-9]*_software</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.media.omx</name> <version>1.0</version> <interface> <name>IOmx</name> <instance>default</instance> </interface> <interface> <name>IOmxStore</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.memtrack</name> <version>1.0</version> <interface> <name>IMemtrack</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.neuralnetworks</name> <version>1.0-3</version> <interface> <name>IDevice</name> <regex-instance>.*</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.nfc</name> <version>1.2</version> <interface> <name>INfc</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.oemlock</name> <version>1.0</version> <interface> <name>IOemLock</name> <instance>default</instance> </interface> </hal> <hal format="aidl" optional="false"> <name>android.hardware.power</name> <interface> <name>IPower</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.power.stats</name> <version>1.0</version> <interface> <name>IPowerStats</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.radio</name> <version>1.4</version> <version>1.5</version> <interface> <name>IRadio</name> <instance>slot1</instance> <instance>slot2</instance> <instance>slot3</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.radio</name> <version>1.2</version> <interface> <name>ISap</name> <instance>slot1</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.radio.config</name> <!-- See compatibility_matrix.4.xml on versioning of radio config HAL. --> <version>1.1</version> <interface> <name>IRadioConfig</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.renderscript</name> <version>1.0</version> <interface> <name>IDevice</name> <instance>default</instance> </interface> </hal> <hal format="aidl" optional="true"> <name>android.hardware.rebootescrow</name> <interface> <name>IRebootEscrow</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.secure_element</name> <version>1.0-2</version> <interface> <name>ISecureElement</name> <regex-instance>eSE[1-9][0-9]*</regex-instance> <regex-instance>SIM[1-9][0-9]*</regex-instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.sensors</name> <version>1.0</version> <version>2.0-1</version> <interface> <name>ISensors</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.soundtrigger</name> <version>2.0-3</version> <interface> <name>ISoundTriggerHw</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.tetheroffload.config</name> <version>1.0</version> <interface> <name>IOffloadConfig</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.tetheroffload.control</name> <version>1.0</version> <interface> <name>IOffloadControl</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.thermal</name> <version>2.0</version> <interface> <name>IThermal</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.tv.cec</name> <version>1.0</version> <interface> <name>IHdmiCec</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.tv.input</name> <version>1.0</version> <interface> <name>ITvInput</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.tv.tuner</name> <version>1.0</version> <interface> <name>ITuner</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.usb</name> <version>1.0-2</version> <interface> <name>IUsb</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.usb.gadget</name> <version>1.0-1</version> <interface> <name>IUsbGadget</name> <instance>default</instance> </interface> </hal> <hal format="aidl" optional="true"> <name>android.hardware.vibrator</name> <interface> <name>IVibrator</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.vr</name> <version>1.0</version> <interface> <name>IVr</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.weaver</name> <version>1.0</version> <interface> <name>IWeaver</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.wifi</name> <version>1.0-4</version> <interface> <name>IWifi</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.wifi.hostapd</name> <version>1.0-2</version> <interface> <name>IHostapd</name> <instance>default</instance> </interface> </hal> <hal format="hidl" optional="true"> <name>android.hardware.wifi.supplicant</name> <version>1.0-3</version> <interface> <name>ISupplicant</name> <instance>default</instance> </interface> </hal> </compatibility-matrix>