首先确认一点,魅族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. Linux多线程编程

    线程和进程的区别是: 进程是拷贝主进程的数据段和代码段的. 线程是和主进程公用一份数据段和代码段的. 线程一旦创建,就从指定的入口函数开始执行. 相关头文件: #include <pthread ...

  2. [LeetCode] Ternary Expression Parser 三元表达式解析器

    Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ...

  3. [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...

  4. [LeetCode] Next Permutation 下一个排列

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...

  5. Bootstap datetimepicker报错TypeError: intermediate value

    Bootstrap datetimepicker有多个版本,官方的链接中,只是datepicker,没有时间的选择,原版的datetimepicker也不再更新,不能用新版的jquery.现在http ...

  6. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...

  7. typedef

    第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, ...

  8. DevExpress.chartControt画趋势图

    private void DrawLine(DataTable dt) { Myalysis.Series.Clear(); //图标位置 Myalysis.Legend.AlignmentHoriz ...

  9. 15 个 Android 通用流行框架大全(转)

    1. 缓存 DiskLruCache    Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picas ...

  10. java第二周周学习总结

    java运算符和循环 java运算符 一.for 语句 for 语句的基本结构如下所示:for(初始化表达式;判断表达式;递增(递减)表达式){    执行语句;   //一段代码} 初始化表达式:初 ...