当前位置: 首页 > news >正文

RK3588 android12修改manifest.xml配置HAL服务

rk3588 android系统中的manifest.xml文件作用是声明支持的硬件模块,加载哪些硬件抽象层服务(HAL服务),声明HIDL接口版本。

RK3588如果要修改manifest.xml配置,对应修改的文件为device/rockchip/common/manifests/manifest_level_31.xml。

首先系统加载编译manifest.xml文件是通过DEVICE_MANIFEST_FILE指定文件路径的。DEVICE_MANIFEST_FILE的定义在device/rockchip/common/BoardConfig.mk文件中,如下:

# Export this prop for Mainline Modules.
ROCKCHIP_LUNCHING_API_LEVEL := $(PRODUCT_SHIPPING_API_LEVEL)

DEVICE_MANIFEST_FILE ?= device/rockchip/common/manifests/manifest_level_$(ROCKCHIP_LUNCHING_API_LEVEL).xml

其中PRODUCT_SHIPPING_API_LEVEL 的定义在device/rockchip/rk3588/rk3588s_s/rk3588s_s.mk文件中(与具体硬件平台相关,lunch选择哪个就是哪个路径下的),如下:

# First lunching is S, api_level is 31
PRODUCT_SHIPPING_API_LEVEL := 31

比如,我要添加定位服务,可像下面这样修改manifest_level_31.xml:

--- a/device/rockchip/common/manifests/manifest_level_31.xml
+++ b/device/rockchip/common/manifests/manifest_level_31.xml
@@ -1,5 +1,24 @@
<manifest version="1.0" type="device" target-level="6">
<hal format="hidl">
+ <name>android.hardware.gnss</name>
+ <transport>hwbinder</transport>
+ <version>1.1</version>
+ <version>2.1</version>
+ <interface>
+ <name>IGnss</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.sensors</name>
+ <transport>hwbinder</transport>
+ <version>2.1</version>
+ <interface>
+ <name>ISensors</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<version>7.0</version>
@@ -44,15 +63,6 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
- <name>android.hardware.sensors</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>ISensors</name>
- <instance>default</instance>
- </interface>
- </hal>
<kernel target-level="6"/>
</manifest>

http://www.jsqmd.com/news/530763/

相关文章:

  • Win11Debloat:让Windows系统重获新生的系统优化全攻略
  • ChatGPT电脑版安装包实战指南:从下载到部署的完整解决方案
  • 从HITRAN到HITEMP:用HAPI Python接口处理高温气体光谱的完整实战
  • Parsec VDD虚拟显示技术:重新定义多屏体验的创新方案
  • Android OTA解压终极指南:快速提取payload.bin文件的完整教程
  • Qwen3-ForcedAligner快速入门:3步完成音频与文本精准对齐
  • python校园志愿者服务活动管理系统vue3
  • 造火箭的辞职去放牛,彼得·蒂尔花20亿美元押注一个AI牛项圈
  • Vivado IP核实战:从Accumulator到XADC的10个高频使用技巧
  • 三步精通OpCore-Simplify:零基础搞定黑苹果EFI配置
  • 2026乐山特色餐饮礼盒评测深度解析 - 优质品牌商家
  • 道心网络安全学习笔记系列之好靶场的信息收集
  • Gcode文件处理中的常见错误及解决方案:从缓存不足到刀具补偿配置
  • RWKV7-1.5B-g1a效果展示:三类典型提示词(自我介绍/概念解释/文案压缩)生成质量集锦
  • 保姆级教程:手把手教你用Qwen-Image-Edit实现一句话魔法修图
  • Windows 10下Nacos-Server 2.4.0.1安装配置全攻略(含MySQL数据库连接避坑指南)
  • 如何一键下载番茄小说?终极离线阅读解决方案指南
  • RVC模型开源社区参与:从使用者到贡献者的成长路径
  • 2026中国大模型行业爆发!字节跳动128W年薪抢眼,你的机会来了!
  • 告别复杂配置!Realistic Vision V5.1一键部署,小白也能玩转AI摄影
  • 从内存操作到系统升级:RT-Thread临界区保护的5个典型场景避坑指南
  • AI自养计划_Day5_幻觉复盘
  • ChatGPT Codex 实战指南:从技术原理到高效应用
  • 从谷歌封杀 OpenClaw 被封事件,看AI平台如何判断“异常账号”?
  • OpenClaw夜间任务:Qwen3.5-9B定时执行数据备份与报表生成
  • Java 与 Kotlin 区别详解
  • 嵌入式UI开发实战:在LVGL7.11中如何用freetype动态加载中文字体(附完整配置流程)
  • 低显存福音:Z-Image-GGUF在RTX 3060上的实测体验与优化技巧
  • SNANDer_GUI从入门到精通:全面掌握NAND闪存管理技巧
  • 5个技巧让你高效批量下载抖音资源:抖音批量下载工具完全指南