首先确认一点,魅族Smartbar的推出,是敢于创新,大胆向前的做法。在软件兼容的情况下,Smartbar确实提高单手操作的便利,而且和flymeOS整体性融合度比较好。

但是,往往事与愿违,现实中众多的App还没有按照Android 4.0的标准去适配开发(有兴趣的童鞋可以看看http://pan.baidu.com/s/1oVx7d),从而导致了Smartbar不兼容的情况,出现传说中的双底栏。

如图不兼容(底栏处):             兼容的情况下还是挺好看的

     

这双底栏看着,确实挺蛋疼的。何况这微信整天用。

下面我们就开始移除SmartBar,这不会破坏软件本来兼容有的SmartBar,但是想微信那样的就会去除(有极少数的还是会有双底栏)。

一.配置环境

  1.配置JAVA环境可以谷歌一下,很详细。

  2.准备编译和反编译软件。

   提供本人用的:http://pan.baidu.com/s/1pBuSL,安装方法略...

   这个反编译程序可以在APK程序右击后出现编译菜单,方便使用。

二.编译framework-res.apk文件

  1.要去除这还不太完善的smartbar,首先要手机要ROOT,很好的是,魅族官方ROM里面以提供了这个选项!

   设置--账户--更多。里面就有个开放权限的选项。(要登陆你的Flyme帐号)

  2.获得Root权限后,用RootExplorer文件浏览器(推荐使用3.0以上的,可跳过挂载读写和修改权限),进入手机system/framework/,找到framework-res.apk,复制到内存卡根目录中,

   然后连接电脑取到电脑中。(也可以在固件中取出,需要解包工具)

  3.使用反编译程序编译framework-res.apk(文件不要放在分区根目录下,这样会反编译失败),右击framework-res.apk选择“反编译APK文件”,然后在此文件的同一目录下会出现framework-res文件夹。

    

  4.进入framework-res\res\values,找到dimens.xml。打开它,找到<dimen name="navigation_bar_height">,大概在26行。然后把值改成0.0dip(小数点不要去掉,当然你也可以改成其他数值,有兴趣可以试试),保存。
    

  5.回编译

    右击framework-res文件夹,选择“回编译APK无Dex”,完成后会在framework-res文件夹下,有一个“已编译”文件夹,进入找到“resources.arsc”,把他拖到framework-res.apk(用解压软件打开)里面去,提示有覆盖就覆盖就好了。

    

三.替换framework-res.apk

    把改好的framework-res.apk放置手机中,打开RootExplorer文件浏览器,将framework-res.apk移动到/system下3.0以上的会自动修改权限,在移动到/system/framework文件夹覆盖,重启。

    好了,重启完打开微信看看,双底栏不见了。

    

魅族MX2去除smartbar教程的更多相关文章

  1. 魅族MX2代理设置

    魅族MX2买了快2年了,今天才知道有这个功能,唉 连接一个无线网络,比如我的centos 长按网络名字 选代理设置,设置自己的代理,再也不用SS 或 VPN 的android端了,老是提示ROOT权限 ...

  2. 安卓app设计规范整理和Android APP设计篇(转)

    随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近小米的miui 6的发布和魅族手机系统的更新等等. 以小米MIUI6的安卓手机来说,MIUI6进行了全新设计,坚持 ...

  3. 手机设计尺寸 - iPhone界面尺寸

    参考网址: http://www.qijishow.com/down/app-index.htm iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone6 plu ...

  4. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

  5. 木耳听歌记---Clip+安装Rockbox

    黑五嫌着无聊,在什么值得买的诱惑下从美国亚马逊买了一个Clip+ 8GB版本,不为别的,就为了一直听别人说可以装Rockbox,谁让咱的魅族MX2无法安装这听歌神器来. 转运过程就不说了, 历时一个多 ...

  6. 与Status Bar和Navigation Bar相关的一些东西

    Android Navigation Bar Status Bar   与StatusBar和NavigationBar相关的东西有两种,一是控制它们的显示与隐藏,二是控制它们的透明与否及背景. 在2 ...

  7. 大师教你<部落冲突>如何切换账号

    前提申请两个谷歌账号,账号一和账号二,想要切换账号,只需清除部落冲突在手机上的数据即可.详情请看下文! 1. 第一次登陆,进入游戏后 2. 没有谷歌商店的童鞋,下载谷歌安装器(一键修复)以及VPNFQ ...

  8. 迅为顶级四核开发板 Exynos4412开发板,仅售560元

    业内公认最强四核 藐视一切挑战 ●四核CPU  ●四核GPU  ●双通道内存  ●HKMG技术  ●超级性能  ●至佳稳定  ●供货周期长 Exynos 4412处理器成功应用于三星GALAXY S3 ...

  9. 主流手持设备GPU性能比较

    设备 GPU CPU 每秒像素填充率 每秒三角形生成 内存 iPhone4 PowerVR SGX 535 ARM Cortex-A8 800M     512M iPod touch 4 Power ...

随机推荐

  1. android socket 线程连接openwrt与arduino单片机串口双向通信

    package zcd.netanything; import java.io.BufferedReader; import java.io.InputStreamReader; import jav ...

  2. c# 三种常见的委托

    参考  <编写高质量代码:改善C#程序的157个建议> , 尽量使用FCL中的委托声明. FCL: FrameWork Class Library 三种常用:Action.Func.Pre ...

  3. HDU 1564 Play a game(巴什博弈)

    New Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game with 8600. The ...

  4. MongoDB查询转对象是出错Element '_id' does not match any field or property of class

    MongoDB查询转对象是出错Element '_id' does not match any field or property of class   解决方法: 1.在实体类加:[BsonIgno ...

  5. linux重启mysql无法启动

    如VPS新建后,重启则无法启动,出现类似 Starting MySQL ... * The server quit without updating PID file (/var/run/mysqld ...

  6. [LeetCode] Total Hamming Distance 全部汉明距离

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  7. 51Nod 1428 活动安排问题

    51Nod   1428  活动安排问题 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活 ...

  8. RTMP流媒体播放过程

      RTMP协议规定:第一步,建立一个网络连接(NetConnection):客户端和服务端的基础连通关系 第二步:建立一个网络流(NetStream)发送多媒体的通道(只能建立一个网络连接,可以建立 ...

  9. Fragment中onActivityResult不响应

    开发中遇到Fragment中onActivityResult不响应的问题,曾经见过. 不少同学说处理方法是在与Fragment绑定的FragmentActivity中重写onActivityResul ...

  10. PHP curl报错“Problem (2) in the Chunked-Encoded data”解决方案

    $s = curl_init(); curl_setopt($s, CURLOPT_POST, true); curl_setopt($s, CURLOPT_POSTFIELDS, $queryStr ...