在与 iOS 连接的 Android Wear 设备上安装第三方表盘
几个月前,Google 宣布 Android Wear 支持 iOS。看似很美好,但是连接 iOS 设备后,手表仅仅只能接收推送,无法像 Android 手机那样,在手机上安装软件,然后同步手表端 apk 到手表上。这也导致我之前购买的一款表盘无法使用,加之默认表盘丑陋无比,于是想到一个点子——强行安装表盘 apk。
几个月前,Google 宣布 Android Wear 支持 iOS。看似很美好,但是连接 iOS 设备后,手表仅仅只能接收推送,无法像 Android 手机那样,在手机上安装软件,然后同步手表端 apk 到手表上。这也导致我之前购买的一款表盘无法使用,加之默认表盘丑陋无比,于是想到一个点子——强行安装表盘 apk。
build.prop
是 Android 系统中一个类似于 Windows 注册表的配置项,在 /system
目录下。
说到 build.prop
,还得提到另一个文件,即 /system/customize/clientid/default.prop
,这是 Sense 7 开始才有的配置项,其实内容和 build.prop
前若干行一致,但是系统会默认读取这部分的代码。也就是说,如果你只修改了 build.prop
前若干行的内容,没有修改这里,系统是不会读取 build.prop
内对应内容的。当然,你也可以直接删除 /system/customize/clientid/default.prop
,这样系统就只读取 build.prop
的配置项了。
下面只说 build.prop
的修改项,请自行对比 /system/customize/clientid/default.prop
与 build.prop
的重合部分,将这部分里需要修改的内容在 /system/customize/clientid/default.prop
中修改,或者干脆删掉它。
上篇文章讲的是 /system/customize/CID
下的修改,这篇文章主要是 /system/customize/MNS
下的。
MNS 目录下也是一个名为 default.xml
的文件,主要是一些杂项的修改,比如默认系统地区、时钟地区、浏览器书签、系统输入法设置、邮件配置、时间格式、温度制式等。
下面直接切入重点。
上篇文章讲的是 /system/customize/ACC
下的修改,这篇文章主要是 /system/customize/CID
下的。
CID 目录下也是一个名为 default.xml
的文件,一般修改不多,主要是系统语言的设置。下面直接讲重点。
PS:部分地区 RUU 的 ACC、CID 目录下会有 default.xml
以外的 XML 文件,名字都是不同地区的 CID,比如 HTC__001.xml
,系统会根据手机 CID 码(此 CID 非本篇提到的 CID 配置目录)匹配,如果匹配上就读取对应的 XML 文件,如果没有就读取 default.xml
。一般做第三方 ROM 会考虑删除其他 XML 文件,只留 default.xml
。
HTC Sense 将很多选项放在 /system/customize
下,这样就可以不用修改 apk 来修改很多东西了。
这里主要谈谈 /system/customize/ACC
下的修改。这个目录下,均为 XML 文件,主要是 default.xml
。接下来我会列举经常需要修改的项,只能想到哪个罗列哪个,其实 ACC 下很多都可以根据变量名来判断的。
好久没有做过 ROM 了,上一个 ROM 还是 M9 的 NTFLC ROM N2.0,距今已经五个多月了。为什么不继续做?原因很多,一方面是 M9 一直没什么值得更新的地方,另一方面也是自己时间不允许。由于现在是大四,这学期一直在实习、找工作,下学期还有毕业设计,不像之前除了上课就没什么其他事。
这学期,我找了家创业公司实习,做日志分析搜索的,叫优特捷(https://www.rizhiyi.com)。说实话,最初找实习是希望能找一个大一点的公司,但无奈的发现,实习都得有实习经历……最后这家初创公司抛出了橄榄枝,我也顺利通过面试,开始了实习。也许正是这家公司,让我抛开了之前对创业公司的偏见。之前一直觉得,创业公司大都是不务实的,然而在这家公司实习四个多月里,我完全没有这种感觉。作为一家技术主导的初创公司,公司一半以上的研发人员,瞄准的客户也都是大企业(中国平安、中国移动、国家电网等),能遇到这样一个团队,我觉得很幸运。后来,BOSS 也给了正式 offer,但最终我没有选择留下。可能还是觉得,一毕业就去创业公司有点拼。搭档的同事也极力劝我留下,但最终我还是选择了离开。下周就是在这家公司的最后一周了,心里多少有些不舍。
最终,我选择了猎豹移动(前金山网络),主要是因为这是我参加校招唯一拿到的 offer,可能还是自己太咸鱼了,错过了很多机会。但既然选择了,就不想后悔。1 月准备入职实习,估计到时候会比现在还要忙。
以上是最近一段时间的事,接下来还是想谈谈手机相关的事,准备分成几个小问题来写。语文一直不好,所以可能写的很乱,反正只是随笔,写的目的也只是供将来回顾自己的曾经。
从 Android 6.0 开始,Root 变得没有以前那么容易了。6.0 之前,对于 HTC 手机,Root 其实很简单,只需要官方解锁,刷入第三方 Recovery(如 TWRP Recovery),然后通过 Recovery 刷入 SuperSU 包即可。
然而,到了 6.0,如果还是这么做,手机会卡第一屏。这是由于 Google 对 Android 6.0 修改了新的安全机制导致的。解决卡屏的方法,SuperSU 的作者已经给出,就是给 boot.img 里 ramdisk 下的 sepolicy 打补丁。
虽然,最新测试版的 SuperSU 已经试图加入自动修改 sepolicy,但现在还处于早期,可能会存在不稳定因素。而且 2.6x 的 SuperSU 不再将 su
和 SuperSU.apk
放在 /system
下,而是转而放到 /data
下,这样会导致一旦 wipe data,Root 就没了。
(这里提供 2.6x 版本 SuperSU 的主帖,想研究的可以去看下:http://forum.xda-developers.com/apps/supersu/wip-android-6-0-marshmellow-t3219344)
因此,在 SuperSU 新版进入正式阶段,现在比较好的方法还是 SuperSU 2.52 配修改版 boot.img(即 sepolicy 打过补丁的 boot.img)。
下面就来讲下 sepolicy 的修改方法。
之前玩过 M7、M8 的应该知道,修改 MID 比较复杂,涉及到修改分区文件。
而根据 xda-developers 上的说法,有 Download mode 的机型,均可以像修改 CID 那样修改 MID 了。
因此本人在使用该方法将手中的台版 M9 修改 MID 成功后,给出简单的教程,供需要的人修改。但是不建议连 adb 命令都不会使用用户尝试!
之前的一篇文章 Sense 7.0 强制BlinkFeed、主题为国内源 已经讲了通过强制识别 CID
为 HTCCN701
来实现国内新闻源、主题源。而在今天,Sense 首页更新到 7.20.625874 后,代码结构发生了些许变化。借此机会,把我对 Prism.apk 的修改再讲一遍。
ROM 名称:NTFLC ROM N2.0
ROM 版本:Android 5.1 + Sense 7.0
基于版本:欧版最新版本 2.10.401.1
适配机型:HTC One M9 单卡国际版
ROM 作者:越昂超英(ntflc)
发布时间:2015 年 7 月 20 日