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

  • 400-611-6270
  • 新浪微博
  • 微信
您当前的位置:移动互联网学院 > Android开发 > 如何正确学习Android源代码

如何正确学习Android源代码

时间:2017-04-24 09:05 来源:Android开发学习网

出于工作需要,或者是为了技能上的提升,很多android开发工程师都会选择去研究学习android源代码,毕竟理解了底层逻辑,我们才能更好的使用。那么我们应该如何正确学习android源代码呢?今天小编就为大家分享一些Android源代码学习方法。

Android开发教程:如何正确学习Android源代码
如何正确学习Android源代码

Android源代码是什么?

android源码就是android系统的源代码,由google公司开发发布的最纯净的安卓系统代码,然后再由各大手机开发公司自行优化开发。简单的说就是原料,未经加工过的。外面可以自由免费获取。现在,国内的很多手机厂商都会在android原系统的基础上开发优化属于自己的android系统。
 

什么样的人会去学习Android源代码?

其实一般从事android开发的人,都会有学习android源代码的冲动,学习android源码,能帮助我们理解android系统的底层实现,帮助我们更好的去使用android系统提供的功能来优化我们的app开发。也有些人是因为工作需要去学习的,例如一些手机厂商想要开发自己的个性化系统,就需要员工去学习android源代码。
 

学习android源代码需要一定的知识储备

1)Java基础:Java是AOSP的主要语言之一. 没得说, 这个是必需熟练掌握的.

2)熟练的Android App开发:不要一接触android开发就想去学习android源码,等你有了一定的android开发基础之后再去试着研究。

3)Linux:这个主要是因为Android基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备.

4)Make:AOSP使用Make系统进行编译. 了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.

5)Git:AOSP使用git+repo进行源码管理. 这应该是程序员必备技能吧.

6)C++:Android系统的一些性能敏感模块及第三方库是用C++实现的, 比如: Input系统, Chromium项目(WebView的底层实现).
 

研究学习android源代码还要有一定的软硬件支持

一台Nexus系列手机,用来做测试机;

一台配有Linux操作系统的电脑,方便随时编译Android源代码;

一些android源代码查看工具,如Android Studio、Eclipse
 

阅读安卓源代码的正确姿态

阅读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号双薪时代九楼

  • 长沙

    15010390966

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

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