谷歌被墙后如何从 github.com/android 下载 Andorid 最新源码

2024-11-13
来源:网络整理

从今年5月底开始,谷歌被全面封锁,所有谷歌网站都无法访问,包括这一次。官方资源无法访问,所以下载代码当然很难。

本文将为大家解决这个问题——介绍如何从/下载最新的源码。俗话说“授人以鱼不如授人以渔”。这篇文章不仅给出了打包源码的链接,还重现了我的下载方式。希望可以帮助遇到类似问题的大家。帮助了。

/介绍

打开/可以看到:

中间以粗体列出的是每个项目的链接。 / 上托管的源代码使用 git 单独管理每个项目,而不是像这样使用 repo( 开发的基于 git 的命令行工具)来管理所有项目。因此,如果您只想下载一个项目的源码,则可以单独下载(例如您想开发一款App,想了解SDK的部分源码,则可以下载基础项目)。

如何下载项目的代码?

用过git的同学肯定知道,可以使用如下命令获取远程仓库的代码:

git clone [仓库URL]

项目页面右栏给出了仓库URL,如下图(URL下方的文本框):

当然,如果您只是想配置“App源码调试”环境,可以点击“ZIP”按钮下载zip格式的源码包,然后在调试时选择下载的源码包。

如何批量下载源码

这里是本文的重点——批量下载的源码。

根据单独下载项目的流程,下载所有项目的源码有两种方法:

获取所有项目的git仓库URL以及获取所有项目的ZIP包下载链接

接下来的问题是如何获得这样的URL?

支付宝客服人工电话_支付宝自动扣费怎么关闭_github android支付

当然是来自网页(即页面的HTML文件)!

现在的问题是如何获取这些网页呢?

我立即想到的解决方案是使用 CURL

ps:CURL是一个命令行上传下载工具,支持HTTP、FTP等多种协议。

没有curl的同学可以使用以下命令下载:

sudo apt-get install curl

使用 CURL 来捕获页面,您不必担心获取仓库 URL 或 ZIP 包 URL:

首先我们需要爬取/的页面,然后“顺着线索”爬取各个项目的页面,然后从各个项目的页面中爬取仓库URL或者ZIP包URL。

抓取页面

在/页面下方,可以看到/分为5个页面。点击以下页面,你会发现这些页面的URL格式都是一样的:

https://github.com/android?page=N

其中,N代表“哪一页”,比如第二页,即

由此,您可以轻松编写使用 bash 脚本捕获这五个页面的代码(您可以直接在终端中执行以下命令):

for ((i=1; i<=5; i++)); do curl https://github.com/android?page=$i > android.github.com.$i.html; done

有一个捷径

查看项目的主页URL和仓库URL,我们可以发现:

支付宝自动扣费怎么关闭_支付宝客服人工电话_github android支付

仓库URL = 首页URL + .git

例如base的主页URL为:

https://github.com/android/platform_frameworks_base

仓库网址为:

https://github.com/android/platform_frameworks_base.git

当然,如果你有账号并且当前环境已经添加进去,你也可以使用ssh协议来下载(代替)。 ssh下载地址为:

git://github.com/android/platform_frameworks_base.git

可见,获取仓库URL更加简单,无需进一步搜索项目主页(下面仅介绍获取所有仓库URL)。

解析页面

现在的问题是——如何从这些页面中获取仓库的URL。

通过浏览器的“ ”菜单可以快速找到页面上某个链接对应的HTML代码块,如下图:

您可以看到基础项目的超链接 () 被标签包围。粗略浏览了一下刚才下载的几个子页面,可以看到各个项目主页的链接是这样的(下一行)。

根据刚刚查到的两条规则:

分享