文章目录:

1、现状

2、如何下载代码

3、阅读代码工具

现状

之前我们查看 源码,一般都是通过在线 AOSP 网站,常用的几个网站是:

如果只是偶尔看下源码,上面的完全可以,但是如果是学习用经常要看,上面几种方式都有很明显的问题:

1. 三方自建的源码网站不稳定,有时候网站打不开android源码下载,有时候看着会卡死浏览器,半天动不了。还有就是搜索的时候没有跳转,只能通过 Ctrl+F 进行网页搜索

2. 官方的网站确实非常优秀,无论是稳定性,跳转都没啥问题。就是有个问题让人很难受,就是没有办法指定分支搜索,他默认情况下只能在 main 分支或者最新的代码分支中搜索,如果你想看其他分支android源码下载,只能在具体的文件上切换分支,这个很不方便。

上面的问题有可能是我自己使用上有问题,如果有发现的朋友可以帮我指正出来。

如何下载代码

最近因为经常需要看源码,查看新旧版本逻辑的差异,于是对于下载一份本地代码有着强烈的诉求。在这里就分享下如何在 上,下载指定仓库指定分支的代码

1、获取 AOSP 中的所有模块名字

使用如下命令获取所有的模块配置信息

git clone https://android.googlesource.com/platform/manifest

下载完成后,可以在 目录下看到一个.xml的文件,里面记录了整个 AOSP 中的模块名字。选取部分如下:

  ......
  <project path="frameworks/av" name="platform/frameworks/av" groups="pdk" />
  <project path="frameworks/base" name="platform/frameworks/base" groups="pdk-cw-fs,pdk-fs" />
  ......
  <project path="frameworks/native" name="platform/frameworks/native" groups="pdk" />
  .....

其中每个 的name就是模块的名字,可以使用这个name去下载对应的仓库代码

2、下载对应仓库的代码

每个模块的下载地址一般是这样的规律:host+模块name+.git。这里的 host 就是源码网站的 host,像谷歌的就是,如果清华的源,那就是

比如我要看Input相关的代码,它的位置是位于/下面,搜索上面的.xml可以知道对应的name是//,那么对应的 git 仓库的地址是:

那我们可以直接通过如下的命令下载源码

git clone https://android.googlesource.com/platform/frameworks/native.git

如果是下载指定分支的代码,这可以通过-b 分支名字,或者先直接git clone下来,然后使用 git 切换分支也行。如下我要下载 9对应的源码:

git clone -b android-9.0.0_r59 https://android.googlesource.com/platform/frameworks/native.git

如何看代码

代码下载到本地后,该如何看了,有什么好的工具呢?其实网上挺多的教程,常规的有如下几种:

1. 先编译出.ipr,然后使用 导入查看。这种方式非常方便,无论是跳转还是提示,索引都非常友好,但是对电脑要求比较高,否则第一次打开容易卡死。

2. 如果是 Linux 平台,可以直接是用ASFP( for )来进行查看

3. 使用 查看,这种方式我见过很多系统开发的同事在使用,但是这个软件是收费的,一些公司又不让使用盗版。

4. 使用 Code查看

就我个人使用而言,因为 上编译比较麻烦,需要安装 WSL,如果只是看源码的话,使用 Code是比较合适的方式,主要是能快速打开,查找、跳转也有。这里放一些常用的快捷键:


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注