error: update package missing system.img,Android 5.0 刷入镜像出错原因以及解决方法

本人使用手机的是 N5,最近被 Android 5.1 的内存泄露问题说困扰,表现的现象就是应用在后台占用越来越多的内存,导致系统卡顿严重。网络搜索一下,发现是普遍的问题,而且 Android5.1.1 已经专门解决了这个问题,不多说,直接开刷。

本来官方镜像重刷是一件很简单的事情,官方的脚本直接执行了就完事。但是这次却遇到一个诡异的下载错误,DOS 窗口提示: error: update package missing system.img。

继续阅读error: update package missing system.img,Android 5.0 刷入镜像出错原因以及解决方法

第一次自己DIY电脑,爽

自从笔记本ACER 4745G 的独立显卡挂掉之后,一直想换台电脑,加上最近开发时,笔记本的龟速实在是无法忍受。升级了  SSD 之后虽然情况有所改善,但是内存吃紧的问题依然没有解决。

狠狠心,换一台电脑,毕竟电脑是自己的赚钱工具,是刚需。因为长期深受笔记本性能和散热的折磨,而且真正想开发不会卡顿,笔记本是做不到的,所以这次坚决上台式。

因为是自己真正意义上的自己 DIY,所以心里还是有点忐忑。如果机器点不亮的话,那要多郁闷,就有多郁闷。所以在网上做了不少功课。针对自己的开发需求,选择了 CPU 高配,显卡一般的配置。4700左右,就可以得到一套软件开发很不错的配置了。

继续阅读第一次自己DIY电脑,爽

Android Framework 代码的混淆

因项目需要把 Android Framework 自主开发部分的代码进行代码混淆,首先的工具是 PROGUARD。但是 PROGUARD 更多是用于 APK 的代码混淆。网络上还没有看到对 Framework 代码混淆的案列。

网上找不到方法,只好自己动手了。研究了两天,终于实现了 Framework 层的代码混淆。

1.修改 Android.mk

代码放在 framework/base 目录下,编译生成 framework.jar,其实这不是一个很好的做法,因为与 Android 源生的代码混合在一起,造成低耦合。前期考虑不当了,后期维护就相对麻烦。

最关键的一点,修改 Android.mk, 使需要混淆部分的包和类单独编译。因为 framework 其他代码最好不要混淆,以免引起找不到类的出错提示。

然后设置 LOCAL_PROGUARD_ENABLED := nosystem,很重要,不然类的方法不会混淆成abcd类似的名称。

然后指定 proguard.flag,设定不混淆(保留)对外公开接口的类,重新编译。可以用模块编译 mmm 命令提高编译效率。

继续阅读Android Framework 代码的混淆