📢 1. 职业规划篇
来聊聊安卓职业规划?整机开发大专能做么?
📢 2.基础篇
基础篇.前言
基础篇.编译环境搭建
基础篇.源码目录简介
基础篇.系统 mk_bp 讲解
基础篇.开机动画定制
基础篇.定制桌面壁纸、导航方式
基础篇.系统属性、api 使用
基础篇.名称修改、名词介绍
基础篇.用 bugreport 带你看 Crash 和 ANR
基础篇.Provision 源码分析
📢 3. 系统应用篇
系统应用篇.开机向导制作一
系统应用篇.开机向导制作二
系统应用篇.Settings 导航切换分析
系统应用篇.开机向导导航切换一
系统应用篇.开机向导导航切换二
系统应用篇.gms 制作集成
系统应用篇.开机向导适配 GMS
系统应用篇.Launcher3 结构剖析一
系统应用篇.Launcher3 结构剖析二
系统应用篇.Launcher3 结构剖析三
系统应用篇.Launcher3 图标加载流程一
系统应用篇.Launcher3 图标加载流程二
系统应用篇.Launcher3 桌面布局定制
系统应用篇.解密 Partner、google PAI 机制
系统应用篇.Partner 机制预制壁纸、默认布局
系统应用篇.Launcher 双排 Hotseat 定制一
系统应用篇.Launcher 双排 Hotseat 定制二
系统应用篇.Launcher 双排 Hotseat 定制三
系统应用篇.Launcher Taskbar 简介以及调出
系统应用篇.SystemUI 篇_用工具教会你看布局、进程
系统应用篇.SystemUI 结构讲解一
系统应用篇.SystemUI 结构讲解二
系统应用篇.SystemUI 的启动流程
系统应用篇.SystemUI 导航栏创建一
系统应用篇.SystemUI 导航栏创建二
系统应用篇.SystemUI 自定义导航按键
系统应用篇.SystemUI 快捷面板下拉流程
系统应用篇.SystemUI 定制禁用锁屏下拉通知栏
系统应用篇.SystemUI 通知注册流程
系统应用篇.SystemUI 通知发送流程
📢 4. 系统篇
系统篇.SystemServer 篇_应用与系统进程间关系
系统篇.SystemServer 简介、自定义 Service 服务一
系统篇.SystemServer 简介、自定义 Service 服务二
系统篇.SystemServer 简介、自定义 Service 服务三
系统篇.SystemServer 简介、自定义 Service 服务四
系统篇.SELinux 问题解决套路一
系统篇.SELinux 问题解决套路二
系统篇.ActivityManagerService 简介
系统篇.WindowManagerService 简介一
系统篇.WindowManagerService 简介二
系统篇.PackageManagerService 简介一
系统篇.PackageManagerService 简介二
系统篇.FW 实战 - Letterbox 定制应用方向一
系统篇.FW 实战 - Letterbox 定制应用方向二
系统篇.分屏流程一
系统篇.分屏流程二
📢 5. 性能篇
(省)低内存优化
性能篇 (省). 低内存查杀机制
性能篇 (省).SystemServer 与 LMK 的 socket 通信
性能篇 (省). 内核进程 LMKD
性能篇 (省). 内存分析
性能篇 (省). 内存泄漏定位与解决
(稳)稳定性优化
性能篇 (稳).WatchDog 检测机制一
性能篇 (稳).WatchDog 检测机制二
性能篇 (稳). 深入 Crash 捕获器流程一
性能篇 (稳). 深入 Crash 捕获器流程二
性能篇 (稳). 深入炸弹 ANR 流程一
性能篇 (稳). 深入炸弹 ANR 流程二
(快)开机优化
性能篇 (快). 开机耗时分析
性能篇 (快). 开机耗时优化
性能篇.实战优化方案分享
framework交流,答疑:251662478
在 Android 系统开发和 ROM 定制中,我们经常需要修改一些默认名称,例如 蓝牙名称、设备名称、热点名称 等。虽然这些名称在 AOSP 源码中有默认值,但各厂商 ROM 一般都会修改这些配置,以符合自己的品牌需求。
今天,我们就来深入解析 修改蓝牙、设备、热点名称的方法,让你的 ROM 更具个性化!🚀
🔹 1. 蓝牙名称修改
📌 1.1 AOSP 原生默认蓝牙名称
在 Android 13 AOSP 源码中,默认蓝牙名称的定义位于:
/device/generic/common/bluetooth/bdroid_buildcfg.h
其中:
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#define BTM_DEF_LOCAL_NAME "Android Bluedroid"
#endif
这里的 BTM_DEF_LOCAL_NAME 定义了默认的蓝牙名称,修改它可以影响蓝牙设备的显示名称。
📌 1.2 定制 ROM 蓝牙名称
但在 实际开发中,蓝牙名称一般 不是直接硬编码在 AOSP 代码中,而是 动态从 vendor 目录下提取,通常在 vendor/ 目录下也会有对应的 bdroid_buildcfg.h 文件,例如:
vendor/某厂商/bluetooth/bdroid_buildcfg.h
在该文件中,同样可以找到:
#define BTM_DEF_LOCAL_NAME "XXX品牌-Bluetooth"
📌 修改方式:
找到 vendor 目录下的 bdroid_buildcfg.h。
修改 BTM_DEF_LOCAL_NAME 的值,如:
#define BTM_DEF_LOCAL_NAME "MyCustomROM Bluetooth"
重新编译 AOSP,烧录到设备,即可生效。
🔹 2. 设备名称修改
📌 2.1 AOSP 设备名称的存储
在 Android 13 中,设备名称的逻辑在 MtpDatabase.java:
/frameworks/base/media/java/android/mtp/MtpDatabase.java
其中:
case MtpConstants.DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:// 设备友好名称存储在 SharedPreferencesvalue = mDeviceProperties.getString(Integer.toString(property), "");length = value.length();
可以看出,设备名称默认存储在 SharedPreferences 中,而非硬编码。
📌 2.2 定制 ROM 设备名称
在 定制 ROM 时,设备名称 通常不是直接在代码中写死,而是从 SystemProperties 获取,即:
value = SystemProperties.get("ro.product.model", "");
📌 修改方式:
找到 build.prop 或 system.prop 文件(通常在 device/某厂商/某机型/ 目录下)。
修改设备名称属性:
ro.product.model=MyCustomPhone
重新编译 AOSP 并刷机,修改后的设备名称将在设备信息、USB 连接时显示。
🔹 3. 热点(WiFi AP)名称修改
📌 3.1 AOSP 热点名称的存储
Android 13 中,默认 热点(WiFi AP)名称 由 WifiApConfigStore.java 定义:
// /packages/modules/Wifi/service/java/com/android/server/wifi/WifiApConfigStore.java
private SoftApConfiguration getDefaultApConfiguration() { SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();configBuilder.setSsid(mContext.getResources().getString(R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid());
可以看到,默认热点名称是 wifi_tether_configure_ssid_default + 随机数。
📌 3.2 定制 ROM 热点名称
在 定制 ROM 时,热点名称通常会被 overlay 机制覆盖,即:
AOSP 代码 里默认 wifi_tether_configure_ssid_default存放在 res/values/strings.xml:
<string name="wifi_tether_configure_ssid_default">AndroidAP</string>
但在实际 ROM 开发中,厂商一般会使用 overlay 机制覆盖该值,而 overlay 配置一般位于:
vendor/overlay/某厂商/wifi/res/values/strings.xml
其中可能会有:
<string name="wifi_tether_configure_ssid_default">MyCustomROM_AP</string>
📌 修改方式:
找到 vendor/overlay 目录下的 strings.xml 文件。
修改 wifi_tether_configure_ssid_default,如:
<string name="wifi_tether_configure_ssid_default">CustomWiFi</string>
重新编译 & 刷机,默认热点名称修改成功!
🔹 4. 总结
🔹 5. 进阶:使用 overlay 动态修改
除了直接修改代码,还可以使用 Android Overlay 机制 动态修改 各类名称。
📌 示例:通过 overlay 修改 wifi_tether_configure_ssid_default
<string name="wifi_tether_configure_ssid_default" translatable="false">MyROM_Hotspot</string>
📌 示例:通过 overlay 修改 ro.product.model
ro.product.model=MyCustomDevice
✅ overlay 方式的好处:
无需改动 AOSP 源码,只需修改 overlay 资源。
不同机型可灵活适配,实现 动态修改默认名称。
🚀 6. 你学会了吗?
以上就是 AOSP & ROM 定制中的常见名称修改技巧,无论是 蓝牙、设备名称、热点名称,都可以通过 修改源码 & overlay 机制 进行定制。
✅ 如果你是 ROM 开发者,这些知识点是必须掌握的!
✅ 如果你是 AOSP 深度学习者,尝试修改源码 & 编译 ROM,你会学到更多!
📢 欢迎留言交流,学习更多 Android 系统开发技巧!🔥