Platform:RK3399
OS:Android 7.1.2
1.需求
需要关闭(修改)系统默认铃声。
2.相关文件及目录
build/target/product/core_base.mk b/target/product/core_base.mk
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \ //提示铃声
ro.config.alarm_alert=Alarm_Classic.ogg //闹钟铃声
build/target/product/full_base.mk b/target/product/full_base.mk
# Additional settings used in all AOSP builds
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.ringtone=Ring_Synth_04.ogg \ //电话铃声
ro.config.notification_sound=pixiedust.ogg //提示音铃声
frameworks/base/data/sounds ---ogg格式铃声存放目录
.
├── alarms //闹钟铃声
├── AllAudio.mk //PRODUCT_COPY_FILES
├── notifications //提示音铃声
├── ringtones //电话铃声
3.实现方式
1.更换已有铃声
修改core_base.mk或full_base.mk为sounds目录下对应铃声名称即可。
2.更换自定义铃声
1.自己制作自定义ogg铃声,放到sounds对应目录下;
2.修改AllAudio.mk,仿照文件添加拷贝语句;
3.修改core_base.mk或full_base.mk对应铃声属性为自定义铃声。
3.默认关闭某个铃声
方法1:直接属性值为空
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \ //提示铃声
- ro.config.alarm_alert=Alarm_Classic.ogg //闹钟铃声
+ ro.config.alarm_alert= //属性为空
方法2:使用mute.ogg空音频替代
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \ //提示铃声
- ro.config.alarm_alert=Alarm_Classic.ogg //闹钟铃声
+ ro.config.alarm_alert=mute.ogg //属性为空
4.已知问题
上述修改默认音频的方案,直接烧录固件可以生效,但是使用OTA升级是不会生效的。
原因:默认 属于用户设置数据,OTA升级不会修改用户数据
解决方案:
1.擦除用户数据
build/tools/releasetools/ota_from_target_files
- OPTIONS.wipe_user_data = False
+ OPTIONS.wipe_user_data = True
2.OTA升级时调用数据库更新接口
3.尽量在正式版发布前修改
4.下一批生产设备时使用最新修改过的固件
网友评论