AOSP(Android Open Source Project) 代码库可为您提供所需信息和源代码,供您创建定制的 Android 操作系统版本,将设备和配件移植到 Android 平台。官网:https://source.android.google.cn/
下载repo
Repo Google开发的一个工具,整合多个 Git 代码库,自动执行 Android 开发工作流程的部分环节。不会取代 Git,只是为了让您在 Android 环境中更轻松地使用 Git。
ubuntu输入命令:
1
| sudo apt-get install git
|
配置环境变量:
1 2
| mkdir ~/bin PATH=~/bin:$PATH
|
安装curl:
1
| sudo apt-get install curl
|
下载repo并设置权限:
1 2
| curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo chmod a+x ~/bin/repo
|
安装python:
1
| sudo apt-get install python
|
下载源码
下载源码《方法一》
建立工作目录:
初始化仓库:
1
| repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
|
初始化并指定版本:
1
| repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.0.0_r15
|
同步源码树:
然后等待下载完毕,大概源码大小为 65G
1 2 3 4
| brooks@brooks-MiPro:~/aosp$ du -sh 65G
#我下载了N次,每次都会有小部分文件失败,然后编译,最终编译成功,但是模拟器跑步起来
|
下载源码《方法二》
方法一,任何网络故障大概率出现部分文件下载失败,强烈建议使用方法二。大概124G
1 2 3 4
| wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包 tar xf aosp-latest.tar cd AOSP # 解压得到的 AOSP 工程目录,此时只有一个隐藏的 .repo 目录 repo sync # 正常同步一遍即可得到完整目录 或 repo sync -l 仅checkout代码
|
此后,每次只需运行 repo sync
即可保持同步。 我们强烈建议您保持每天同步,并尽量选择凌晨等低峰时间
1 2 3
| aosp-latest.tar 100%[++++++++++===========================================================>] 123.57G 3.27MB/s 用时 9h 9m s
2021-07-23 08:40:22 (3.31 MB/s) - 已保存 “aosp-latest.tar” [132684083200/132684083200])
|
下载内核源码
AOSP源码中并不包括内核源码,需要单独下载,内核源码有很多版本,比如common是通用的Linux内核,msm是用于使用高通MSM芯片的Android设备,goldfish是用于Android模拟器的内核源码,这里以goldfish为例。
建立工作目录:
使用清华的镜像:
1
| git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git
|
注:大概率git下载失败,文件过大。网上搜增加git缓存-依然无效,后来想到国内gitee,借助它完美下载,速度超快。
1 2 3 4 5 6 7 8 9 10
| #完美解决-下载速度快 git clone https://gitee.com/gnosz/goldfish.git
正克隆到 'goldfish'... remote: Enumerating objects: 6038180, done. remote: Counting objects: 100% (6038180/6038180), done. remote: Compressing objects: 100% (916276/916276), done. remote: Total 6038180 (delta 5082037), reused 6034994 (delta 5079268), pack-reused 0 接收对象中: 100% (6038180/6038180), 1.29 GiB | 3.37 MiB/s, 完成. 处理 delta 中: 100% (5082037/5082037), 完成.
|
这时kernel目录中会生成一个goldfish文件夹,进入后使用git命令查看有哪些内核版本分支可以下载:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| cd goldfish
brooks@MiPro:~/kernel/goldfish$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/android-3.10 remotes/origin/android-3.18 remotes/origin/android-3.4 remotes/origin/android-4.14 remotes/origin/android-4.4 remotes/origin/android-goldfish-2.6.29 remotes/origin/android-goldfish-3.10 remotes/origin/android-goldfish-3.10-k-dev remotes/origin/android-goldfish-3.10-l-mr1-dev remotes/origin/android-goldfish-3.10-m-dev remotes/origin/android-goldfish-3.10-n-dev remotes/origin/android-goldfish-3.18 remotes/origin/android-goldfish-3.18-dev remotes/origin/android-goldfish-3.4 remotes/origin/android-goldfish-3.4-l-mr1-dev remotes/origin/android-goldfish-4.14-dev remotes/origin/android-goldfish-4.14-dev.120914098 remotes/origin/android-goldfish-4.14-dev.20190417 remotes/origin/android-goldfish-4.14-dev.backup remotes/origin/android-goldfish-4.4-dev remotes/origin/android-goldfish-4.9-dev remotes/origin/b12 remotes/origin/b120914098 remotes/origin/heads/for/android-goldfish-3.18-dev remotes/origin/linux-goldfish-3.0-wip remotes/origin/master remotes/origin/test remotes/origin/tparker-recovery
|
这里选择下载goldfish 3.4版本
1 2 3
| git checkout remotes/origin/android-goldfish-3.4
git switch -c origin/android-goldfish-3.4
|
感谢:
http://liuwangshu.cn/framework/aosp/2-download-aosp.html
https://source.android.google.cn/setup/start