How to Flash the Linux Kernel for Android Nexus 5

Android

本篇文章记录了在读完《Android系统源代码情况分析》第二章“硬件抽象层”的动手实践过程。该书讲述了从内核到框架,再到应用的整个知识链条,从它出版到现在,我一直在不断地翻阅它,获益匪浅,推荐给大家。

硬件抽象层(HAL)是连接硬件、内核、框架、应用四者的纽带,理解了它,再去学习其他模块,可以有事半功倍的效果。其中,如何为内核增加新模块,又是学习HAL的必备环节。该书是在模拟器上进行讲解,好处在于学习成本很低,无需准备硬件,弊端就是运行模拟器非常慢,耽误时间。所以,我使用Nexus 5手机进行各种实验,一来效率高,二来最大化手机的功用。

[ Read More » ]

有话请直说

我已过了而立之年,深知此前浪费了太多青春在一些毫无意义的事情上,我已经浪费不起了。所以,不要浪费我时间,有话请直说。

作为一个大男人,拥有一颗玻璃心,敏感得跟猫一样。话说直接了,嫌弃不够委婉,话说重点了,吐槽不够缓和。我没有废话,没有套话,规则就在桌面上,就事论事,你的底线我不碰,我的底线告诉你,时间太宝贵,别磨叽。

[ Read More » ]

心智的力量

make friends with time

在我的在校学习经历中,我一直是一种现象的受害者。那是一个升学竞争激烈,教育资源匮乏的环境,绝大部分同学最终无缘重点大学,这从一开学就注定了。这近似“绝望”,使得校园里弥漫着一种嫉恨的气氛。

优秀的学生具备一个共性,就是往往会在课堂上提问。而这种提问并非得到大部分同学的认可,在这些人眼中,这些问题并非自己的问题,却要占用老师这种宝贵的资源,并关键的是,搭上自己的时间,陪他一起听课。于是,每当有人提问,就有人嘀咕:这种问题也要问?或者嚷嚷:课下去问!

[ Read More » ]

什么事值得放在心上

我是一个小心眼的人,喜欢了的东西就要百般呵护着,怕它摔了,怕它脏了,除非我找到了更喜欢的。换句话说,就是特别容易把一些东西放在心里高高的位置上,供着它。是的,我喜欢的,那就是我的神祗。

2003年的时候,我有了第一台电脑,价值5K,当时一个月生活费400。每次关机后,都要郑重地用罩子把显示器罩上,把键盘反着扣起来,生怕沾上了灰尘,就不灵光了。现在,公司里两台电脑,家里一台笔记本,全都丢在一旁,连擦都不擦。

[ Read More » ]

How to Add New Project into AOSP

Android

在上一篇《How to Create Branch in Android Local Mirror》中,我介绍了如何在Android Mirror中创建分支,然后进行协同开发。既然是分支,那么增加、删除、修改文件等操作,自然是少不了的,麻烦不到哪里去。不过,如果是增加一个新的工程,就稍微麻烦些了。

过去的几个月里,我不断地在看《Android系统源代码情景分析》《深入理解Android:卷I》,两位作者讲述知识的方式有一个共同点,就是用图表(UML)来描述,用代码来验证。所以,不可避免我要创建一些测试工程,同时,这些工程还要在不同的机器上协同开发。

[ Read More » ]