Cannot find entry in either framework or device manifest

在android里使用hidl技术,代替了以前的dlopen的方式来加载第三方的so.从android8.0开始使用Android Treble框架来加载service.这里从我在实际开发中遇到的问题说起,在VTS测试服务是否存在时,老是报Cannot find entry XXX服务。各种关键接口找不到,也不知道问题出在哪里。所以只好看其源码实现了。
1.各种hal文件都继承胃IBase接口,而IBase定义在system/libhidl/transport/base目录下
2…hal会被hidl-gen程序进行解析,生成输出文件。下面看两个核心的接口的生成,一个是getService 一个是registerAsService
3.一般代码里经常看到IXXXXService.getService()。但是getService这个接口根本没查询不到。其实这个接口,是hidl-gen自动生成的。其核心文件是system/tools/generateCpp.cpp
接口declareGetService申明getService定义,截图如下在这里插入图片描述接口implementGetService实现了getService的定义,部分截图如下在这里插入图片描述declareServiceManagerInteractions接口申明registerAsService
在这里插入图片描述implemen

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bruk_spp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值