状态栏网速显示

使用工具: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、替换完成后,重新启动手机,开启无线或是数据流量,在状态栏就会显示网速了。

 

 

 

 

   

---恢复内容结束---

posted on 2013-12-03 14:57  校尉的记录  阅读(639)  评论(0编辑  收藏  举报

导航