搜档网
当前位置:搜档网 › 通过反编译SystemUI.apk,达到美化电量实时显示

通过反编译SystemUI.apk,达到美化电量实时显示

通过反编译SystemUI.apk,达到美化电量实时显示
通过反编译SystemUI.apk,达到美化电量实时显示

题外话:前几天学习了单刷包的制作教程,折腾了2天,终于学会了单刷包制作,然后就想美化通知栏电量的实时显示,又折腾了一天,毫无收获,我其实是想修改SystemUI.apk里面的

stat_sys_battery.xml文件和电量显示图片文件,但是老是反编译SystemUI.apk后全是smali类型的文件,最后了解是我的java环境没弄好,只装了jdk,却没有装adb和android sdk。所以反编译不成功,然后我把adb和android sdk装好,配置好环境变量,再次反编译SystemUI.apk,就成功了。

下图就是反编译SystemUI.apk不成功的样本,全是smali文件:

最终效果

没修改之前的效果:

本人手机亲测美化电量后,实时电量显示效果:

言归正传,我就说一下这几天我美化电量的心得:

我之前看了论坛关于美化电量的教程,好多都说美化电量是在framework_res.apk中修改,达到美化

电量的效果,但是经过我的实践发现,华为d1四核的通知栏电量的美化修改应该在SystemUI.apk(该文件的路径:/system/app/SystemUI.apk,在手机中用re管理器可以看得到)中,而没有在framework_res.apk中,所以我们就反编译SystemUI.apk再修改后编译回来替换就可以了

反编译SystemUI.apk之前,必须配置好java环境,当然你如果之前就已经配置好java环境,不需再配置

ps:如果java环境没配置好,去反编译SystemUI.apk就会出现编译后全是smali类型文件,就会跟最上面那张图一样。

下面引用xda论坛中别人的帖子,该帖子明确的讲解了在windows中怎样配置java环境,该帖子作者:Setsuna_F_Seiei(表示感谢)

(1) JDK的安装及环境变量的配置

1. 去Oracle官方网站下载并安装JDK,下载地

址:https://www.sodocs.net/doc/8c15682543.html,/technetwork/java/javase/downloads注意是下载JDK,而不是JRE

JDK (Java Development Kit,Java开发工具包) JRE (Java Runtime Environment,Java运行环境) 你也可以点击以下链接直接下载JDK:

32位:https://www.sodocs.net/doc/8c15682543.html,/otn-p ... 32-windows-i586.exe

64位:https://www.sodocs.net/doc/8c15682543.html,/otn-p ... u32-windows-x64.exe

2. 配置环境变量下载并安装JDK之后,你需要在计算机的“系统属性”里配置以下环境变量:(步骤:在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”)变量名:JAVA_HOME 变量值:D:\java\jdk1.6.0_32 (JDK安装目录)

3. 测试JDK是否安装成功在计算机的“运行”(Win+R)里打开CMD

输入java – version 命令,如果出现以下提示,表示JDK安装成功!C:\Documents and Settings\Administrator>java -version

java version "1.6.0_20"

Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode)

(2) ADB的安装及环境变量的配置 1. 首先要去Google官方下载Android SDK,

你也可以点击以下链接直接下载Android

SDK:https://www.sodocs.net/doc/8c15682543.html,/android/installer_r18-windows.exe

2. 下载并安装Android SDK之后,打开SDK Manager,勾选Packages下面的Tools,只需要下载Android SDK Tools和Android SDK Platform-tools,大小为78MB,其他的不用下载。

3. 设置Android SDK环境变量1) 新建环境变量(步骤:在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”)

变量名:ANDROID_SDK_HOME 变量值:D:\Android\android-sdk (SDK安装目录)

2) 添加Path路径(一般来讲系统上默认都会有Path变量,我们只需要找到并编辑即可,直接在变量值后面添加以下变量值;如果不存在Path变量,那就新建一个吧)

变量名:Path

变量值:;%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools (注意前面的分号)

4. 测试Android SDK和ADB是否安装成功

在计算机的“运行”(Win+R)里打开CMD,输入adb 命令,如果出现以下提示,表示Android SDK和ADB安装成功!

好了,java环境已经全部配置好了。

到此处,引用别人帖子结束。继续往下走

然后可以反编译SystemUI.apk了,编译后文件夹的样子如下图:

我们要修改的地方有两处:

1.drawable文件下的stat_sys_battery.xml文件(该文件路径res\drawable文件下)

2.在文件夹res\drawable-hdpi中有关电量显示的图片

ps:在这,我们不修改充电时电量图标,只修改待机时放电的电量实时显示在stat_sys_battery.xml代码中,我们看到电量放电显示是跳跃性的。

我们要的是实时显示所剩的电量(也就是让他显示连续性),所以把它改为如下内容

xmlns:android="https://www.sodocs.net/doc/8c15682543.html,/apk/res/android">

就行了。

至于电量的图标修改,用我提供的电量图片替换就可了。电量图片包在下面附件中。

替换方法是,把我提供图片复制到res\drawable-hdpi文件下就可以了,弹出是否替换,选替换即可。到此,大致完成了。

现在就只需要用反编译工具编译成SystemUI.apk就可以了,替换/system/app/SystemUI.apk就ok 了

方法一:可以在手机上用re管理器替换/system/app/SystemUI.apk再重启就可以了

方法二:直接把我上传的powerbeauty.zip文件放入sd卡,在recovery模式下按刷机的方法刷入手机,就ok了。

反编译工具大家自己下载吧,网上和论坛上多的是(常用的反编译工具apktool,doapk,apk multi-tool 等)

我是个新手,第一次在安智上发教程贴,这都是我这几天定制rom学习的经验,可能写的不是很好,望大家多包涵。我只是想跟大家多多交流,学习,希望能帮助到大家。

所有附件全在最下面。

昨天有机油说,4.1的系统刷了我的包,可以开机,但是不显示状态栏,所以今天更新4.1系统的SystemUI.apk文件,详情看下面附件。怪我没说清楚,对不住大家。在此说明一下:4.0的是基于b125固件修改的,其他的固件勿刷;4.1的是基于EmotionUI_4.1_B534 固件修改的,其他的固件勿刷;

相关主题