Android 精品资源 (四)【转】2018年4月19日 星期四

本文提供了Android系统源码的学习路径,包括官方文档、培训资源、技术博客等参考资料,并介绍了Binder机制、HAL层等内容的重要性。

 知乎原文:大牛们是怎么阅读 Android 系统源码的?

巨人的肩膀

  • AOSP项目官方: source.android.com/sour
    • 这个一定要先读. 项目介绍, 代码下载, 环境搭建, 刷机方法, Eclipse配置都在这里. 这是一切的基础.
  • Android官方Training: developer.android.com/t
    • 这个其实是给App开发者看的. 但是里面也有不少关于系统机制的介绍, 值得细读.
  • 老罗的Android之旅: blog.youkuaiyun.com/luoshengy
    • 此老罗非彼老罗. 罗升阳老师的博客非常有营养, 基本可以作为指引你开始阅读AOSP源码的教程. 你可以按照博客的时间顺序一篇篇挑需要的看.但这个系列的博客有些问题:
      • 早期的博客是基于旧版本的Android;
      • 大量的代码流程追踪. 读文章时你一定要清楚你在看的东西在整个系统处于什么样的位置.
  • Innost的专栏: blog.youkuaiyun.com/innost
    • 邓凡平老师也是为Android大牛, 博客同样很有营养. 但是不像罗升阳老师的那么系统. 更多的是一些技术点的深入探讨.
  • Android Issues: code.google.com/p/andro
    • Android官方Issue列表. 我在开发过程中发现过一些奇怪的bug, 最后发现这里基本都有记录. 当然你可以提一些新的, 有没有人改就是另外一回事了.
  • Google: google.com
    • 一定要能流畅的使用这个工具. 大量的相关知识是没有人系统的总结的, 你需要自己搞定.

其它

  • 代码组织
    • AOSP的编译单元不是和git项目一一对应的, 而是和Android.mk文件一一对应的. 善用mmm命令进行模块编译将节省你大量的时间.
  • Binder
    • 这是Android最基础的进程间通讯. 在Application和System services之间大量使用. 你不仅要知道AIDL如何使用, 也要知道如何手写Binder接口. 这对你理解Android的Application和System services如何交互有非常重要的作用. Binder如何实现的倒不必着急看.
  • HAL
    • 除非你对硬件特别感兴趣或者想去方案公司上班, 否则别花太多时间在这一层.
  • CyanogenMod
    • 这是一个基于AOSP的第三方Rom. 从这个项目的wiki里你能学到很多AOSP官方没有告诉你的东西. 比如如何支持Nexus以外的设备.
  • DIA
    • 这是一个Linux下画UML的工具, 能够帮你梳理看过的代码.
  • XDA
  • 想到了再补充.

转载于:https://www.cnblogs.com/jooy/articles/8879756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值