在m vendor.sprd.hardware.secure_element-update-api生成stable接口时,总是报错如下。找了一圈找不到解决方法,最后误打误撞地解决了,供大家参考。
HIDL转AIDL编译报错:ISecureElement does not have VINTF level stablity, but interface requires it.
原因是:
编写 AIDL HAL 接口为了让系统和供应商都可使用某个 AIDL 接口,需要对该接口进行两项更改:
1.每个类型定义都需要带有 @VintfStability 注释
2.aidl_interface 声明需要包含 stability: “vintf”,
只有接口所有者可以进行这些更改。
解决方法:
在对应的hal接口目录下修改:
aidl文件:/vendor/sprd/interfaces/secure_element/aidl/vendor/sprd/interfaces/secure_element/ISecureElemnt.aidl
package vendor.sprd.hardware.secure_element;
interface ISecureElemnt{
void init (in ISecureElemntHalCallback clientcallback);
}
修改为
package vendor.sprd.hardware.secure_element;
@VintfStability
interface ISecureElemnt{
void init (in ISecureElemntHalCallback clientcallback);
}