AndroidR(11)中,AndroidHal在运行时没有注册的问题
创始人
2024-10-09 17:01:42
0

Android R中引入了一个名为VINTF(Vendor Interface)的新系统,其目的是提高设备间的兼容性和向后兼容性。在这个新系统中,要求所有的HAL都必须被静态地定义在一个名为/vnd目录下的标记文件中。

因此,解决Android Hal没有在运行时注册的问题,需要在对应的/vnd目录下添加静态定义的标记文件,并在平台中注册HAL,例如:

  1. 创建 HAL 定义文件 在 Android.mk 中添加如下代码,以创建 HAL 定义文件:

include $(CLEAR_VARS) LOCAL_MODULE := my_hal LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := SHARED_LIBRARY LOCAL_SRC_FILES := my_hal.so LOCAL_C_INCLUDES := $(LOCAL_PATH)/include include $(BUILD_SHARED_LIBRARY)

  1. 添加 HAL 定义文件到 /vendor/etc/vintf/manifest.xml 改写 manifest.xml,以添加新的 HAL:

android.hardware.my_hal hwbinder 1.0 IMyHalInterface my_hal

  1. 创建 HAL 的 stub 对于一个纯 C 的 HAL,你需要创建一个对应的 stub,例如:

#include #include

using android::hidl::base::V1_0::IBase; using android::hidl::manager::V1_0::IServiceManager;

namespace android {

struct MyHal : public IMyHalInterface { // Implement IMyHalInterface methods here. };

static void RegisterHal() { sp sm = IServiceManager::getService(); sm->addService(IMyHalInterface::descriptor, new MyHal); }

} // namespace android

extern "C" void my_hal_init() { android::RegisterHal(); }

在调用 libmy_hal.so 的入口点 my_hal_init() 中,调用 registerPassthroughServiceImplementations() 可以注册你的 HAL。例如:

#include

int main() { using ::android::hardware::configureRpcThreadpool; using ::android::hardware::

相关内容

热门资讯

实测揭晓!微扑克职业代打,微扑... 实测揭晓!微扑克职业代打,微扑克有挂么(微扑克)切实存在有挂(有挂解惑)-哔哩哔哩;1、许多玩家不知...
研究成果!微扑克辅助软件,微扑... 研究成果!微扑克辅助软件,微扑克有挂么(微扑克)本来存在有挂(有挂实锤)-哔哩哔哩微扑克辅助软件软件...
终于清楚!微扑克辅助挂,微扑克... 终于清楚!微扑克辅助挂,微扑克如何让系统发好牌(微扑克)确实是有挂(有挂秘籍)-哔哩哔哩1、微扑克如...
重大通报!微扑克ai辅助工具,... 重大通报!微扑克ai辅助工具,微扑克透牌(微扑克)切实有挂(有挂猫腻)-哔哩哔哩进入游戏-大厅左侧-...
普及知识!微扑克有ai吗,微扑... 普及知识!微扑克有ai吗,微扑克如何让系统发好牌(微扑克)本来有挂(存在有挂)-哔哩哔哩1、上手简单...
一分钟教会你!微扑克有挂么,微... 一分钟教会你!微扑克有挂么,微扑克ai机器人(微扑克)好像是真的有挂(真的有挂)-哔哩哔哩1、微扑克...
玩家实测!微扑克辅助工具,微扑... 玩家实测!微扑克辅助工具,微扑克如何让系统发好牌(微扑克)真是存在有挂(详细教程)-哔哩哔哩1、全新...
玩家必看科普!微扑克辅助提高胜... 玩家必看科普!微扑克辅助提高胜率,微扑克透牌(微扑克)原来有挂(有挂神器)-哔哩哔哩微扑克辅助提高胜...
查到实测辅助!微扑克辅助工具怎... 查到实测辅助!微扑克辅助工具怎么下载,微扑克有挂么(微扑克)确实有挂(有挂猫腻)-哔哩哔哩;1、微扑...
最新研发!微扑克有挂么,微扑克... 最新研发!微扑克有挂么,微扑克有挂么(微扑克)果然存在有挂(真的有挂)-哔哩哔哩1)微扑克有挂么辅助...