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 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 常用的JS页面跳转代码调用大全

    常用的JS页面跳转代码调用大全一、常规的JS页面跳转代码1、在原来的窗体中直接跳转用<scripttype="text/javascript">window.location.href=&q

  • 越变越简单?计算机B+的985大连理工大学,专业课竟然两科变一科![通俗易懂]

    越变越简单?计算机B+的985大连理工大学,专业课竟然两科变一科![通俗易懂]大连理工大学位于辽宁省大连市,虽然是东北,但是大连近海,且纬度较低,比北京市还要更靠南,比一般的东北城市要暖和。作为一所理工科的985大学,大连理工大学计算机学科评估B+,软件工程学科评…

  • pytest的assert_assert中文

    pytest的assert_assert中文前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

  • Spring基础学习-任务调度TaskScheduler

    Spring基础学习-任务调度TaskScheduler某些时候我们可能需要在某些固定的时间或者是间隔一定的时间连续执行一些任务,如每天凌晨自动跑一些批次/心跳检测等。Spring通过使用TaskScheduler来完成这些功能。本文目录:1Trigger1.1CronTrigger1.2PeriodicTrigger2TaskScheduler接口简介2.1接口简介2.2TaskScheduler的实现类2.2…

    2022年10月11日
  • python神经网络图像识别note

    python神经网络图像识别noteBP神经网络手写数字识别mnist测试集(28*28)识别mnist训练集60000个样本,测试集10000个样本,发现使用4层BP神经网络784,50,20,10没有3层神经网络784,100,10识别率高.只有88%左右对自己手写的样本更差.先是处理了手写样本的背景色噪声,但是仍然很差,估计1.mnist训练集中对数字图像位置进行了居中,大小进行了统一,自己手写的样本没有做相应…

  • 传感器尺寸、像素、DPI分辨率、英寸、毫米的关系

    传感器尺寸、像素、DPI分辨率、英寸、毫米的关系虽然网上有很多这种资料,但是太过于复杂,每个人的说法都不一样,看的让人云里雾里的,我总结了一下,不知道对不对!1.1英寸=25.4mm2.传感器尺寸:传感器的尺寸是指传感器的大小,一般描述大小有两种形式,以IMX386感光元件为例,其传感器尺寸1/2.9英寸,是指传感器对角线为1/2.9英寸;还可以描述成传感器尺寸4.97mm×6.2mm,是指水平(竖直)长(宽)为4.97(6.2)m…

发表回复

您的电子邮箱地址不会被公开。

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