通过反编译SystemUIapk达到美化电量实时显示.docx
- 文档编号:4121878
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:16
- 大小:750.91KB
通过反编译SystemUIapk达到美化电量实时显示.docx
《通过反编译SystemUIapk达到美化电量实时显示.docx》由会员分享,可在线阅读,更多相关《通过反编译SystemUIapk达到美化电量实时显示.docx(16页珍藏版)》请在冰豆网上搜索。
通过反编译SystemUIapk达到美化电量实时显示
题外话:
前几天学习了单刷包的制作教程,折腾了2天,终于学会了单刷包制作,然后就想美化通知栏电量的实时显示,又折腾了一天,毫无收获,我其实是想修改SystemUI.apk里面的stat_sys_battery.xml文件和电量显示图片文件,但是老是反编译SystemUI.apk后全是smali类型的文件,最后了解是我的java环境没弄好,只装了jdk,却没有装adb和androidsdk。
所以反编译不成功,然后我把adb和androidsdk装好,配置好环境变量,再次反编译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,下载地址:
注意是下载JDK,而不是JRE
JDK(JavaDevelopmentKit,Java开发工具包) JRE(JavaRuntimeEnvironment,Java运行环境) 你也可以点击以下链接直接下载JDK:
32位:
...32-windows-i586.exe
64位:
...u32-windows-x64.exe
2.配置环境变量 下载并安装JDK之后,你需要在计算机的“系统属性”里配置以下环境变量:
(步骤:
在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”) 变量名:
JAVA_HOME 变量值:
D:
\java\jdk1.6.0_32(JDK安装目录)
3.测试JDK是否安装成功 在计算机的“运行”(Win+R)里打开CMD
输入java–version命令,如果出现以下提示,表示JDK安装成功!
C:
\DocumentsandSettings\Administrator>java-version
javaversion"1.6.0_20"
Java(TM)SERuntimeEnvironment(build1.6.0_20-b02)
JavaHotSpot(TM)ClientVM(build16.3-b01,mixedmode)
(2)ADB的安装及环境变量的配置 1.首先要去Google官方下载AndroidSDK,
下载地址是:
你也可以点击以下链接直接下载AndroidSDK:
2.下载并安装AndroidSDK之后,打开SDKManager,勾选Packages下面的Tools,只需要下载AndroidSDKTools和AndroidSDKPlatform-tools,大小为78MB,其他的不用下载。
3.设置AndroidSDK环境变量 1)新建环境变量 (步骤:
在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”)
变量名:
ANDROID_SDK_HOME 变量值:
D:
\Android\android-sdk (SDK安装目录)
2)添加Path路径 (一般来讲系统上默认都会有Path变量,我们只需要找到并编辑即可,直接在变量值后面添加以下变量值;如果不存在Path变量,那就新建一个吧)
变量名:
Path
变量值:
;%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools(注意前面的分号)
4.测试AndroidSDK和ADB是否安装成功
在计算机的“运行”(Win+R)里打开CMD,输入adb命令,如果出现以下提示,表示AndroidSDK和ADB安装成功!
好了,java环境已经全部配置好了。
到此处,引用别人帖子结束。
继续往下走
然后可以反编译SystemUI.apk了,编译后文件夹的样子如下图:
我们要修改的地方有两处:
1.drawable文件下的stat_sys_battery.xml文件(该文件路径res\drawable文件下)
2.在文件夹res\drawable-hdpi中有关电量显示的图片
ps:
在这,我们不修改充电时电量图标,只修改待机时放电的电量实时显示
在stat_sys_battery.xml代码中,我们看到电量放电显示是跳跃性的。
我们要的是实时显示所剩的电量(也就是让他显示连续性),所以把它改为如下内容
xmlversion="1.0"encoding="utf-8"?
>
xmlns: android=" drawable="@drawable/stat_sys_battery_0"android: maxLevel="0"/> drawable="@drawable/stat_sys_battery_1"android: maxLevel="1"/> drawable="@drawable/stat_sys_battery_2"android: maxLevel="2"/> drawable="@drawable/stat_sys_battery_3"android: maxLevel="3"/> drawable="@drawable/stat_sys_battery_4"android: maxLevel="4"/> drawable="@drawable/stat_sys_battery_5"android: maxLevel="5"/> drawable="@drawable/stat_sys_battery_6"android: maxLevel="6"/> drawable="@drawable/stat_sys_battery_7"android: maxLevel="7"/> drawable="@drawable/stat_sys_battery_8"android: maxLevel="8"/> drawable="@drawable/stat_sys_battery_9"android: maxLevel="9"/> drawable="@drawable/stat_sys_battery_10"android: maxLevel="10"/> drawable="@drawable/stat_sys_battery_11"android: maxLevel="11"/> drawable="@drawable/stat_sys_battery_12"android: maxLevel="12"/> drawable="@drawable/stat_sys_battery_13"android: maxLevel="13"/> drawable="@drawable/stat_sys_battery_14"android: maxLevel="14"/> drawable="@drawable/stat_sys_battery_15"android: maxLevel="15"/> drawable="@drawable/stat_sys_battery_16"android: maxLevel="16"/> drawable="@drawable/stat_sys_battery_17"android: maxLevel="17"/> drawable="@drawable/stat_sys_battery_18"android: maxLevel="18"/> drawable="@drawable/stat_sys_battery_19"android: maxLevel="19"/> drawable="@drawable/stat_sys_battery_20"android: maxLevel="20"/> drawable="@drawable/stat_sys_battery_21"android: maxLevel="21"/> drawable="@drawable/stat_sys_battery_22"android: maxLevel="22"/> drawable="@drawable/stat_sys_battery_23"android: maxLevel="23"/> drawable="@drawable/stat_sys_battery_24"android: maxLevel="24"/> drawable="@drawable/stat_sys_battery_25"android: maxLevel="25"/> drawable="@drawable/stat_sys_battery_26"android: maxLevel="26"/> drawable="@drawable/stat_sys_battery_27"android: maxLevel="27"/> drawable="@drawable/stat_sys_battery_28"android: maxLevel="28"/> drawable="@drawable/stat_sys_battery_29"android: maxLevel="29"/> drawable="@drawable/stat_sys_battery_30"android: maxLevel="30"/> drawable="@drawable/stat_sys_battery_31"android: maxLevel="31"/> drawable="@drawable/stat_sys_battery_32"android: maxLevel="32"/> drawable="@drawable/stat_sys_battery_33"android: maxLevel="33"/> drawable="@drawable/stat_sys_battery_34"android: maxLevel="34"/> drawable="@drawable/stat_sys_battery_35"android: maxLevel="35"/> drawable="@drawable/stat_sys_battery_36"android: maxLevel="36"/> drawable="@drawable/stat_sys_battery_37"android: maxLevel="37"/> drawable="@drawable/stat_sys_battery_38"android: maxLevel="38"/> drawable="@drawable/stat_sys_battery_39"android: maxLevel="39"/> drawable="@drawable/stat_sys_battery_40"android: maxLevel="40"/> drawable="@drawable/stat_sys_battery_41"android: maxLevel="41"/> drawable="@drawable/stat_sys_battery_42"android: maxLevel="42"/> drawable="@drawable/stat_sys_battery_43"android: maxLevel="43"/> drawable="@drawable/stat_sys_battery_44"android: maxLevel="44"/> drawable="@drawable/stat_sys_battery_45"android: maxLevel="45"/> drawable="@drawable/stat_sys_battery_46"android: maxLevel="46"/> drawable="@drawable/stat_sys_battery_47"android: maxLevel="47"/> drawable="@drawable/stat_sys_battery_48"android: maxLevel="48"/> drawable="@drawable/stat_sys_battery_49"android: maxLevel="49"/> drawable="@drawable/stat_sys_battery_50"android: maxLevel="50"/> drawable="@drawable/stat_sys_battery_51"android: maxLevel="51"/> drawable="@drawable/stat_sys_battery_52"android: maxLevel="52"/> drawable="@drawable/stat_sys_battery_53"android: maxLevel="53"/> drawable="@drawable/stat_sys_battery_54"android: maxLevel="54"/> drawable="@drawable/stat_sys_battery_55"android: maxLevel="55"/> drawable="@drawable/stat_sys_battery_56"android: maxLevel="56"/> drawable="@drawable/stat_sys_battery_57"android: maxLevel="57"/> drawable="@drawable/stat_sys_battery_58"android: maxLevel="58"/> drawable="@drawable/stat_sys_battery_59"android: maxLevel="59"/> drawable="@drawable/stat_sys_battery_60"android: maxLevel="60"/> drawable="@drawable/stat_sys_battery_61"android: maxLevel="61"/> drawable="@drawable/stat_sys_battery_62"android: maxLevel="62"/> drawable="@drawable/stat_sys_battery_63"android: maxLevel="63"/> drawable="@drawable/stat_sys_battery_64"android: maxLevel="64"/> drawable="@drawable/stat_sys_battery_65"android: maxLevel="65"/> drawable="@drawable/stat_sys_battery_66"android: maxLevel="66"/> drawable="@drawable/stat_sys_battery_67"android: maxLevel="67"/> drawable="@drawable/stat_sys_battery_68"android: maxLevel="68"/> drawable="@drawable/stat_sys_battery_69"android: maxLevel="69"/> drawable="@drawable/stat_sys_battery_70"android: maxLevel="70"/> drawable="@drawable/stat_sys_battery_71"android: maxLevel="71"/> drawable="@drawable/stat_sys_battery_72"android: maxLevel="72"/> drawable="@drawable/stat_sys_battery_73"android: maxLevel="73"/> drawable="@drawable/stat_sys_battery_74"android: maxLevel="74"/> drawable="@drawable/stat_sys_battery_75"android: maxLevel="75"/> drawable="@drawable/stat_sys_battery_76"android: maxLevel="76"/> drawable="@drawable/stat_sys_battery_77"android: maxLevel="77"/> drawable="@drawable/stat_sys_battery_78"android: maxLevel="78"/> drawable="@drawable/stat_sys_battery_79"android: maxLevel="79"/> drawable="@drawable/stat_sys_battery_80"android: maxLevel="80"/> drawable="@drawable/stat_sys_battery_81"android: maxLevel="81"/> drawable
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通过 反编译 SystemUIapk 达到 美化 电量 实时 显示