Hi,欢迎来到华清远见移动互联网学院官网!国内王牌JAVAEE培训、Android培训、Python培训、HTML5培训、UI培训、JAVA培训、VR培训机构!

  • 400-611-6270
  • 新浪微博
  • 微信
当前位置: 移动互联网学院 > 常见问题 > Android源码学习指南|如何学习Android源码?
Android源码学习指南|如何学习Android源码? 时间:2017-03-22     来源:Android开发学习网

Android源码是开放的,作为一个Android开发人员来说,不管是工作需要还是为了个人能力提高,当然都希望能够深入地研究学习一下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源码的相关资料,希望对想要学习安卓源码的朋友们有所帮助。

  • 北京

    010-82600385/6

    北京市海淀区西三旗悦秀路北京明园大学校内

  • 上海

    021-54485127

    上海市徐汇区漕溪路250号银海大楼11层

  • 深圳

    0755-25590506

    深圳市龙华新区人民北路美丽AAA大厦15层

  • 成都

    028-85405115

    成都武侯区科华北路99号科华大厦2层

  • 南京

    025-86551900

    南京市白下区汉中路185号鸿运大厦11层

  • 武汉

    027-87804688

    武汉工程大学卓刀泉校区科技孵化器大楼11层

  • 西安

    029-88756251

    西安市高新区高新1路12号天公大厦3层

  • 广州

    020-38342087

    广州市天河软件园柯木塱园5栋三层

  • 沈阳

    024-24349000

    沈阳市沈河区北顺城路137号锦峰大厦7层

  • 济南

    0531-88898293

    济南市高新区舜华路三庆世纪财富中心B3座6层

  • 重庆

    023-68064704

    重庆市九龙坡区渝州路87号双薪时代九楼

  • 长沙

    0731-88713136

    长沙市开福区芙蓉中路海东青大厦B座11楼

Copyright © 2004-2017 华清远见教育集团 版权所有,京ICP备16055225号,京公海网安备11010802025197号