状态栏网速显示
使用工具:apktool,需要及时更新,不然解包或是打包是会出错;
制作步骤:
1、提取官方固件里的SystemUI.apk 、framework-res.apk以及不同厂商自己定制的framework,例如:华为的是framework-res-hwext.apk,三星的是tw-framework-res.apk;
2、反编译SystemUI.apk:
a、首先设定好环境:apktool if framework-res.apk 注:厂商定制的也需要if;
b、编译SystemUI.apk:apktool d SystemUI.apk;
3、修改得到的SystemUI文件夹
a、在SystemUI/res/layout/目录下找到star_bar.xml文件,打开,在这个里面添加网速显示的配置文件,位置可以自己定,但是一个都是在网络的左边显示,因此,搜索:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
下这句的下面添加:http://yunpan.cn/QUtQF7HzTE7pG
<com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="left|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
备注:1、不同的手机有可能修改的文件不一样,比如:三星的9308是修改tw_star_bar.xml,三星的8262D因为是双卡显示,则需要修改tw_star_bar_dual.xml,华为C8813则是修改star_bar.xml;其他手机有待测试,但是肯定是类似文件;
2、添加关于网速配置的语句中,其中可以添加关于显示字体颜色,大小,粗细;因为华为C8813在反编译成功后不能替换resources.arsc文件,所以想定义显示字体的话需要在这里定义;
b、在SystemUI/res/valus目录下找到ids.xml文件,在文件的最后面添加:
1 <item type="id" name="traffic">false</item>
c、在SystemUI/res/valus目录下找到styles.xml文件,在文件的最后面添加:
<style name="TextAppearance.StatusBar.Traffic" parent="@android:style/TextAppearanece.StatusBar.Icon">
<item name="android:textSize">16.0dip</item> // 定义字体大小
<item name="android:textStyle">normal</item> // 定义字体粗细(BLOD 粗体)
<item name="android:textColor">#ffffffff</item> // 定义字体颜色(前俩个字母是透明度)
<item name="android:textAllCaps">false</item> // 定义是否大写
</style>
备注:a、若前面已经定义了字体,这里可以省略
b、若都不定义,系统则默认给予字体颜色和大小
d、添加获取网络的代码:下载附件,并解压,把得到的5个.smali文件拷贝到SystemUI/smali/com/android/systemui/starbar/policy目录下
附件下载地址:
4、回编译SystemUI文件夹:apktool b SystemUI ;在SystemUI/dist/下生成SystemUI.apk
5、把得到的SystemUI.apk内的res/layout/statusbar.xml、class.dex、resources.arsc替换到原APK中,需要注意不同文件的保存格式;
注:还可以使用签名工具对回编译得到的SystemUI.apk进行签名,但是有可以刷入后不能使用;
6、使用adb命令,或是使用手机端的RE文件把修改好的SystemUI.apk替换到手机相应的文件夹内,需要注意替换APK时的权限问题;
7、替换完成后,重新启动手机,开启无线或是数据流量,在状态栏就会显示网速了。
---恢复内容结束---