一、前言
本专栏出现的原因:
沉淀自己,距离上一篇博客已经过去几个月了,笔者最近工作上的事情非常忙,导致博文断更了,今天忙里偷闲有一段短暂的时间,把这段时间遇到的问题准备整理一下,以文章的形式记录下来。Android10的专栏也会慢慢更新。让笔者最为感慨的就是Android在版本更新过程中的坚持。其实经常修改源码和阅读源码的同学都明白,Android版本的升级通常伴随着功能增加和代码重构。随着Android的发展,你会在源码中发现,很多模块儿在需求增加的同时,也在不断重构,这之中用到了很多设计模式。对于我们开发人员来说也是比较宝贵的学习机会。所以笔者会保证对源码的阅读和学习。
由于笔者工作的特殊性,需求的零碎,时间的紧张,专栏涉及到的问题和模块儿可能看起来没有顺序那么整洁。还请读者多多包涵。
本专栏主要内容:
1、Android12 及之前Android版本 常用模块的基本原理和流程。
2、Android12 及之前Android版本 笔者工作中遇到的定制需求的实现整理,辅助熟悉各个模块儿
3、项目中遇到的困难和解决方法
4、自己踩过的坑
5、留言中的问题解答(如果有)
二、专栏目录(持续更新)
Settings
Recovery
SystemUI
Framework
三、涉及到的主要模块(不分先后、持续更新)
1、Settings
2、Launcher
3、SystemUI
4、Dialer
5、Framework
6、Recovery
四、准备工作
1、编辑器的选择
从事ROM定制、系统应用、系统框架的开发,首先要选择一个好用的编辑器。所谓工欲善其事必先利其器,准备工作一定要做好。由于ROM的源码太过庞大,所以搜索很重要,全局搜索很重要。
笔者工作工程中代码编辑器的使用也发生了很多变化。这里简单分享一下,从最开始的Android studio (IDEA) --> VSCode—Vim,这之中有了太多感悟
Android studio 目前位置还是我们Android开发者必备IDE,现在主要的用途不是查看源码,而是用它里边集成的工具去分析问题和需求。里边的工具 Profile / logcat / Device File Explorer / Layout Inspector 都是比较好用的工具
Vs Code 主要用于 代码阅读、编辑、代码搜索(File in Path)
Vim Linux 终端上某些文件改动不大 就直接在命令行打开了,这里注意整理一下常用命令
最后说一下编辑器的选择不是单一的,而是互相配合的,每个编辑器在特定的场景都有他的用武之地,选择最适合自己的
2、其他工具和准备
Beyond Compare 代码对比神器,功能移植时候的提效工具
善用 grep 命令。在解决一些Settings,SystemUI 中一些模块的问题时,在你对一些东西完全不了解的时候对模块的搜索至关重要,这个时候的切入点往往就是界面上的一个文字,一个控件的id
、其他辅助工具如Beyond Compare和grep的使用,以及问题交流的社群。文章强调了Android版本升级中的代码重构和设计模式应用,并预告了未来会持续更新相关模块的内容。
4101

被折叠的 条评论
为什么被折叠?



