本文正在参加「金石方案 . 分割6万现金大奖」

Hi,我是小余。 本文已收录到GitHub Androider-Planet中。这儿有 Android 进阶生长知识系统,重视公众号 [小余的自习室] ,在成功的路上不走失!

前言

随着谷歌对Android结构的越加深度的封装,包含各种JetPack结构的推出等都是为了让运用开发更加精简。 这样带来的直接影响便是Android门槛被拉低了,运用开发只需求一个Activity就能制作一个App,形似也不需求什么深邃的技术。

可是Android这个是一个巨大的系统性的工程,各个版别都有一定兼容性问题,为了能快速定位问题,也为了学习Android结构中一些优秀的思维,时常需求检查Android系统源码层面的知识。

本篇文章主要用来共享几个平常检查系统源码的办法

目录

不知道如何看源码?试试这几种方式~

1.本地检查源码

1.1 as关联源码

这种办法是最直接的办法,在as中就能搞定过程1:下载指定版别的源码

不知道如何看源码?试试这几种方式~

过程2:在As中运用快捷键直接查找

不知道如何看源码?试试这几种方式~

长处

  • 1.直接在as’中检查,下载到本地速度快。
  • 2.能够指定版别检查
  • 3.能够直接在源码中打断点调试

缺陷

许多类会报红无法检查,如下:

不知道如何看源码?试试这几种方式~

IWindow是aidl的接口类无法检查,InputChannel是本api版别的类也无法检查还要重新查找,且一些native办法或类更是无法检查 所以这个办法看起来很鸡肋,不引荐

1.2:运用编辑器检查

将源码下载到本地然后运用离线编辑器检查。 下载办法:这儿以Linux下载办法为例

  • 1.初始环境树立

    • 1.1装置git

      sudo apt-get install git
      
    • 1.2装置curl(上传和下载数据的东西).

      sudo apt-get install curl
      
    • 1.3接下来创建bin,并加入到PATH中。

      mkdir ~/bin
      PATH=~/bin:$PATH
      
    • 1.4下载repo并设置权限:

      curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
      chmod a+x ~/bin/repo
      
    • 1.5最终装置python,repo初始化时会用到:

      sudo apt-get install python
      

      重启虚拟机后,开端下载源码。

  • 2.源码下载

    • 2.1.树立工作目录 :

      mkdir aosp
      cd aosp
      
    • 2.2:repo的运行过程中会尝试访问官方的git源更新自己,假如想运用tuna的镜像源进行更新,能够将如下内容复制到你的~/.bashrc里:

      export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
      
    • 2.3:设置身份,添加自己的邮箱和姓名:

      git config --global user.email "piratemorgen@gmail.com"
      git config --global user.name "piratemorgen"
      
    • 2.4:初始化库房:

      repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
      

      初始化并指定版别:

      repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r8
      
    • 2.5:同步源码:

      repo sync
      

      源码下载完成后,看到下面的信息能够阐明下载成功。整个源码的大小为36.5 g

      不知道如何看源码?试试这几种方式~

      源码下载官方教程

  • 3.源码检查

检查源码的编辑器有:SourceInsightSublime Text等。

小余平常检查运用的是SourceInsight,尽管新版别需求license了,网上也有科学运用办法,好用别忘记给小余点个赞哦。

不知道如何看源码?试试这几种方式~

大局查找办法:这能够查找到源码中所有相关的信息。

不知道如何看源码?试试这几种方式~

长处

  • 1.能够大局查找关键字以及高亮显现等。
  • 2.左面类特点栏能够根据关键字定位到对应的特点或许办法
  • 3.能够运用快捷键快捷跳转到前一个和后一个检查方位
  • 4.能够检查native办法代码

缺陷

  • 1.因为Android包体积较大,第一次加载会比较慢
  • 2.不能够点击类或许办法主动跳转

这个办法根本能够满足日常检查源码运用。

2.在线检查源码

办法1:Android Ref

Android Ref这个咱们应该都比较清楚了,国内很经典的一个在线检查网站。

不知道如何看源码?试试这几种方式~

能够看到目前网站最新的版别是9.0的源码。 ​

不知道如何看源码?试试这几种方式~

长处

  • 1.支撑大局查找,支撑在线跳转,且类和特点,办法运用不同颜色标注

缺陷

  • 1.支撑检查最新9.0的源码。想看9.0今后的就要另辟蹊径了
  • 2.国外网站,国内也能访问,可是速度较慢,需求科学上网

办法2:Android中文社区

Android中文社区是国内网站,

不知道如何看源码?试试这几种方式~

源码版别10.0还算比较新了,且列出了源码的目录结构,还附带一些简单的阐明,适合刚接触源码的同学快速厘清各个目录模块的大致功能缺陷便是不能智能跳转,且可检查版别在10以下

办法3:谷歌官网

网址:cs.android.com/

不知道如何看源码?试试这几种方式~

从网站主页能够看出,其不仅支撑Android源码还支撑检查AndroidX以及AndroidStudio源码,真是集大成啊。

咱们点击进入Android模块看看:

不知道如何看源码?试试这几种方式~

能够看到这儿面包含了aosp源码以及kernel源码。 咱们知道Android源码包含aosp和kernel两部分,谷歌官方直接给咱们备齐了。

进入aosp:

不知道如何看源码?试试这几种方式~

这儿面有最新的Android13的源码,以及13以下的所有版别,你能够选择自己期望看的源码版别哦、

下面咱们来查找Activity类为例子

不知道如何看源码?试试这几种方式~

能够看到左半部分有类的所有特点以及办法,而中间部分点击某个类会主动跳转哦。

长处清楚明了:支撑大局查找以及对类以及特点办法等运用不同类标注,且支撑主动跳转,这个体会和在Android Studio中简直没差异,且代码是实时更新的,不必担心和前面几个网站一样代码过期。 真是谷歌出品必属精品。唯一缺陷便是这个网站是国外的,需求科学上网才干访问

总结:

上面列举了咱们常用的几种源码检查办法,各有各的优势及缺陷

个人引荐

  • 1.会科学上网的,引荐运用谷歌官方检查网站在线检查:cs.android.com/
  • 2.不会科学上网的且对源码版别要求不是很高的引荐:Android Ref
  • 3.初学者能够考虑Android中文社区:www.androidos.net.cn/sourcecode
  • 4.假如想不必网络且速度快,建议将代码下载到本地,运用SourceInsight检查

以上便是小余对Android源码检查几种理解,假如你有更好的办法,欢迎谈论区共享,感谢。

假如以上文章对您有一点点协助,期望您不要小气的点个赞加个重视, 您每一次小小的举动都是我坚持写作的不懈动力!ღ( ・ᴗ・` )

参考: liuwangshu.cn/framework/a…