首页 > 其他分享 >AOSP下载编译

AOSP下载编译

时间:2024-05-15 11:08:38浏览次数:24  
标签:git 编译 repo AOSP 镜像 Android android 下载

本例程使用清华镜像站提供的AOSP。

1. Android 镜像使用帮助

注意: 本镜像是 AOSP 镜像,Android SDK因版权原因,我们不能提供镜像服务。

可访问 <https://cs.android.com> 或 <https://github.com/aosp-mirror> 在线搜索及浏览 AOSP 源码。

参考 Google 教程 <https://source.android.com/setup/build/downloading>, 将 <https://android.googlesource.com/> 全部使用 <https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/> 代替即可。

由于使用 HTTPS 协议更安全,并且更便于我们灵活处理,所以强烈推荐使用 HTTPS 协议同步 AOSP 镜像。

由于 AOSP 镜像造成CPU/内存负载过重,我们限制了并发数量,因此建议:

sync的时候并发数不宜太高,否则会出现 503 错误,即-j后面的数字不能太大,建议选择4。

请尽量选择流量较小时错峰同步。

2. 过程摘录

(参考 <https://lug.ustc.edu.cn/wiki/mirrors/help/aosp> 编写)

下载 repo 工具:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

或者使用tuna的git-repo镜像。

2.1 使用每月更新的初始化包

由于首次同步需要下载约 60GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 <https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar>,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

$ curl -OC - https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
$ tar xf aosp-latest.tar
$ cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
$ repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

此后,每次只需运行 repo sync 即可保持同步。 我们强烈建议您保持每天同步,并尽量选择凌晨等低峰时间。

2.2 传统初始化方法

建立工作目录:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

初始化仓库:

$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

如果提示无法连接到 gerrit.googlesource.com,请参照git-repo的帮助页面的更新一节。

如果需要某个特定的 Android 版本(列表):

简单列表:

Name Tag API Level
Android 14 android-14.0.0_r33 34
Android 13 android-13.0.0_r78 33
Android 12 android-12.1.0_r11 31
Android 11 android-11.0.0_r46 30
Android 10 android-10.0.0_r41 29
Android 9 android-9.0.0_r46 28
Android 8.1 android-8.1.0_r52 27
Android 7.1 android-7.1.2_r28 25
Android 6 android-6.0.1_r81 23
Android 5.1 android-5.1.1_r30 22
Android 4.4 android-4.4.4_r1 19

执行:

$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r11

同步源码树(以后只需执行这条命令来同步):

$ repo sync -j4

3. 建立次级镜像

由于 AOSP 镜像需求量巨大,且 Git 服务占资源较多,TUNA 服务器因 AOSP 产生的负载已经占主要部分。 如果你是团队用户,我们强烈建议你通过 TUNA 建立次级镜像,再分享给团队内其他用户,减轻 TUNA 服务器压力。 建立 AOSP 镜像需要占用约 850G 磁盘。

具体步骤为:

下载 repo 工具和建立工作目录(略)

初始化:

$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/mirror/manifest --mirror

最后同步源码树:

$ repo sync -j4

同步完成后,运行:

# (WORKING_DIR为代码树所在目录) 
$ git daemon --verbose --export-all --base-path=WORKING_DIR WORKING_DIR

此后,其他用户使用 <git://ip.to.mirror/> 作为镜像即可。

4. 替换已有的 AOSP 源代码的 remote

如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后), 你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要修改:

.repo/manifests.git/config

将其中的:

url = https://android.googlesource.com/platform/manifest

更改为:

url = https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

或者可以不修改文件,而执行:

$ git config --global url.https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/.insteadof https://android.googlesource.com

5. FAQ

1. 镜像的是什么?

A: AOSP 的 git 仓库

 

2. 为何不能通过浏览器访问?

A: 暂时没有 gitweb, 而且反正是 git bare 仓库,没有可以直接看到的内容。

A: 建议访问 <https://cs.android.com> 或 <https://github.com/aosp-mirror> 在线搜索及浏览 AOSP 源码。

 

3. 出现 curl: (22) The requested URL returned error: 404 Not Found Server does not provide clone.bundle; ignoring. 怎么办?

A: 无视即可。

 

参见:<https://github.com/tuna/issues/issues/936>

6. 安装开发环境

Ubuntu 22.04:

$ sudo apt update
$ sudo apt install openjdk-11-jdk
$ sudo apt install build-essential flex bison gawk bc git ssh \
        g++-multilib gcc-multilib gperf libxml2-utils zlib1g-dev:i386 \
        zip unzip liblz4-tool libncurses-dev libssl-dev python-is-python3 \
        u-boot-tools file curl

 

7. 编译

配置:

$ cd android-12.1.0_r11/
$ source build/envsetup.sh
$ lunch aosp_arm-eng

编译:

$ m -j16

或者:

$ make -j16

8. 运行

$ emulator

9. 参考

清华大学 AOSP.

索尼编译 Android 11.

标签:git,编译,repo,AOSP,镜像,Android,android,下载
From: https://www.cnblogs.com/phoebus-ma/p/18193469

相关文章

  • 如何优化Unity发布iOS编译出来的Framework文件过大问题
    1)如何优化Unity发布iOS编译出来的Framework文件过大问题2)ScriptableBuildPipeline打包ScritptableObject报错3)APK在OPPO上报编译错误4)如何在Sequence中模拟我的蓝图这是第385篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全......
  • Docker 编译安装Nginx正向代理
    先记录一波正向代理#makebaseimage.FROMdebian:bookworm-20240423-slimASbaseLABELmaintainer="RocSun<[email protected]>"RUNrm-rf/etc/apt/sources.list.d/*\&&echo"">/etc/apt/sources.list\&&ech......
  • 广东各高校2023/2022/2021近三年录取分数线(excel文件下载)
    为了帮助考生更好地进行志愿填报,更好的对数据筛选,故整理广东各高校2023/2022/2021三年录取分数excel文件,部分数据及文件见下图,数据根据历年录取分数线汇总,仅供参考,详细请登陆各高校网站查询。如有需要,可根据步骤下载文件:文件列表及数据如下图所示,真实有效。关注上述公众......
  • huggingface 下载仓库里的内容
    首先找到单个文件,点那个下载按钮可以直接下载,又可以右键+复制链接地址,然后在服务器上用wget等方式下载这个链接就可以了。下面讲讲下载整个仓库:参考:https://blog.csdn.net/abc13526222160/article/details/134856943先:#安装依赖pipinstall-Uhuggingface_hub再切换源......
  • macOS Ventura 13.6.7 (22G720) 正式版发布,ISO、IPSW、PKG 下载
    macOSVentura13.6.7(22G720)正式版发布,ISO、IPSW、PKG下载5月14日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7安全更新。macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。请访问原文链接:https://sysin.org/blog/macOS-Ventura/,查看最......
  • macOS Monterey 12.7.5 (21H1222) 正式版发布,ISO、IPSW、PKG 下载
    macOSMonterey12.7.5(21H1222)正式版发布,ISO、IPSW、PKG下载5月13日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7和macOSMonterey12.7.5安全更新。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者......
  • macOS Ventura 13.6.7 (22G720) Boot ISO 原版可引导镜像下载
    macOSVentura13.6.7(22G720)BootISO原版可引导镜像下载5月14日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7安全更新。macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下......
  • macOS Monterey 12.7.5 (21H1222) Boot ISO 原版可引导镜像下载
    macOSMonterey12.7.5(21H1222)BootISO原版可引导镜像下载5月13日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7和macOSMonterey12.7.5安全更新。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在......
  • 零操作,高效下载:利用Playwright和Python完成文件下载
    前言Playwright是一个由Microsoft开发的跨浏览器自动化测试工具,它提供了强大的功能来模拟用户在浏览器中的操作。Playwright还可以应用于诸如文件下载等实际场景的测试。本文将介绍如何利用Playwright在Python中实现文件下载功能。文件下载文件下载也是我们进行web自......
  • 庆余年2全集下载/电视剧庆余年第二季迅雷高清bt完整版
    《庆余年2》:谱写壮丽篇章,延续传奇情怀当《庆余年2》全集火热上线时,电视剧迷们再一次沉浸在这部剧的世界中。继第一季的热播之后,第二季以更加精彩的剧情、更加出彩的演员阵容,再次征服了观众的心。这部作品以其独特的魅力,再次引爆了观众的热情,成为了当下最受关注的电......