android - HIDL 接口继承
问题描述
我正在尝试扩展 HAL 功能的实现。似乎一旦发布了 HAL 接口,我们就无法在该版本中进行任何更改。所以我尝试通过参考这里https://source.android.com/devices/architecture/hidl-java#extensions来进行接口继承。
IA.HAL 文件
interface IA{
Amethod();
};
ClientService.Java 文件
IA ia = IA.getService(true);
//ia is not null. Working fine
对于扩展,我创建了一个新的 HAL 文件,其中涉及接口继承,如下所示。
IB.HAL 文件
import IA;
interface IB extends IA{
Bmethod()
};
ClientService.Java 文件
IA ia = IA.getService(true);
//ia is not null. Working fine
IB ib = IB.castFrom(ia);
**// ib is null. Issue**
知道我做错了什么。提前致谢。
解决方案
HAL 服务器由其接口名称和实例名称标识。难道提供的服务器IA
还在运行?
您目前可能有以下设置:
二进制 | 界面 | 实例 |
---|---|---|
/system/bin/ia-service |
IA |
"default" |
/vendor/bin/ib-service |
IB |
"default" |
的默认值getService
是"default"
用作实例。
解决方案:
- 确保
ia-service
没有启动。 - 通过在您的客户端中
"new"
调用并使用 ```getService("new", true)```` 获取实例,为您的 HAL 提供一个新的实例名称(例如)。registerAsService("new")
ib-service
推荐阅读
- python-3.x - Pytorch BatchNorm3d / InstanceNorm3d 在数据大小 (1,C,1,1,1) 时不起作用
- javascript - 使用来自 url 的随机图片填充数组,该图片提供随机图片
- laravel - 反馈为真时不显示评论
- python - 如何使用python在windows中获取软件的许可证详细信息和已安装软件的到期时间?
- javascript - p5Js,即使精灵在移动,我的精灵坐标也没有更新
- reactjs - 在 AgGrid-React 中设置一致的 rowHeight
- sql - 我如何计算 MSSQL 中解决时间的 2 个日期计数
- python - 将列表中的浮点数与范围之间的字典中的列一一比较
- javascript - 使用 JS 进行光线追踪
- mysql - Python 脚本不会因为 SSHTunnelForwarder 挂起而退出