新年,新工作,新生活,当然少不了新手机,囧
事实上这个 Nexus 5 本来是买给 TAOTAO 替换 iPhone 4 的,没想到她对 Android 系统诸多不适应,对其外观也颇有微词,考虑了一下还是决定先买个 iPad Air 32GB Wi-Fi 扛着,等下一代 iPhone 吧。
在澳洲使用过的手机,时间线大致如下
root
又不舒服,唉。root
的感觉很舒服,在诸多方面都都比官方固件强。只是稳定性还有待提高,毕竟还是 nightly 嘛,稳定就别乱刷,等稳定版释出吧。作为资深 Linux 玩家,用没有 root
的机器是及其难受的,就像一个习惯了开手动档车的人,突然开起自动档,还是不带手动模式的!手机作为随身携带的移动设备,使用时间甚至会超过笔记本电脑,应该完全掌控(知道它在做什么,以及能做什么)把它调教到自己满意的状态运行 root
是必要条件。之前在 Nexus S 上使用 CyanogenMod
几个月也证明了其稳定性和可靠性。因为解锁设备(实际上是解 bootloader 锁)会擦除设备上所有的数据,所以开箱第一件事就是解锁,即使你准备(暂时)用官方固件。
关于解锁,刷 custom recovery 和自定义固件,论坛和博客上的文章讨论鱼龙混杂,设备间还存在着差异,让人无所适从。这也是我最初使用 Nexus S 懒得刷机的原因之一。后来找资深的 Android 刷机师傅(更是 Solaris / Linux 大牛)同事聊了近一个小时,解了惑,搞清了概念,理清了思路,接下去就是顺水推舟了。
直接从 CyanogenMod
官方 wiki 上找 Nexus 5 对应的页面,找到安装指南,跟着步骤做就行了,完全没有压力。
一些注意事项
root
之苦)导致丢数据。adb
和 fastboot
直接通过系统的包管理工具装 android-tools-adb
, android-tools-fastboot
这两个包即可。ClockworkMod
,用 TWRP
可能产生问题。cm-11-20140111-NIGHTLY-hammerhead.zip
该工作的都工作,稳定性不错。Privacy Guard
对付新浪微博等国产流氓应用无效,禁止其访问联系人、通话记录等隐私数据的话启动就直接崩溃。建议用 Xposed
框架 + XPrivacy
方案(喂给它假的数据)搞定。我的情况是 Nexus 4 官方固件迁移到 CyanogenMod 11 nightly 源没有 root 而目标有。找到 ClockworkMod 家出品的 Helium 以前叫 Carbon 免费版,用了一些小技巧一下子搞定了短讯、通话记录以及诸如 Twitter for Android (草稿箱里有大量有料,想发未发的推,丢了太可惜)等应用的数据。
用 Helium 免费版实现设备间数据迁移的技巧:分别在源和目标设备上备份同样的应用(为的是生成同样的目录结构和数据文件),在 /sdcard/carbon
下,然后用在源上生成的应用目录下的 .ab
(安卓备份)文件覆盖目标设备上对应目录下的。比如 Twitter for Android 的 /sdcard/carbon/com.twitter.android/com.twitter.android.ab
,之后再在目标设备上用 Helium 恢复即可。
注意:直接把源上生成的备份复制到目标对应的 carbon 目录下是无用的,选择 Restore and Sync 里看不到,嘿嘿(逼人付费?)。
Helium 付费版可以通过 Dropbox 或 Google Drive 备份和恢复,甚至提供在同一个 WLAN 中的设备间迁移数据。在本机上可以跑服务提供 Web UI 进行操作,非常不错。是 Titanium Backup 之外的另一个好选择,对未 root
的设备尤其有效。
卖掉 Android 设备之前,当然要个人数据被安全擦除,以避免被后来者恢复,继而发生陈冠希老师那样的艳照门事件。
做了一些功课之后,总结 Android 设备数据擦除,最保险的方法如下:
dm-crypt
子系统实现数据加密类似,启动过程中到 initrd
/ initramfs
这步时做验证,成功之后方可挂载 /
分区的实现类似 。据说 Android 用的就是这个。ext4
文件系统上默认是 4096 bytes – 4K )然后重新 mkfs
创建文件系统。没有了 key 理论上加密的数据就无法被解密恢复了。Android 不像传统 Unix / Linux 那样用 /etc/{passwd,shadow,group,gshadow}
以用文件形式存储用户和组信息。安装每个应用都会为其创建一个对应的用户,以此实现权限之隔离。比如终端模拟器用户为 u0_a55
可直接 su
到 root
(无需密码)。引入多用户切换之后用到了组,变复杂了些。
ClockworkMod 生成的备份在 /mnt/shell/emulate/clockworkmod/backup
下,该目录下有数字编号,据说是新版 Android 隔离多用户数据用的。备份 ClockworkMod 生成的 tar 得用 adb pull
或直接 scp
/ rsync
出来,移到 sdcard 上没法复制出来(虚拟文件系统?),目录结构有点晕。
Greenify hibernate 的工作原理,简单说是将应用改名(扔到不同目录),这样就不会被其它应用唤醒,或自行生成新的后台进程耗电了。3刀买捐赠包绝对超值,可用试验特性:允许 GCM 推送唤醒绿化的应用,休眠系统应用,装 Xposed 上 XPrivaxy 框架等,很赞!
Have fun with root
!