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

RK-Android11-系统增加一个属性值

这是一个再常用不过的开发需求点了,这里自己通过这个需求点记录下,相关的知识点也很重要。 通过这个指示单 关联的其它需求功能用得上,先记录下

文章目录

  • 需求
  • 参考资料
  • 修改文件
    • 实现方案
    • 编译ROOM-烧录-验证
  • 知识点规整
  • 总结


需求

给系统新增一个属性值,比如 ro.custom.wfc.properties

参考资料

关于PRODUCT_PROPERTY_OVERRIDES属性的解析
Android常用修改 这里面设计到的知识点蛮有意义的,建议细看,其实特别重要的,对自己开发有很大的启发的,补补基础是非常不错的。
Framework 层Settings.System, Settings.Secure和Settings.Global存储及应用

修改文件

\device\rockchip\rk356x\device.mk

实现方案

在PRODUCT_PROPERTY_OVERRIDES 属性Key 添加需要新增的 key-value
在这里插入图片描述

编译ROOM-烧录-验证

在这里插入图片描述
看属性验证成功了

知识点规整

对于 init/property 属性相关知识内容蛮多的、涉及到的流程也蛮多的、mk 文件也蛮复杂的,参考资料或者网上资料也蛮多,建议自行消化,这里针对性的这个需求,规整一下,对后续相关文档或者现实需求都有指导和参考意义

  • 这里的属性和参考资料中 Framework 层Settings.System, Settings.Secure和Settings.Global存储及应用 提到的属性有本质区别,一个是系统级别的 一个是系统级别存放至数据库或者系统文件xml 里面的,两个还是有区别的。比如 这里的系统属性是直接在编译 c 代码层赋值写入的。Setting关联的System/Secure/Blobal 属于应用级别的 在第一次开机是在Framework 层写入的。
  • 属性变量也是有区别的,如下:
变量名作用示例
PRODUCT_PROPERTY_OVERRIDES全局覆盖系统属性ro.product.model=MyDevice
PRODUCT_SYSTEM_PROPERTIES仅影响 system 分区ro.system.custom=1
PRODUCT_VENDOR_PROPERTIES仅影响 vendor 分区ro.vendor.audio.enable=1
  • 是否可修改:ro.:只读属性,编译后不可修改;persist.:持久化属性,重启后仍然保留。

总结

  • 场景的一个属性修改,给出方法,记录下。
  • 针对属性值判断,针对应用、系统级别都有参考意义,业务上面会有需求。这里整理出来,方便后续实现其它功能,知识点串联起来
  • 如果应用级别的就用 参考资料中的 Framework 层Settings.System, Settings.Secure和Settings.Global存储及应用 就够了,如果需要通过属性判断,这里也是一个解决方案。
http://www.dtcms.com/a/266538.html

相关文章:

  • 【HDMI CEC】 设备 OSD 名称功能详解
  • 《设计模式之禅》笔记摘录 - 3.工厂方法模式
  • 【modbus学习笔记】Modbus协议解析
  • WPF学习(四)
  • 分布式集合通信--学习笔记
  • ComfyUI工作流:一键换背景体验不同场景
  • 如何搭建 OLAP 系统?OLAP与数据仓库有什么关系?
  • 2-2 PID-代码部分
  • Fiddler 中文版怎么配合 Postman 与 Wireshark 做多环境接口调试?
  • Hawk Insight|美国6月非农数据点评:情况远没有看上去那么好
  • 如何将FPGA设计验证效率提升1000倍以上(2)
  • 应急响应靶场——web2——知攻善防实验室
  • 大带宽服务器中冗余技术的功能
  • 新能源汽车功率级测试自动化方案:从理论到实践的革命性突破
  • Python常用医疗AI库以及案例解析(2025年版、上)
  • Nginx + ModSecurity + OWASP CRS + Lua + GEOIP2 构建传统WAF
  • 【ACP】阿里云云计算高级运维工程师--ACP
  • 服务器的IO性能怎么看?
  • 【机器学习3】机器学习(鸢尾花分类)项目核心流程与企业实践差异分析
  • 【问题记录】MySQL错误1140深度解析:聚合查询中的GROUP BY问题解决方案
  • PP-OCR:一款实用的超轻量级OCR系统
  • LINUX74 LAMP5
  • Poetry 在 Linux 和 Windows 系统中的安装步骤
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的超级文化符号构建路径研究
  • WPF学习笔记(23)Window、Page与Frame、ViewBox
  • OneCode采用虚拟DOM结构实现服务端渲染的技术实践
  • 负载均衡--四层、七层负载均衡的区别
  • java中this. 和 this::的区别和用法
  • Apache RocketMQ进阶之路阅读笔记和疑问
  • RabbitMQ用法的6种核心模式全面解析