Android源码是开放的,作为一个Android开发人员来说,不管是工作需要还是为了个人能力提高,当然都希望能够深入地研究学习一下Android源码,然而Android系统源代码非常庞大,我们该如何学习Android源代码呢?华清小编为大家整理了一份Android源码学习指南。
Android源码学习指南
学习Android源码前的准备
Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心。我们应该在分析它的源代码之前学习好一些理论知识,以下是学习Android源码之前需要掌握的基础知识。
Java基础:上层framework以及App层都是采用Java语法;
C/C++基础:Android的jni/native层代码采用C++,Linux 采用C;
Linux:Android内核基于Linux的,了解Linux相关知识对深入掌握Android还是很有必要。
Git:Android源码采用git和repo进行管理;
Make:Android源码采用Make系统编译,源码系统中会看到很多Android.mk之类的文件;
Source Insight:这绝对是看源码的神器;可以在Java、C++、C代码之间无缝衔接;
Eclipse:熟悉常用快捷键,工欲善其事必先利其器;虽然Source Insight很方便,但由于对Eclipse的熟悉感,对于framework Java层面的代码,我还是更习惯用Eclipse来看,对于Native代码以及linux代码则采用Source Insight来看;
Android Studio:这是Google官方支持的App开发环境,关于Android Studiod使用教程;
Google Drawings:这是画图工具,Gityuan博客中的文章都是采用Google Drawing完成,比如Binder开篇文中的图。
StarUML:这是类图,Gityuan博客文章的类图和流程图都是采用StarUML完成,比如理解Android进程创建流程文中时序图。
Android源码如何学习?
Android源码学习环境的搭建
开发Android应用程序可以在两种环境下进行,一是在Android SDK环境下进行,一般是集成在Eclipse里面进行开发,二是在Android源代码工程环境下进行,在这种环境进行开发的好处是可以使用一些在SDK中不公开的接口。但是如果我们要修改Android系统的源代码,或者为Android系统增加新的功能接口,那么就只能在Android源代码工程环境下进行了。由于我们的目的是对Android系统源代码进行分析,因此,我们在开发Android应用程序时,也在Android源代码环境下进行。这样我们就需要搭建一套Android源代码工程环境了。
目前,Android源代码工程环境只能在Linux平台上使用,而Linux系统的发行版本比较多,这里我们推荐Ubuntu系统。Ubuntu系统是免费的,而且非常易于使用,安装和更新应用程序也非常方便。安装好Ubuntu系统之后,我们就可以在上面下载、编译和安装Android源代码了。
Android系统的源代码工程默认是不包含Linux内核源代码的,如果我们需要修改Android系统的内核或者在里面增加新的模块,那么就要把Android内核源代码一起下载、编译和安装了。
Android源代码工程环境搭建好了之后,我们就可以在里面开发新的应用程序或者修改系统代码了。增加了新的应用程序或者修改了系统的代码之后,不需要重新编译整个源代码工程,只要单独编译有改动的模块就可以了。
对于已经开发好的应用程序或者系统功能,如果想把当作Demo展示给客户来体验时,我们既可以在真机上面运行,也可以在模拟器(Android源代码工程环境或者Android SDK环境都集成了模拟器)上面运行。当我们手头上没有真机,而且我们又不想把整个Android源代码工程环境或者Android SDK环境带去展示我们的Demo时,就可以考虑把模拟器这两个环境中独立出来了。
Android源码学习资料的准备
可以去看一些技术博客,有些博客会按照顺序总结一套学习教程,这些都是他们学习Android源码的经验和体会,对于你学习Android源码是很有帮助的。另外推荐一些对学习Android源码有帮助的书籍:《Android系统源代码分析》、《Android的设计与实现》、《深入理解android》系列、《Android内核剖析》。
带着任务去学习Android源码
直接没目的的学习Android源码效果并不好,建议设计一系列的任务,带着任务学习源码。
以上就是小编收集整理的关于如何学习Android源码的相关资料,希望对想要学习安卓源码的朋友们有所帮助。
热点新闻