前言

手机默认音量阶数只有15阶,经常出现加一阶太大,减一阶又太小的情况。为了解决这个问题,可以制作一个Magisk模块,将音量阶数细分到30阶。以此来解决上述问题。

简单Magisk模块

Magisk模块的结构

为了将音量阶数修改为30阶,需要的东西其实非常少:

MoudleName.zip
│
├── 📁META-INF
│   └── 📁com
│       └── 📁google
│           └── 📁android
│               ├── 📄update-binary      
│               └── 📄updater-script     
│
├── 📄module.prop     
├── 📄system.prop
│

META-INF:Magisk官方提供,无需更改。 module.prop:模块信息。 system.prop:用来修改系统的build.prop

module.prop的作用

module.prop

id=<string>
name=<string>
version=<string>
versionCode=<int>
author=<string>
description=<string>
名称说明
id模块唯一标识符
version模块版本号
versionCode模块版本标识,必须为整数
author模块作者
description模块描述

system.prop的作用

为了修改音量阶数为30阶,需要借由system.prop修改build.propsystem.prop中的配置会被替换到build.prop中的对应配置。 system.prop

ro.config.media_vol_steps=29
ro.config.vc_call_vol_steps=29
ro.config.alarm_vol_steps=29
ro.config.system_vol_steps=29
ro.config.media_vol_default=10 // 开机时默认的音量大小,10表示10阶

小结

将打包成zip的模块安装到手机后重启,音量阶数便会被修改为30阶,并且初始音量大小为最大音量的1/3。经过测试,本人的手机(Redmi Note 12 Turbo, HyperOS)最多将音量阶数调整为30阶,超过这个数,修改就会无效。

更多关于Magisk模块的信息

一个功能丰富的Magisk模块的结构

module.zip
│
├── 📁META-INF
│   └── 📁com
│       └── 📁google
│           └── 📁android
│               ├── 📄update-binary     
│               └── 📄updater-script     
│
├── 📄module.prop    
├── 📄system.prop                 
├── 📄customize.sh                <--- (可选)用于自定义模块安装过程
├── 📁system                      <--- (可选)用于替换系统文件
│   └── 📁etc
│       └── 📄hosts               <--- (可选)这个文件会替换/etc/hosts
├── 📄post-fs-data.sh             <--- (可选)系统启动前执行的脚本
├── 📄service.sh                  <--- (可选)系统启动后执行的脚本
├── ...  /* 模块的其余文件 */
│