Android AOSP源码编译——AOSP下载(一)

一、电脑配置

Ubuntu16.04 + 16G,硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式)
二、基础环境配置

1、安装git

bash 复制代码
sudo apt install git

配置git email和name

bash 复制代码
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

2、安装依赖工具(需要确认的就一直y就好)

bash 复制代码
sudo apt install git-core libssl-dev libffi-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libz-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

3、安装python

执行 python --version 可以看到ubuntu自带的python版本是Python 2.7.12,这里我们需要再安装一个python3

这里我是在下载文件夹打开终端执行下面命令进行下载

bash 复制代码
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

下载完成后解压

bash 复制代码
tar xvf Python-3.7.1.tgz

进入解压后的文件夹,编译安装python3

bash 复制代码
./configure
sudo make install

配置update-alternatives(用于处理 Linux 系统中软件版本的切换,使其多版本共存)

bash 复制代码
sudo update-alternatives --install /usr/bin/python python python的安装地址 权重号

我这边根据安装地址执行下面命令

bash 复制代码
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3

现在python2和python3都加入到update-alternatives工具了。

然后可以使用 sudo update-alternatives --config python来选择python版本

4、安装openjdk 8

bash 复制代码
sudo apt-get install openjdk-8-jdk

到这里我们的基本环境配置已经完成了,接下来开始下载并编译AOSP 源码。

三、下载AOSP源码

参考中科大AOSP镜像使用文档:https://mirrors.ustc.edu.cn/help/aosp.html

1、切换到用户目录下:cd ~

2、按照AOSP镜像使用文档输入命令

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

如果在执行curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo的时候失败了可以直接通过浏览器下载,复制到bin/下面也是那一样的。

接着执行

bash 复制代码
mkdir aosp
cd aosp

指定版本代码进行仓库初始化

bash 复制代码
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r45

如果提示无法连接到 gerrit.googlesource.com
可以按照文档编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
再次执行初始化仓库命令,会发现出现server certificate verification failed,如下
这时候我们可以关闭git的SSL校验

bash 复制代码
git config --global http.sslverify false
git config --global https.sslverify false

然后再次执行初始化仓库命令,需要y的直接y就好。

最后执行repo sync完成源码下载,下载的过程比较慢,如果中途失败可以多尝试几次。
到这里我们的源码就下载完成了,接下来就是对源码进行编译了

相关推荐
王泰虎2 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
2601_949543015 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
2601_949833396 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘6 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
鸟儿不吃草7 小时前
android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed
android·retrofit
Minilinux20187 小时前
Android音频系列(09)-AudioPolicyManager代码解析
android·音视频·apm·audiopolicy·音频策略
李子红了时7 小时前
【无标题】
android
Android系统攻城狮8 小时前
Android tinyalsa深度解析之pcm_close调用流程与实战(一百零四)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal
weixin_411191848 小时前
LifecycleEventObserver和DefaultLifecycleObserver使用
android
、BeYourself9 小时前
Intent :跳转与数据传递的正确打开方式
android·android-studio