Windows 环境下载 Android 源码「建议收藏」

Windows 环境下载 Android 源码「建议收藏」Windows环境下载Android源码前言Android官网(该方式不适合Windows平台):https://source.android.com/source/downloading.html可是我就想在Windows中使用SourceInsight看看源代码,当然可以!准备环境安装git安装Python自备梯子硬盘剩余容量最好大…

大家好,又见面了,我是你们的朋友全栈君。

Windows 环境下载 Android 源码

前言

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,那还看什么源码!自行百度!

2. 安装 Python

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

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

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

3. 自备梯子

没有梯子?那就使用清华源: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 最后一个版本下载

这里写图片描述

这里写图片描述

这里写图片描述

3. 使用 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)

4. 执行 Python 脚本开始下载

打开 Python 客户端

这里写图片描述

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

这里写图片描述
点击 Run->Run Module 来运行脚本,或直接按F5运行。

这里写图片描述

静静地等待下载完成吧。

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

我的公众号

欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!?

Windows 环境下载 Android 源码「建议收藏」

如果你有什么疑问或者问题,可以 点击这里 提交 issue,也可以发邮件给我 jeanboy@foxmail.com

同时欢迎你 Android技术进阶:386463747 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159530.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J2ME开发资料[通俗易懂]

    J2ME开发资料[通俗易懂]分享一个实用的网络连接类:http://www.cnblogs.com/psunny/archive/2009/12/06/1617875.html一些知名的J2me优秀开源UI项目: http://www.cnblogs.com/psunny/archive/2009/09/23/1572740.html最佳的线程联网类:http://www.cnblogs.com/psunny/arch

    2022年7月11日
    18
  • 分水岭算法及案例

    分水岭算法及案例分水岭算法WatershedAlgorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是我们可爱的分水岭(watershed)。如果图像中的目标物体是

    2022年6月15日
    30
  • 风云私服架设教程_风云端游

    风云私服架设教程_风云端游需要软件:SQLsever2005pro本站提供下载将服务器端解压缩到D:盘D:\Sagasevr下有6个文件夹1:databaseSQL数据库文件夹2:LoginServer帐号登陆管理器3:WorldServer服务器数据管理器4:GameServer1游戏数据管理器4:GameServer2游戏数据管理器5:GameServer3游戏数据管理器6:GameS…

    2022年10月6日
    4
  • mac怎么上传文件到服务器_shell上传文件到服务器

    mac怎么上传文件到服务器_shell上传文件到服务器前言我们使用mac时,想让本地文件上传至服务器,该怎么办呢windows系统,我们可以使用xftp或者rz命令,那么mac呢?mac系统,我们可以使用sftp、scp或者rz命令,本文介绍sft

    2022年7月28日
    29
  • Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    2021年10月8日
    48
  • Linux 内核编译(三天吐血经历!)[通俗易懂]

    Linux 内核编译(三天吐血经历!)[通俗易懂]写在前面的话:本人大二,东南大学一个软工狗,正在修一门名为《操作系统原理》的坑爹课!前几天做一个实验:编译Linux内核并向其增加一个系统调用。这个实验实在是太让人无语了,各种坑!昨天这个时候,我还在苦苦煎熬中。在今天凌晨四点才做好。为了让其他人少走一些弯路,鄙人就把自己的经验以及教训写下来。里面会有一些不足,希望大家多多指教~废话不多说,那就开始吧:一、实验前的准备:Vm

    2022年7月23日
    16

发表回复

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

关注全栈程序员社区公众号