Android11.0 app调用hal层接口功能实现系列二(jni层功能实现)

本文详细介绍了在Android 11.0系统中,如何实现App调用自定义HAL模块接口。通过在HAL层提供接口,JNI层实现接口调用,并在Framework层创建JNI文件来调用HAL接口。文章重点讨论了JNI层功能实现,包括在`com_android_server_TestService.cpp`中初始化HAL模块,注册JNI文件以调用HAL接口,并配置SELinux权限以确保接口调用的安全性。
摘要由CSDN通过智能技术生成

1.前言

 在11.0的系统rom定制化开发中,在进行一些hal层的开发中,对于一些需要在app中调用hal层的一些接口来实现某些功能而言,就需要打通app到hal的接口,实现功能需求,
这一节首先讲在hal层中提供接口然后在jni层实现hal层接口调用,接下来就在framework层中
建立jni的文件来调用hal层接口

2.app调用hal层接口功能实现系列二(jni层功能实现)的核心类

    frameworks/base/services/core/jni/com_android_server_TestService.cpp
    frameworks/base/services/core/jni/Android.bp
    frameworks/base/services/core/jni/onload.cpp

3.app调用hal层接口功能实现系列二(jni层功能实现)的核心功能分析和实现

HIDL的全称是HAL interface definition language(硬件抽象层接口定义语言),在此之前Android 有AIDL,
架构在Android binder 之上,用来定义Android 基于Binder通信的Client 与Service之间的接口。
HIDL也是类似的作用,只不过定义的是Android Framework与Android HAL实现之间的接口。

HAL是硬件抽象层,它向下屏蔽了硬件的实现细节,向上提供了抽象接口,
HAL是底层硬件和上层框架直接的接口,框架层通过HAL可以操作硬件设备
HAL和内核驱动,HAL实现在用户空间,驱动在内核空间,所以为了维护各大厂商
的利益,核心算法之类的就需要

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安卓兼职framework应用工程师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值