首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ro.build 为什么是ro开头?

ro.build 为什么是ro开头?

原创
作者头像
薇芯公重号 AI创造财富
发布2025-10-17 10:29:10
发布2025-10-17 10:29:10
2550
举报

ro.build.* 里的 ro 前缀,是 Android 属性系统(Android Property System) 的命名约定,代表 “read-only”(只读)。


1️⃣ Android 属性系统简介

Android 系统有一个全局的 property service(属性服务),用于存储系统和应用的配置信息,比如:

  • 系统版本:ro.build.version.sdk
  • 设备型号:ro.product.model
  • 设备厂商:ro.product.brand
  • 网络状态:sys.boot_completed(可写)

属性分两种类型:

前缀

含义

是否可写

ro.

read-only,只读

❌ 编译时写入,运行时不能改

persist.

持久属性

✅ 可以修改并保存到 /data/property

sys. 或其他

可写系统属性

✅ 可以修改,运行时生效


2️⃣ 为什么 ro.build.* 是只读

  • 系统版本信息在 编译时确定,启动后不允许随意修改。
  • 使用 ro. 前缀,保证:
    1. 属性在 init 进程启动时就固定,系统和应用都能可靠读取。
    2. 防止应用或者恶意软件篡改系统版本信息。

例如:

代码语言:javascript
复制
getprop ro.build.description
# 输出:M

不能在运行时修改 这个值,如果尝试:

代码语言:javascript
复制
setprop ro.build.description "test"
# 会报错:permission denied

3️⃣ 总结

  • ro. = read-only
  • 用于 编译时生成的系统信息
  • 保护系统属性不会被运行时修改

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1️⃣ Android 属性系统简介
  • 2️⃣ 为什么 ro.build.* 是只读
  • 3️⃣ 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档