Android O:扩展 HIDL 文件错误

Android O: Extending HIDL files error

我正在尝试扩展 android.hardware.audio@2.0::IDevicesFactory 以添加新的音频 HAL。

所以我将整个2.0文件夹复制到2.1文件夹中,并尝试扩展接口。这是我的新 IDevicesFactory.hal 文件:

package android.hardware.audio@2.1;

import android.hardware.audio@2.0::types;
import android.hardware.audio@2.0::IDevicesFactory;
import android.hardware.audio.common@2.0;
import IDevice;

interface IDevicesFactory EXTENDS android.hardware.audio@2.0::IDevicesFactory {
    typedef android.hardware.audio@2.0::Result Result;

    enum Device : int32_t {
        PRIMARY,
        A2DP,
        USB,
        R_SUBMIX,
        STUB,
        MY_HAL
    };
 };

[为了便于阅读删除了代码注释]

我只想将 MY_HAL 添加到该枚举中。

我不知道是否需要扩展所有接口,但我会这样做。我还将修改 2.1 文件夹中的所有源以使用 @2.1 HIDL(命名空间和类型等)。

我试过 运行 hardware/interfaces/update-makefiles.sh 但它抛出以下错误:

gps@gps-HP-280-G3-MT:~/andsrc/android-8.0.0_r12$ hardware/interfaces/update-makefiles.sh
Updating makefiles for android.hardware in hardware/interfaces.
Updating android.hardware.audio@2.0
Updating android.hardware.audio@2.1
ERROR: syntax error at hardware/interfaces/audio/2.1/IDevicesFactory.hal:8.27-33
ERROR: syntax error at hardware/interfaces/audio/2.1/IDevicesFactory.hal:19.2
ERROR: Could not parse android.hardware.audio@2.1::IDevicesFactory. Aborting.

我不明白为什么会出现语法错误。有人可以指导我错过了什么吗?

我发现了我的问题。

我误解了 HIDL 的语法,使用大写字母 EXTENDS 而不是小写字母 extends