首先要会用APKtool进行SytemUI.apk的反编译和回编译,至于教程网上很多,可以自己搜索。要有一定的基础,不然看不懂XML的文件。刚开始我也老是回编译不了,什么不改也不行,后来仔细看出错信息才发现C8825d的SystemUI有一个秘密。原来SystemUI的res目录故意少了一些PNG文件,导致回编译时res\values\public.xlm文件中,Drawable资源引用下标溢出。比如系统中只有300个资源,但下标却指向350个资源,编译当然出错了。所以详细步骤请看下面吧!
一:准备工作:
1,APKTOOLS反编译器下载>>>,使用这个软件需要有点编译基础,仔细看下面教程
2,RE管理器中文版下载,替换编译好了的systemui.apk文件必备
3,如果你看不懂,那你就直接下载这个替换吧systemui.apk下载,看下面第三步替换
二:开始修改:
1,根据资源项目下标数据量的判断,少的那些资源项目就是精确电量所用的那些图标。实际应该有200多个,系统只引用了十几个,缺少100多个呢,因此添加了这100多个资源后,系统回编译就正常了。public.xlm文件不用修改,只要修改res\drawalbe\目录下电量显示和充电动画文件,并在\res\drawable-hdpi目录下增加这些电量显示和充电的图标,编译时系统会自动在public.xlm文件中添加这些项目。其实,4.04的系统是支持精确电量的,电量每变化1%,系统都会产生一个消息,至于显不显示那是SystemUI的事,与耗电完全无关。因此修改精确电量并不影响耗电,我在B938基础上修改的SystemUI,一个晚上待机耗电在1-2%之间,与原ROM完全一样
2,系统能正常回编译,那么修改状态栏就很容易了。C8825D的状态栏文件与其它机子稍有不同,我只修改了日期颜色,透明度等参数大家按照自己喜欢的改吧。状态栏字体的大小和颜色都在res\values\styles.xlm文件中,日期涉及栏目是TextAppearance.StatusBar.Clock,可以修改字体大小、颜色、是否加粗等等。不过,状态栏下拉菜单中运营商的名称也引用了这个定义,因此为区别开来,我又增加了TextAppearance.StatusBar.CarrierLabel的项目,让res\layout\status_bar_tracking.xml中的运营商名称显示引用新的项目,从而和状态栏日期修改区分开来。
3,程序修改完后,进行回编译。编译完成后,将apk\systemui\build\apk目录下的resources.arsc文件和res目录添加回原来的SystemUI.apk中。注意不能直接引用apktool编译生成的文件,也不能签名后的文件,可能原SystemUI中带的系统签名比较特殊吧。把修改好的SystemUI.apk用re管理器放到\system\apk目录下,替换原来的文件,如下图所示:
然后注意要把文件权限改三读一写,如下图,然后重启系统就可以了。
附上已改好的SystemUI.apk(在最上面有下载) 直接替换到系统中,用RE管理器,替换好了后三读一写,就OK了,然后只适用于B938版ROM,原则上B938版的ROM都可以用
来源网址为:https://www.huaweirom.com/meihua/1892.html