编者按:高端的搞机者,刷ROM,Root都不能满足了,怎么也得自己做个ROM吧,本文作者是我早前做ROM的时期结识的朋友,本篇将继续讲述作者由编程世界进入搞机界,ROM界,成为论坛大神的故事。
预知前事请看 搞机二三事之变身“伪”极客
作者“空城”,是某知名论坛活跃ROM制作者,目前在重庆大学大四学生,纯粹的数码控,喜欢所有数码产品,最大的爱好就是,折腾手机。另外他还是半个”程序猿”,可以使用”C,汇编,java、python、golang”等语言,11年开始接触android,12年开始自己编译ROM,很享受把自己编译的ROM刷入手机的快乐。
以下是作者原文:
对于智能机最初的认识是只要能装程序那的手机就都是智能机,初中的时候老爸买了一部MOTO V3,第一眼看到这个手机的时候只有一个感觉,那就是”惊艳”!手机居然可以是这个样子,这么薄而且还可以拍照。经过一番摸索后,我发现它居然还可以安装一些小游戏,从那时开始我就期待老爸什么时候换手机,好把这个MOTO V3给我。就这样V3成为当时我对智能机的定义,可惜这个世界进步的太快,没过多久”若基亚 s60”进入我的视线,虽然没有玩过,但是论坛上却有了大量的S60的游戏,而且貌似它们的游戏比MOTO V3的要强大很多。不过那是我依然认为MOTO V3也是智能机,只是若基亚的S60比MOTO V3更”聪明”一点而已,这个想法一直持续到N95上市,在我的鼓动下,老爸终决定得换一部N95,手机拿回家后我开始给N95安装大量的软件,就在这是我开始对智能机有了新的定义,因为我发现有太多功能是MOTO V3无法超越的,比如输入法软件,虽然不知道为什么但我还是很高兴接管下老爸的MOTO V3成为我生命里第一部手机,由于不满足MOTO V3的功能我开始逛论坛,去尝试改变我的手机,结果我发现了一个新鲜词汇”刷机”。就这样开始了人生的”刷机”之旅。
虽然我给我的V3刷了无数的固件版本,但始终它无法成为一部智能机,永远都是换汤不换药,所以我开始想换手机,但想让老爸把才买的N95下放给我显然这很不现实,那怎么办?自己买?天N95五千多的价格,对每天一元钱就能吃早餐的我来说无疑是个天价,所以我只能去找便宜的智能机,最终MOTO E6进入我的视线,虽然它比N95上市要早,而且我不知道它们的操作系统有什么区别,但我知道E6肯定是智能机,最重要的是它便宜!最终我以2300的价格买下了E6,到手的第一件事就是”刷机”,说实话无数次给V3刷机的经历导致我觉得刷机没有什么风险,胆大心细就好,就这样E6被我改变了千万种模样。但不能否认E6当时的linux的系统软件太少了,而且安装软件很麻烦,如果想让一个软件开机启动那得麻烦你自己写个脚本,正因为这样我学到了S60无法教会我的东西,我学会的是如何去”理解”而不是如何去”使用”手机,而这部E6也陪我走过了整个高中。
到了大学我每个月有了自己的生活费,由于对计算机的爱好,我还在学校的网络中心找了份工作每个月有点小收入,时间长了我有了自己的一小笔私房钱,初于对电子产品的喜爱,我开始考虑换新手机,那是我有两个选择WM和android,虽然那时诺基亚的塞班也很流行,但不知道为什么我很讨厌诺基亚,可能是长期给老爸的N95安装软件的”证书”问题折腾怕了,而且诺基亚刷机很麻烦,所以当时我没有考虑过诺基亚,不过由于那是android处于起步阶段,而且由于自己对编程的喜爱,我很抵触JAVA这类不能生成机器码的语言,我并不看好android的效率,所以最后我还是选择了WM系统的HTC 6850,在我买下了6850的一年后android的发展速度,让我开始意识到google的强大,并且开始重新看待android。
可以说我很幸运6850在我第N次的”刷机”过程中,用了不到一年的它终于寿终正寝了,我只好向家里开口换手机,这次有了家里的支持没有太多的经济压力,所以我果断选择了刚上市的MOTO ME525也就是defy,可以说这是我最喜欢的一部手机,因为它带给我了前所未有的”用户体验”,就这样我开始喜欢上了android,不过由于那时的android还处于2.0的时代,所以系统有很多的不足,有很多地方不符合中国人的习惯,所以我开始尝试第三方ROM,首选当然是大大有名MIUI,也许是因为MOTO底层锁的原因,MIUI对defy的支持很不好,各种死机,以及相机和GPS的不兼容,然后就开始期待每个周五刷机后能有所改变,就这样我在MIUI的论坛泡了半年,直到MIUI宣布要出小米手机,当时可以说是抄的沸沸扬扬,就连不怎么上网的老爸都知道了小米的存在,结果在得知我可以以1699元的价格购买到小米的工程机后,老爸比表示大力支持,当天就丢了2000元大洋到我的手上,就这样我拥有了小米one,不过没过多久android进入了4.0的时代,虽然小米的反应很快,表示会很快将小米one升级到4.0,但是现实却并不美好,各种BUG让我无法正常使用下去,我开始对defy的MIUI失望,后来知道都是因为CM底层不给力,V4后的MIUI已经全部使用官方底层,但必须是官方支持的4.0以上系统才可以使用MIUI ROM。
因为android4.0对我的诱惑,远远超过我等待MIUI的耐心,正好当时小米的一机难求,让我以2000元的价格卖掉了我的小米,并且买下了当时唯一能运行android4.0的google三太子Galaxy Nexus,手机到手的第一件事当然是刷机,在刷机的过程中我发现官方不但有详细刷机教程,而且还可以尝试自己编译手机系统,这无疑对我有很大的诱惑,作为一个编程爱好者能自己编译一个手机系统在自己的手机运行是多有成就感的一件事,由于多年的编程经历在ubuntu上下载源码,搭建编译环境,并没有对我造成太大的阻碍,很快我将自己编译的系统刷入手机,但我并没有满足,我知道拥有源码对一个程序员意味着什么,我开始尝试自己修改系统,但我却发现面对一个拥有8G源码的android我无从下手它太庞大了,不过没关系只要有兴趣我就慢慢学呗,于是我开始重新学习java,并且开始购买android开发的书籍。也就是从这个时候开始我真正的进入了android开发的世界。
一个月以后,我开始能读懂android的源码,但我没有做出任何修改,只是编译了然后自己使用,虽然我也很想像别人一样把自己做的ROM发到论坛上,被人叫”大神”,但我还是没有勇气这么做,因为我的ROM没有任何”卖点”,就连当时大家都需要的归属地,T9索引这些基本功能我都做不到,不过在虚荣心的驱使下,我还是动手了,没有在源码层修改,而是采用替换的方法,我将我编译的AOKP作为底包,加入了一个从国外miui弄来的miui播放器,以及别人归属地和T9弄来,做成我第一个ROM,然后满怀期待的发到论坛上,结果是很悲惨的,几乎无人问津。帖子像石头一样的沉的很快,我也失去了自己做ROM的兴趣,只是处于对编程的喜爱继续研究着代码,希望有一天能卷土重来,在这期间我尝试了很多ROM,比如CM,Codename,aokp,还有MIUI,它们都各有优点,但却都不完美,而且他们的都是从CM改变而来的。
这时我心里萌发出一个更具有野心的想法,就是做中国自己的CM,我知道中国的程序员很多,而且实力不比国外的差,如果他们都愿意贡献一小点力量,那么建立中国的CM也不是不可能,同时我也知道这看似很简单但要真正做起来却有很多问题需要解决,首先我没有服务器,没有资本,更主要的是我没办法去号召这么一批人,所以这只是个梦想,但我在为这个梦想而努力,我知道我缺乏的是经验,所以我开始加入CM的开发,从最简单的翻译开始,并且开始反编译别人的软件去尝试获得别人的源码,就这样又过了一段时间.
突然有个机会出现在我面前,某论坛成立了一个名为SGK的ROM组织,我很高兴的加入到里面,并且以SGK的名义发布了我觉得我做的最好的一个ROM,因为我已经不在是简单的替换,而且从源码层修改,也许是因为SGK的存在,那时候我的帖子很火,有很多人下载使用了我的ROM,而且还被放倒了顶置,就这样我的自信心开始极度膨胀,我开始逃课做ROM,每天花了大量的时间来研究代码,可惜好景不长,有表扬就有批评,有人开始指责我的ROM存在各种BUG,其中有的人口气不并不友善,于是我开始放慢脚步,不再去添加新的功能而更注重系统的稳定性以及BUG的修复,同时我也将我的ROM重新定位,不再去追求各种绚丽的功能,而是一个稳定,省电,不集成任何软件的纯净ROM。就这样ROM开始稳定发展,每当我有时间我会去更新一下新版本,然后看着用户的回复……直到有一天我收到一个站内短信,一个和我有相同理想的人,问我是否有兴趣有和他一起做ROM,做中国的ROM,我的回答当然是肯定,于是我们在一起讨论了很多,也开始在github上建立了自己的组织,最后我们决定以CM为基础,在CM上修改,但很快就出现了问题,CM的每次更新都导致我们的代码需要做出大量的修改,虽然很不舍,最终我们还是选择了放弃,因为我们无法维护下来这么庞大的代码,不过这也让我懂得一句话”如果不做这个梦,那将怎么知道这将会是一个梦”.
最终我还是回到了我的轨迹,依旧重复着同步、 修改 、编译 然后发布。虽然我的梦想已经破灭,虽然我即将毕业会去从事一个和计算机无关的工作,但我依然记得当初我在帖子里的承诺”不管会用几个人用我的ROM,只要我还在用这个手机,我就会将这个ROM维护下去”我享受的只是自己编译ROM刷入系统的快乐不为什么。
了解更多新酷炫设备,敬请关注@爱搞机