【原创】android修改音量调节阶数,实现音量微调

用小米4C戴耳机听音乐,音量调到最低还是感觉很响(再低就没声音了),于是想着能不能像修改最低亮度一样,修改最低音量。

百度了很多东西,却只能找到修改音量调节级数的教程,没办法将就着用吧

主要两个链接,都是出自XDA论坛
http://www.in189.com/thread-380022-1-1.html
http://bbs.mfunz.com/thread-310913-1-1.html

首先要用的是JDK,我装的是1.8,怎么装网上找教程
然后用到了android的反汇编,用的工具是
smali.jar(汇编器)
baksmali.jar(反汇编器)
如果把dalvik看做一个机器,那么.smali文件就是汇编文件,相当于x86计算机里的.asm文件
.dex就相当于是二进制机器码可执行文件.exe

https://bitbucket.org/JesusFreke/smali/downloads
在这个网址找到smali.jar和baksmali.jar的下载地址,最好下载最新的

在手机刷机包里找到/system/framework/framework.jar,和smali.jar、baksmali.jar放在同一个文件夹里

用360压缩打开framework.jar,提取出classes.dex(ROM必须是Deodex过的,否则就找不到.dex文件了

然后就是最关键的反汇编了,在刚才的目录打开cmd(shift+鼠标右键),输入
java -jar baksmali.jar -o classout/ classes.dex
这时D盘中会出现一个名叫classout的文件夹,打开 classout\android\media\AudioService.smali文件(用notepad++),查找“array_,找到如图

将数组的第四个元素0xf(原来是15阶的)改成0x1e(30阶),这样就修改了音乐媒体音量的调节阶数

保存文件,命令行输入java -jar smali.jar classout/ -o classes.dex
将汇编文件汇编成dex文件,用360压缩替换掉原来的classes.dex,再把framework.jar替换进刷机包中
刷入手机即可

亲测成功,这是我手机修改后的最小音量,确实比原来小了一半


原文链接:,转发请注明来源!

小礼物走一走,梦想失落乐园爱你么么哒!

赞赏支持

发表评论