前言

Android 官网(该方式不适合 Windows 平台):https://source.android.com/source/downloading.html

可是我就想在 Windows 中使用 Source Insight 看看源代码,当然可以!

准备环境

  1. 安装 git
  2. 安装 Python
  3. 自备梯子
  4. 硬盘剩余容量最好大于 100G
  1. 安装 git

官网:https://git-scm.com/downloads/

图形化工具:https://tortoisegit.org/

什么?不会安装 git,那还看什么源码!自行百度!

  1. 安装 Python

官网:https://www.python.org/downloads/

安装参考:http://jingyan.baidu.com/article/c910274be14d64cd361d2dd8.html

只需要安装好运行环境即可

  1. 自备梯子

没有梯子?那就使用清华源:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

下载源码

  1. 打开 Git Bash,用 git 克隆源代码仓库
    git clone https://android.googlesource.com/platform/manifest.git
    //没有梯子使用清华源
    git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git
    

    这时 D:/android_source_code/ 目录下会出现一个 manifest 目录,进入此目录,里面除了 git 的配置目录外,clone 下来了一个 default.xml 文件。

  2. 切换到想要的源码版本分支

    去这里 https://source.android.com/source/build-numbers.html#source-code-tags-and-builds

    找到想要的版本分支,并复制。

    cd manifest
    //没有梯子,使用 git branch -a 查看所有分支,找到想要的分支
    git branch -a
    git checkout android-6.0.1_r79 //这里以 6.0 最后一个版本下载
    

    这里写图片描述

这里写图片描述

这里写图片描述

  1. 使用 Python 执行脚本进行源代码下载

    将下面的代码复制,创建文件 python_download.py,并保存。

    import xml.dom.minidom
    import os
    from subprocess import call
    
    # 1. 修改为源码要保存的路径
    
    rootdir = "D:/android_source_code/Android_6_0_1"
    
    # 2. 设置 git 安装的路径
    
    git = "C:/Develop/Git/bin/git.exe"
    
    # 3. 修改为第一步中 manifest 中 default.xml 保存的路径
    
    dom = xml.dom.minidom.parse("D:/android_source_code/manifest/default.xml")
    root = dom.documentElement
    
    #prefix = git + " clone https://android.googlesource.com/"
    
    # 4. 没有梯子使用清华源下载
    
    prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"
    suffix = ".git"  
    
    if not os.path.exists(rootdir):  
        os.mkdir(rootdir)  
    
    for node in root.getElementsByTagName("project"):  
        os.chdir(rootdir)  
        d = node.getAttribute("path")  
        last = d.rfind("/")  
        if last != -1:  
            d = rootdir + "/" + d[:last]  
            if not os.path.exists(d):  
                os.makedirs(d)  
            os.chdir(d)  
        cmd = prefix + node.getAttribute("name") + suffix  
        call(cmd)
    
  2. 执行 Python 脚本开始下载

    打开 Python 客户端

    这里写图片描述

    打开上一步保存的 python_download.py 脚本文件

    这里写图片描述

    点击 Run->Run Module 来运行脚本,或直接按F5运行。

    这里写图片描述

    静静地等待下载完成吧。

更多文章:https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode

版权声明:

本文为CSDN博主「jeanboydev」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/freekiteyu/article/details/70939672

文章作者: 嘿手大叔
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 i·Space
Android
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝