AOSP(Android) 镜像使用帮助

本文提供两种AOSP源码初始同步方法:初次大规模同步可通过下载16G的AOSP镜像tar包实现,支持断点续传;第二种方法遵循Google官方教程,更换manifest源地址至中科大镜像。此外,还介绍了已有仓库如何切换至中科大源及不推荐的HTTP同步方式。
初始同步方法1
第一次同步数据量特别大,如果网络不稳定,中间失败就要从头再来了。所以我们提供了打包的 AOSP 镜像,为一个 tar 包,大约 16G(单文件 16G,注意你的磁盘格式要支持)。这样你 就可以通过 HTTP 的方式下载,该方法支持断点续传。
请注意对比 checksum。
然后根据下文  已有仓库如何改用科大源  的方法更改同步地址。
解压后用命令 repo sync 就可以把代码都 checkout 出来。
Note: tar包为定时从  https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/  下载。
初始同步方法2
将  https://android.googlesource.com/platform/manifest  替换为  git://mirrors.ustc.edu.cn/aosp/platform/manifest
具体做法摘录如下(以防墙抽风):
首先下载 repo 工具。
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo## 如果上述 URL 不可访问,可以用下面的:## curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repochmod a+x ~/bin/repo
然后建立一个工作目录(名字任意)
mkdir WORKING_DIRECTORYcd WORKING_DIRECTORY
初始化仓库:
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:## REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
如果需要某个特定的 Android 版本( Android 版本列表 ):
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.1_r1
同步源码树(以后只需执行这条命令来同步):
repo sync
已有仓库如何改用科大源
如果您已经从官方同步了 AOSP 仓库,现在希望使用科大的 AOSP 仓库,请修改  .repo/manifests.git/config ,将
url = https://android.googlesource.com/platform/manifest
修改成
url = git://mirrors.ustc.edu.cn/aosp/platform/manifest
即可。
通过 HTTP 协议同步(不推荐)
如果由于某种原因不能通过 git 协议同步,请修改  .repo/manifests.git/config ,将
url = git://mirrors.ustc.edu.cn/aosp/platform/manifest
修改成
url = http://mirrors.ustc.edu.cn/aosp/platform/manifest
不推荐使用 HTTP 协议同步,因为 HTTP 服务器不支持  repo sync  的  --depth  选项,可能导致部分仓库同步失败。
通过 HTTP 同步过程中可能提示 clone.bundle 404 错误,这是正常现象,可以忽略。
说明
  1. 本镜像每天凌晨 04:30 同步一次。同步可能需要较长时间,因此使用本镜像时建议避开凌晨 04:30~06:00 这段时间。
  2. 由于硬盘 I/O 资源有限,Git 服务器每 IP 限制 5 个并发连接。repo sync 命令默认使用 4 个并发连接,请勿使用 -j 参数增加并发连接数。
附录:Brillo
Brillo 项目的代码托管在 AOSP 项目中,Mirrors 镜像的是整个 AOSP 项目,所以自然也能从本镜像下载 Brillo 项目代码。
参考 Brillo 官方文档  https://developers.google.com/brillo/docs/reference/downloads  进行下载,将其中源码 manifest 地址 改为  git://mirrors.ustc.edu.cn/aosp/brillo/manifest 。 即:
repo init  时,使用  repo init -u git://mirrors.ustc.edu.cn/aosp/brillo/manifest -b master
### AOSP Android 11 系统构建与打包指南 AOSPAndroid Open Source Project)提供了完整的工具链和文档来支持开发者进行系统构建和打包。以下是对 AOSP Android 11 系统构建和打包的详细说明: #### 1. 构建环境准备 在开始构建 AOSP Android 11 系统之前,需要确保开发环境已经正确配置。官方推荐使用 Linux 或 Mac OS X 操作系统作为构建平台[^3]。对于 Windows 用户,可以通过 WSL(Windows Subsystem for Linux)实现类似的功能。 - 安装必要的依赖项: ```bash sudo apt update && sudo apt upgrade sudo apt install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 libncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip ``` - 下载 Repo 工具并初始化仓库: ```bash mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo ``` #### 2. 检出 AOSP Android 11 源码 通过 Repo 工具检出 AOSP Android 11 的源代码: ```bash repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_rXX repo sync ``` 其中 `android-11.0.0_rXX` 是具体的分支号,可以根据需求选择最新的稳定版本。 #### 3. 配置构建目标 进入源码目录后,需要根据目标设备选择合适的构建目标。例如,构建通用模拟器镜像可以使用以下命令: ```bash source build/envsetup.sh lunch aosp_arm-eng ``` 这里 `aosp_arm-eng` 表示构建一个适用于 ARM 架构的工程模式(Eng)镜像。其他选项包括 `user` 和 `userdebug`,分别用于生产环境和调试环境[^4]。 #### 4. 执行构建过程 启动构建过程时,可以指定线程数以加快速度: ```bash make -j$(nproc) ``` 或者使用 `m` 命令简化操作: ```bash m -j$(nproc) ``` #### 5. 打包镜像文件 构建完成后,生成的镜像文件通常位于 `out/target/product/<device_name>/` 目录下。常见的镜像文件包括: - `system.img`:系统分区镜像。 - `boot.img`:引导分区镜像。 - `userdata.img`:用户数据分区镜像。 - `recovery.img`:恢复模式镜像。 如果需要创建 OTA 更新包,可以运行以下命令: ```bash make otapackage ``` 这将生成一个包含增量更新和完整更新的 ZIP 文件。 #### 6. 使用 Soong 和 Ninja 加速构建 Soong 是 AOSP 中的新一代构建系统,取代了传统的 Makefile。Ninja 则是一种高效的构建工具,能够显著提升构建速度。通过 `build/soong/androidmk` 脚本,可以将旧版的 `Android.mk` 文件转换为新的 `Android.bp` 文件[^1]。 #### 7. RK 提供的一键编译脚本 某些厂商(如 Rockchip)提供了一键编译脚本来简化开发流程。例如,RK 的 `build.sh` 脚本支持多种参数组合,允许开发者快速构建特定模块[^2]。 --- ### 示例代码 以下是一个简单的构建脚本示例: ```bash #!/bin/bash # 初始化环境 source build/envsetup.sh # 选择构建目标 lunch aosp_arm-eng # 启动构建过程 make -j$(nproc) # 打包 OTA 更新包 make otapackage ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值