Android 源码变迁

Posted CrazyApes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 源码变迁相关的知识,希望对你有一定的参考价值。

android 成长在于积累和分享

本文:https://www.jianshu.com/p/a3f2a9acf871

文章目录

前言

突发奇想的想了解下Android各个版本的历史变迁,当然不是说功能的变迁,仅仅是源代码的一些变化,所以突然想利用Git工具对各版本的历史变化做了个整理。

GitHub

目前在GitHub上整理了SDK工具中能够下载的所有 Android Sources
大约是目前 Android-15Android-31 的版本。

三个目的:

  • 1.将Android源码整理到线上,方便随时查看。
  • 2.利用git管理方便查看各个版本之间的变迁。
  • 3.分享出来,方便大家查看的同时也可以产生更多的交流方式,毕竟个人精力有限,大众的智慧才是无穷的。

Main Branch

囊括了所有版本的变化,可以较为方便的查看所有文件的历史变迁,比如,在哪个版本进行了改动,改动的内容是什么,其实了解到这些变化,可能更容易的去学习源码,理解源码的一些逻辑。

Android-XX Branch

为每个Android版本单独拉了分支,虽然可以在Main主干中查看历史变化,或者切换到某个历史版本,但是鉴于可能未来要为某个分支单独的列一些说明文件,所以还是先把分支单独拉出来了。
这样也可以方便大家即刻切换,随时方便查看每个版本,不用在历史版本中单独确定和查找了。

History

GitHub的历史记录查看不是特别的友好,比如现在文件比较多的情况下,单独查看某个文件的历史就很难找。
哈,也可能是我了解的不够多哈,欢迎大家指导一下。

我个人是结合Android Studio使用和学习的
比如下方 HashMap 的版本记录。

其它问题

之后会在补充下每个大版本整体更新,会分别记录到每个版本分支中。
部分无法访问Github的同学或者访问比较慢的同学,可以参考GitHub Host更新

之后会考虑在CSDN上做个镜像,方便访问慢的同学使用。

参考文献

GitHub AndroidSources(https://github.com/CrazyUnluck/AndroidSources)

以上是关于Android 源码变迁的主要内容,如果未能解决你的问题,请参考以下文章

Android 源码变迁

Android binder 机制驱动核心源码详解

前端架构最全总结——GUI 应用程序架构的十年变迁:MVCMVPMVVMUnidirectionalClea

Android系统启动流程介绍

Android Jetpack之Lifecycles源码分析

Android Jetpack从使用到源码深耕开篇