Android 13源码下载

参考文章
https://blog.csdn.net/devnn/article/details/131868022?spm=1001.2014.3001.5506

清华源不可用时使用

root@DESKTOP-1VVCCHG:/home/zhd/aosp_13# repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60

Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

fatal: unable to access 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/': The requested URL returned error: 403

repo: error: "git" failed with exit status 128

cwd: /home/zhd/aosp_13/.repo/repo.tmp

cmd: 'git', 'fetch', '--quiet', '--progress', 'origin', '+refs/heads/\*:refs/remotes/origin/\*', '+refs/tags/\*:refs/tags/\*'

fatal: double check your --repo-rev setting.

fatal: cloning the git-repo repository failed, will remove '.repo/repo'

看起来你在使用中科大镜像初始化 AOSP 13 代码库时遇到了 403 访问被拒绝的错误。这个问题通常与镜像站的访问限制或网络配置有关,我会帮你一步步解决。

下面这个表格汇总了核心的解决方案,你可以根据实际情况尝试。

解决方向 具体方法 适用场景
统一镜像源 设置 REPO_URL环境变量,让 repo工具也从中科大镜像下载。 从混合使用镜像源(如AOSP用中科大,repo工具用清华)导致的认证问题。
彻底清理重试 删除 .repo目录,重新执行初始化命令。 初始化过程中断,残留的临时文件导致后续尝试失败。
调整网络配置 降低并发连接数,或检查代理和hosts设置。 镜像服务器对单IP的并发请求数有限制,或网络环境有特殊配置。
使用离线包 下载中科大提供的AOSP月度打包快照。 网络环境不稳定,希望通过HTTP(S)断点续传完成大部分数据下载。

🔧 解决方案详解

1. 设置Repo工具镜像源

你遇到的错误信息显示,虽然你指定了中科大的AOSP镜像,但 repo工具自身仍然在尝试从清华镜像站下载它的更新,这可能导致了一些冲突。最直接的解决方案是统一镜像源

  • 设置环境变量 :在执行 repo init命令前,先设置 REPO_URL环境变量,告诉 repo工具也从中科大镜像获取更新 。

    复制代码
    export REPO_URL='https://mirrors.ustc.edu.cn/aosp/git-repo'
  • 使其永久生效 :为了避免每次打开新终端都需要设置,可以将这行命令添加到你的 ~/.bashrc~/.zshrc文件末尾,然后执行 source ~/.bashrc

设置完成后,再重新运行你的初始化命令。

2. 清理现场并重新初始化

如果之前的初始化尝试失败了,可能会留下一些不完整的临时文件,干扰下一次尝试。在调整环境变量后,一个干净的重试通常能解决问题。

  • 删除残留目录 :在AOSP源码目录下,删除初始化生成的 .repo文件夹。

    复制代码
    rm -rf /home/zhd/aosp_13/.repo
  • 重新初始化:再次执行初始化命令。

    复制代码
    repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60
3. 调整网络和并发设置

403错误有时也因为镜像服务器对单个IP的并发连接数有限制(例如中科大镜像建议每IP不超过5个连接),以防止滥用 。

  • 降低并发数 :在同步时,显式指定较少的并发任务数。你可以尝试使用更小的数字,如 -j2

    复制代码
    repo sync -j2
  • 检查代理和hosts设置 :如果你处于需要网络代理的环境(如公司网络),请确保已正确配置代理环境变量。反之,如果你不需要代理,请检查是否设置了 HTTP_PROXYHTTPS_PROXY等环境变量,临时取消它们再试 。同时,检查 /etc/hosts文件,确保没有强制将镜像站域名指向某个可能不可用的IP地址。

4. 使用离线包(终极方案)

如果网络始终不稳定,最可靠的方法是使用中科大镜像提供的AOSP月度打包快照。这是一个约80GB的完整tar包,支持HTTP(S)下载,具备断点续传功能,非常适合网络条件差的情况 。

  1. 下载打包快照 :从 https://mirrors.ustc.edu.cn/aosp-monthly/下载最新的 aosp-latest.tar文件。

  2. 解压:解压后会得到一个包含完整AOSP代码历史的目录。

  3. 切换到指定分支 :进入解压后的目录,执行初始化命令切换到你需要android-13.0.0_r60分支即可。

    复制代码
    tar xf aosp-latest.tar
    cd aosp-2024-03-01  # 解压后生成的目录名
    repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60
    repo sync

💡 试试这样操作

我建议你按顺序尝试以下步骤,这通常能解决大部分问题:

  1. 首先,设置环境变量并清理重试。这是最常见有效的办法。

    复制代码
    export REPO_URL='https://mirrors.ustc.edu.cn/aosp/git-repo'
    rm -rf /home/zhd/aosp_13/.repo
    repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60
  2. 如果上述步骤仍然报错 ,在执行 repo sync时加上 -j2参数,降低并发数。

  3. 如果问题持续,检查你的网络环境,暂时取消任何代理设置。

  4. 作为最后的备选方案,考虑下载离线打包快照,这是绕过网络问题最彻底的方式。

相关推荐
summerkissyou19878 小时前
Android - 摄像头 - hal - 开发教程,例子,常见问题,分析方法,解决方案
android
summerkissyou19879 小时前
Android 16 架构图
android
神龙天舞200110 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
码农coding13 小时前
android12 systemUI 之锁屏
android
圆山猫13 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
爱笑鱼13 小时前
Binder(七):getCallingUid() 读到的是谁?clearCallingIdentity() 又清掉了什么?
android
2501_9159090619 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
Lvan的前端笔记19 小时前
AndroidX 完全入门指南
android·androidx
帅次20 小时前
Android 应用高级面试:Window 近1年高频追问 18 题
android·面试·职场和发展
总捣什么乱120 小时前
MySQL MySQL是怎么保证主备一致的?
android·mysql·adb